[Cotlet](https://cotlet.dev/index.md) · [Integrations](https://cotlet.dev/integrations.md) · [How it works](https://cotlet.dev/how-it-works.md) · [Security](https://cotlet.dev/security.md) · [For developers](https://cotlet.dev/for-developers.md) · [For automation agencies](https://cotlet.dev/for-agencies.md) · [Blog](https://cotlet.dev/blog.md) · [API docs](https://cotlet.dev/docs.md) · [Help center](https://cotlet.dev/help.md) · [Changelog](https://cotlet.dev/changelog.md) · [Contact](https://cotlet.dev/contact.md) · [Pricing](https://cotlet.dev/pricing.md) · [Sign up](https://cotlet.dev/signup)

# GoHighLevel API and MCP server: Let your AI agent build your HighLevel workflows.

> Yes. HighLevel has a public REST API and official MCP servers with more than 550 operations (checked 27 Oct 2026). Its workflow create and update endpoints work only on selected sub-accounts, and its funnels API only lists. Cotlet runs 13 tools hosted for the rest, over MCP for agents and REST for scripts.

Read GoHighLevel workflows, statistics and funnel steps through MCP or REST. Connect your sub-account to an AI agent, reporting workflow or script.

[MCP setup](https://cotlet.dev/integrations/gohighlevel-api-mcp-server.md#connect)
[REST API guide](https://cotlet.dev/integrations/gohighlevel-api-mcp-server.md#rest-api)

- Free 7-day trial, no card
- Unofficial, not affiliated with HighLevel
- Page: https://cotlet.dev/integrations/gohighlevel-api-mcp-server

## What can you automate in GoHighLevel?

- Build a workflow from a brief
- Rank workflows by trigger match rate
- Test a workflow on a contact
- Read what changed in a workflow
- Publish or pause a workflow
- Set funnel page titles and descriptions

## Does GoHighLevel have an MCP server or an API?

- The official MCP server uses OAuth, works on one sub-account per request and shows the agent five tools that search and run the operations.
- Any other sub-account gets "403 WORKFLOW_API_NOT_ENABLED_FOR_LOCATION" on Create Workflow and Update Workflow Definition. HighLevel marks both "Limited availability".
- The funnels API has three read endpoints: funnels, funnel pages and the page count. It cannot edit a page or publish.
- Zapier and n8n both list HighLevel. They call the same API.

| What you need | Official MCP | GitHub server | Cotlet |
|---|---|---|---|
| Contacts, conversations, opportunities, payments | Yes, 550+ operations | Yes, through the API | Use the official MCP |
| Build a workflow on any sub-account | Selected sub-accounts only | Same limit | Yes, as a draft |
| Version history and test runs | No endpoint | No endpoint | Yes |
| Funnel page SEO and publish | Read only | Read only | Yes, publish after your OK |
| Allowed by HighLevel's terms | Yes, official | Yes, official API | Uses the web app |

Checked 27 Oct 2026. Sources: [HighLevel API: LeadConnector MCP Server](https://marketplace.gohighlevel.com/docs/other/mcp), [HighLevel API: Workflows](https://marketplace.gohighlevel.com/docs/ghl/workflows/workflows), [HighLevel API: Funnels](https://marketplace.gohighlevel.com/docs/ghl/funnels/funnel), [HighLevel Support: Workflow Builder Walkthrough](https://help.gohighlevel.com/support/solutions/articles/155000001254-workflow-builder-walkthrough), [HighLevel pricing](https://www.gohighlevel.com/pricing)

## How does Cotlet connect to GoHighLevel?

1. **Sign in to GoHighLevel.** Use your own account in its Cotlet Cloud Browser.
2. **Choose MCP or REST.** Connect your agent or create a Cotlet API key.
3. **Run your workflow.** Ask your agent or send an HTTP request.

We never keep your HighLevel password, and no workflow goes live until you approve it.

## Connect GoHighLevel to your agent or workflow

Use MCP with your AI agent, or HTTP requests in n8n, Make, Zapier and scripts. Follow the MCP setup below or jump to the REST guide.

1. **Enable GoHighLevel for agents.** Sign up, log in to HighLevel in its Cloud Browser, then press Enable for agents.
2. **Paste the Cotlet address.** Add https://cotlet.dev/mcp/v1 as an MCP server or connector in your agent.
3. **Approve the connection.** Chat apps ask you to sign in to Cotlet. Editors, n8n and scripts use an API key from the console.

One shared address, `https://cotlet.dev/mcp/v1`, also carries HighLevel next to your other apps. Keep HighLevel's own MCP server connected for contacts and conversations; Cotlet adds the builder tools next to it. If you enable HighLevel after connecting, refresh the connector so the new tools show up.

Claude:

```
Settings > Connectors > Add custom connector
URL: https://cotlet.dev/mcp/v1/connect

Claude Code:
claude mcp add --transport http cotlet-gohighlevel \
  https://cotlet.dev/mcp/v1 \
  --header "Authorization: Bearer $COTLET_API_KEY"
```

ChatGPT:

```
Settings > Apps & Connectors > Create
MCP server URL: https://cotlet.dev/mcp/v1/connect
Authentication: OAuth
```

Cursor:

```
// ~/.cursor/mcp.json
{
  "mcpServers": {
    "cotlet-gohighlevel": {
      "url": "https://cotlet.dev/mcp/v1",
      "headers": { "Authorization": "Bearer ${env:COTLET_API_KEY}" }
    }
  }
}
```

Codex:

```
# ~/.codex/config.toml
[mcp_servers.cotlet-gohighlevel]
url = "https://cotlet.dev/mcp/v1"
bearer_token_env_var = "COTLET_API_KEY"
```

n8n:

```
MCP Client Tool (inside an AI Agent)
Transport: HTTP Streamable
URL: https://cotlet.dev/mcp/v1
Auth: Bearer, <your key>
Tool: gohighlevel_read
```

Make, Zapier:

```
Make: MCP Client > Call a tool
Zapier: MCP Client by Zapier > Run Tool
Server URL: https://cotlet.dev/mcp/v1
Token: <your key>
Tool: gohighlevel_write
```

## How to use the GoHighLevel REST API

### Create your Cotlet API key

Create a Cotlet API key with access to GoHighLevel and its read operations. Store it as `COTLET_API_KEY` in your environment or automation platform's credential store.

Sign in to GoHighLevel in its Cotlet Cloud Browser and enable the app for agents. Your sub-account user needs permission for Automation > Workflows and Sites > Funnels.

### Make your first GoHighLevel API request

REST:

```
curl https://cotlet.dev/api/v1/gohighlevel/workflows \
  -H "Authorization: Bearer $COTLET_API_KEY"
```

### Read workflows and inspect their current state

A successful REST call puts the tool output in `result`. This illustrative response excerpt omits call IDs, messages and credit details.

Illustrative response excerpt:

```
{
  "status": "success",
  "app": "gohighlevel",
  "tool": "list_workflows",
  "result": {
    "workflows": [
      {
        "id": "wf_1042",
        "name": "New lead follow-up",
        "status": "published"
      }
    ]
  }
}
```

Read `result.workflows`; workflow listing has no pagination input. Use a returned workflow `id` for details, statistics and version reads.

Filter by status or name query when needed. Compare draft or published state and current statistics as well as IDs when refreshing an audit.

Funnel and workflow access follows the selected sub-account. These reporting reads do not edit, publish or enroll contacts in an automation.

### GoHighLevel workflows for agents and automations

| Tool | Connect through | Example workflow |
|---|---|---|
| n8n | HTTP Request | Read workflow lists and details into a trigger-and-action audit without editing or publishing workflows. |
| Make | HTTP > Make a request | Combine workflow IDs and statistics into a sub-account automation performance report. |
| Python or Node.js | REST API | Read funnels and their steps into a page-title and description review sheet without changing pages. |

Send `Authorization: Bearer <your Cotlet API key>` in request headers. You configure the schedule, destination and record comparisons.

Cotlet reads GoHighLevel; your workflow steps write to your chosen destination. These HTTP workflows do not require a native Cotlet connector or a prebuilt template.

Python and Node.js can use the same HTTP requests without an AI agent. Keep access keys in credentials, outside shared workflow exports.

The [API and MCP reference](https://cotlet.dev/integrations/gohighlevel-api-mcp-server.md#tools) lists operations and inputs. The [REST API guide](https://cotlet.dev/docs/api.md) explains authentication, errors and approvals.

## GoHighLevel API endpoints and MCP tools

### Read workflows

Read only. Stats cover the last 30 days for triggers, as Stats View does, and HighLevel does not let you edit a workflow while Stats View is on.

- **List workflows** (`list_workflows`, read): Lists the workflows in the sub-account with their status.
- **Get a workflow** (`get_workflow`, read): Returns the triggers and actions of one workflow, in order.
- **Get workflow stats** (`get_workflow_stats`, read): Returns trigger and communication-action statistics for one workflow.
- **List workflow versions** (`list_workflow_versions`, read): Lists the saved versions in a workflow history.

### Build and publish workflows

Triggers and actions go into drafts only. Publishing and test runs wait for your OK, because they can message contacts.

- **Create a workflow** (`create_workflow`, write): Creates an empty draft workflow.
- **Add a workflow trigger** (`add_workflow_trigger`, write): Adds one trigger to a draft workflow.
- **Add a workflow action** (`add_workflow_action`, write): Adds one action to a draft workflow.
- **Publish or unpublish a workflow** (`set_workflow_status`, write, asks first): Switches a workflow between draft and published.
- **Test a workflow** (`test_workflow`, write, asks first): Runs a workflow once on one contact with Test Workflow.

### Funnels

Saving a page change and publishing are separate in HighLevel, and here too. Nothing goes live until publish_funnel runs.

- **List funnels** (`list_funnels`, read): Lists the funnels in the sub-account.
- **List funnel steps** (`list_funnel_steps`, read): Lists the steps of a funnel with their page name and URL path.
- **Update funnel page SEO** (`update_funnel_page_seo`, write): Sets the title and meta description of one funnel step.
- **Publish a funnel** (`publish_funnel`, write, asks first): Publishes the saved version of a funnel.

Inputs, REST path and example response of every tool: https://cotlet.dev/integrations/gohighlevel-api-mcp-server#tools

## Who can see my HighLevel session, and how do I revoke it?

- **What we store.** Your logged-in HighLevel profile, encrypted with AES-256-GCM, in Finland. Not the password.
- **What your agent gets.** The 13 GoHighLevel tools. Never the cookie.
- **What the session sees.** The sub-account you open: workflows, funnels, and the contacts a workflow touches.
- **What no tool touches.** Billing, plan, password, two-factor and deleting.
- **If HighLevel asks to verify.** A new device may ask for a code. You type it in, we never do.
- **How to cut access.** Disable for agents, reset the browser, or sign out of the session in HighLevel.

Our site scores A+ on Qualys SSL Labs, securityheaders.com and Mozilla Observatory ([live results](https://cotlet.dev/security.md)). There is no SOC 2 report or third-party pentest yet.

## Is it against HighLevel's terms? Account safety

> Use of any robot, spider or other automatic device, process or means to access the Platform for any purpose, including monitoring or copying any of the material on the Platform.
>
> [HighLevel Terms of Service, Code of Conduct, last updated June 2026](https://www.gohighlevel.com/terms-of-service)

The same list bans use that could "disable, overburden, damage, or impair the Platform". The clause has no exception for the official API. If your job fits the API or the official MCP server, use them: they are the sanctioned route. Cotlet works through the HighLevel web app in your own login, but HighLevel could still read it as automation. We found no public case of a HighLevel account closed for automation (checked 27 Oct 2026).

How we keep your account looking like you:

- Your own HighLevel login, signed in by you
- One Cloud Browser with its own IP and cookies, so no new-device check every call
- Publishing and test runs wait for your OK
- No tool deletes a workflow, funnel or contact
- If HighLevel objects, we pause the GoHighLevel tools for everyone within 24 h

> Build in a draft first. A published workflow starts messaging contacts, so read the draft with get_workflow before you approve.

## What happens when HighLevel changes?

- **12 h** between tests of the GoHighLevel reads and drafts
- **24 h** between tests of publishing and test runs
- **$0** for a call to a GoHighLevel tool paused for repair

HighLevel ships builder changes often. When it moves a button or renames a field, the fix happens on our side and your prompts keep working. [status.cotlet.dev](https://status.cotlet.dev) watches the site, console and API every 3 minutes.

## Approvals, undo and mistakes

1. **Drafts it.** create_workflow starts empty and unpublished.
2. **Adds trigger and actions.** Each one is saved in the draft, nothing is sent.
3. **Waits for your OK.** The test run or publish shows up in your Cotlet console first.
4. **Reports the result.** Status, steps and what the test run did for each step.

| Action | Undo |
|---|---|
| Create a workflow | Remove it from the Workflow List in HighLevel |
| Add a trigger or action to a draft | Edit or delete the step in the Workflow Builder, or restore a version from History |
| Publish a workflow | Switch it back to draft; contacts already enrolled keep their place |
| Test a workflow | No, messages the test sent are out |
| Save funnel page SEO | Change the fields again; it is not live until published |
| Publish a funnel | Publish an earlier saved version |

3 of 13 tools ask first: set_workflow_status, test_workflow and publish_funnel, the three that can reach contacts or visitors. Drafts, triggers, actions and SEO fields reach nobody, so they run at once. Switch the wait off per tool for a scheduled run.

> HighLevel says changes to upcoming actions reach contacts already in a published workflow. The agent edits drafts only.

MCP call:

```
{
  "name": "create_workflow",
  "arguments": {
    "name": "New lead follow-up"
  }
}
```

REST:

```
curl -X POST https://cotlet.dev/api/v1/gohighlevel/workflows \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"New lead follow-up"}'
```

Tool output:

```
{
  "id": "wf_1120",
  "name": "New lead follow-up",
  "status": "draft"
}
```

Scripts and cron jobs reach the same tools over REST at `/api/v1/gohighlevel`, with the same key and price. A failed call costs nothing. The tools table lists the REST path of each tool.

## How much does the GoHighLevel MCP server cost?

**About $14 a month** for a sub-account that builds 4 workflows a month, 2,390 credits. Your HighLevel plan is billed by HighLevel as before.

| Job | Calls | Credits |
|---|---|---|
| Build a workflow from a brief | 7 × 4 | 280 |
| Weekly workflow stats report | 9 × 4 | 360 |
| Test and publish a workflow | 3 × 4 | 120 |
| Read a workflow history | 2 × 2 | 40 |
| Fix funnel page titles | 9 × 1 | 90 |
| Cloud Browser, 30 days |  | 1,500 |
| Total |  | 2,390 |

- Free 7-day trial, no card
- 10 credits per successful call, MCP or REST
- 50 credits a day for the Cloud Browser
- No HighLevel API plan needed, only a login

The month is our example: 4 new workflows, a weekly report over 8, and one funnel SEO pass. HighLevel's own plans run $97, $297 or $497 a month, with "Basic API Access" on the $297 plan. Dollars at the $29 pack rate.

## GoHighLevel MCP server: official, GitHub or hosted

| Option | What it does | Where it stops |
|---|---|---|
| [HighLevel official MCP server](https://marketplace.gohighlevel.com/docs/other/mcp) | OAuth, more than 550 read, create, update and delete operations, per-client endpoints for Claude, ChatGPT, Codex and Cursor. | Workflow create and update work on selected sub-accounts only. Funnels are read only. |
| [BusyBee3333/Go-High-Level-MCP-2026-Complete](https://github.com/BusyBee3333/Go-High-Level-MCP-2026-Complete) | Community server, 123 stars, last push 11 Sep 2026, claims 927 tools on the v3 API. | Calls the API with your token, so the same endpoint limits apply. The README points to a separate product for workflow building. |
| [mastanley13/GoHighLevel-MCP](https://github.com/mastanley13/GoHighLevel-MCP) | Community server, 195 stars. | Last push 6 Jul 2025. |
| [tenfoldmarc/ghl-mcp](https://github.com/tenfoldmarc/ghl-mcp) | Community server for Claude Code, 19 stars, 70+ tools. | Workflow tools: list and add a contact to a workflow. |
| Zapier and n8n | Both list HighLevel and call its API. | Same endpoints, so no workflow building where the API is closed. |

For contacts, conversations, calendars, opportunities and payments, connect HighLevel's official server: it is free, hosted and sanctioned. Cotlet is for the builder jobs it does not cover on your account. A community server saves you a Cotlet bill and costs you the upkeep.

## Who runs Cotlet

Take Group sp. z o.o. runs Cotlet. It is a software company registered in Poland, EU (VAT PL6342984273), working since 2019, founded by Bart Krawczyk (Co-founder, CTO) and Jake Slugocki (Co-founder, SEO, sales and marketing). Write to contact@cotlet.dev with questions about the GoHighLevel tools.

## GoHighLevel API and MCP: questions

### Can I use the GoHighLevel API without an AI agent?

Yes. Call Cotlet's REST API from a script or an HTTP step in n8n, Make or Zapier with your Cotlet key. MCP is the alternative for AI agents; you do not need to connect an agent to use REST.

### How do I get access?

Create a free account at https://cotlet.dev, open GoHighLevel under Integrations in the console and log in to HighLevel in its Cloud Browser. The trial starts with your first app, no card asked.

### Which HighLevel plan includes API access?

HighLevel's pricing page lists Basic API Access on the Unlimited plan and Advanced API Access on Agency Pro, and does not list API access on Starter (checked 27 Oct 2026). Cotlet works in your signed-in session instead of an API token, so it needs the HighLevel login, not an API plan.

### Why does HighLevel's own MCP not edit my workflows?

HighLevel documents its workflow create and update endpoints as limited availability, enabled for selected sub-accounts only. Any other sub-account receives 403 WORKFLOW_API_NOT_ENABLED_FOR_LOCATION. Reading the workflow list works without that.

### Do HighLevel terms allow an agent in my account?

HighLevel's Terms of Service (last updated June 2026) list as prohibited "Use of any robot, spider or other automatic device, process or means to access the Platform for any purpose, including monitoring or copying any of the material on the Platform." HighLevel documents the API and MCP servers as its route for automation. Cotlet works in your own signed-in session and does not bypass MFA or CAPTCHAs; read the terms and decide for your account.

### Does HighLevel have webhooks?

Yes. HighLevel documents a Webhook Integration Guide and a Webhook Logs Dashboard. Cotlet does not replace them: use webhooks for events and run your agent for the builder jobs.

### Can I use HighLevel's official MCP server and Cotlet together?

Yes. Connect both to the same agent. The official one handles contacts, conversations, calendars, opportunities and payments, and Cotlet handles the workflow builder and funnel pages.

### Is the MCP server different from the REST API?

Only the door is different. Both expose the same 13 tools, inputs and answers, with one API key and one price. Agents use MCP; scripts and HTTP steps use REST.

### Is Cotlet affiliated with HighLevel?

No. Cotlet is independent and not affiliated with HighLevel.

---

Give your AI agents your signed-in browser.

**Product:** [Integrations](https://cotlet.dev/integrations.md) · [How it works](https://cotlet.dev/how-it-works.md) · [Pricing](https://cotlet.dev/pricing.md) · [Security](https://cotlet.dev/security.md)

**Resources:** [Blog](https://cotlet.dev/blog.md) · [API docs](https://cotlet.dev/docs.md) · [Help center](https://cotlet.dev/help.md) · [Changelog](https://cotlet.dev/changelog.md) · [GitHub](https://github.com/cotletdev/cotlet)

**Solutions:** [For developers](https://cotlet.dev/for-developers.md) · [For automation agencies](https://cotlet.dev/for-agencies.md)

**Company:** [About](https://cotlet.dev/about.md) · [AI info: company facts](https://cotlet.dev/ai-info.md) · [Contact](https://cotlet.dev/contact.md)

**Legal:** [Terms of service](https://cotlet.dev/terms) · [Privacy policy](https://cotlet.dev/privacy) · [Refund policy](https://cotlet.dev/refunds) · [Acceptable use](https://cotlet.dev/acceptable-use) · [Cookie policy](https://cotlet.dev/cookies) · [DPA](https://cotlet.dev/dpa) · [Subprocessors](https://cotlet.dev/subprocessors)

**Elsewhere:** [Status page](https://status.cotlet.dev) · [Cotlet on GitHub](https://github.com/cotletdev) · [Cotlet on X](https://x.com/cotletdev) · [Cotlet on LinkedIn](https://www.linkedin.com/company/cotletdev) · [Cotlet on Product Hunt](https://www.producthunt.com/products/cotlet) · [Cotlet on Crunchbase](https://www.crunchbase.com/organization/cotlet) · [Cotlet on SaaSHub](https://www.saashub.com/cotlet)

Cotlet.dev is built by Bart Krawczyk and Jake Slugocki, the founders of Take Group sp. z o.o., ul. Wincentego Janasa 4, 40-855 Katowice, Poland. KRS 0000871398, NIP 6342984273, VAT EU: PL6342984273. [About us](https://cotlet.dev/about.md)

Cotlet is an independent service. It is not affiliated with, endorsed by or sponsored by any of the products listed on this site. Product names are trademarks of their respective owners.
