Skip the install. Get this working in under 2 minutes.
Start a free trial on cloud.anythingmcp.com, add the GoHighLevel in one click, then point your AI client (Claude, ChatGPT, Copilot or Cursor) at the generated MCP endpoint. No Docker, no git clone, zero engineering experience required.
AnythingMCP is listed in Claude's connector directory: add it to Claude in one click (opens in a new tab), then sign in and choose which MCP servers Claude may use.
Summary
GoHighLevel (HighLevel, LeadConnector) CRM for one sub-account: contacts with tags, notes and tasks, conversations and sending SMS, email or WhatsApp, opportunities and pipelines, calendars and appointments, workflows, form and survey submissions, invoices, payments and Social Planner posts. Connects with a Private Integration token.
Try asking
Example prompts for GoHighLevel
Click any prompt to copy it. Paste into Claude, ChatGPT, Cursor, Gemini, Copilot or OpenClaw to run it against this connector.
Claude is AI and can make mistakes. Please double-check responses.
💡 No install? Use cloud.anythingmcp.com directly. Sign in, click Connectors → GoHighLevel, paste your credentials, mint an MCP API key and you're done. No Docker, no
git clone, no local server.
GoHighLevel + Claude
GoHighLevel (HighLevel, LeadConnector) CRM for one sub-account: contacts with tags, notes and tasks, conversations and sending SMS, email or WhatsApp, opportunities and pipelines, calendars and appointments, workflows, form and survey submissions, invoices, payments and Social Planner posts. Connects with a Private Integration token.
Prerequisites
See the full setup instructions baked into the connector (visible in the in-app store when you select the connector). The required environment variables for this connector are:
GOHIGHLEVEL_API_TOKEN, GOHIGHLEVEL_LOCATION_ID
Step 1 — Get credentials
Setting up takes about 5 minutes. You need admin rights in the HighLevel sub-account (location) the AI should work in.
- In the sub-account open Settings, Private Integrations and click Create new Integration. Give it a name, for example AnythingMCP.
- Select the scopes the tools need:
locations.readonly,locations/customFields.readonly,locations/tags.readonly,contacts.readonly,contacts.write,conversations.readonly,conversations/message.readonly,conversations/message.write,opportunities.readonly,opportunities.write,calendars.readonly,calendars/events.readonly,calendars/events.write,users.readonly,workflows.readonly,forms.readonly,surveys.readonly,invoices.readonly,invoices.write,payments/orders.readonly,payments/transactions.readonly,payments/subscriptions.readonly,socialplanner/account.readonly,socialplanner/post.readonly,socialplanner/post.write. Leave out the write scopes the AI should not have. - Copy the token (it starts with
pit-and is shown only once) intoGOHIGHLEVEL_API_TOKEN. It is sent asAuthorization: Bearer <token>; paste it without aBearerprefix. - Copy the Location ID from Settings, Business Profile (or from the URL after
/location/) intoGOHIGHLEVEL_LOCATION_ID. Every tool works in that sub-account. - Install the connector and run
gohighlevel_get_location: it shows the sub-account and confirms the token and Location ID.
The connector sends HighLevel's required Version header itself (2021-07-28, and 2021-04-15 for conversations and calendars).
What it reads: the sub-account's details, custom fields (ids for customFields), tags, users (ids for assignedTo), pipelines with their stages, calendars and workflows; contacts by free text or filters, with tags, source, DND settings, custom field values, notes, tasks and appointments; conversations across SMS, email, WhatsApp, Facebook, Instagram and live chat, with their messages; opportunities by pipeline, stage, status, contact, assignee or date; free calendar slots and calendar events; forms, surveys and their submissions; invoices with line items and amounts due, payment orders, transactions (charges and refunds) and subscriptions; connected Social Planner accounts and posts.
What it writes: all write tools are on at install, so the scopes of the Private Integration decide what the AI may change. Contacts: gohighlevel_create_contact, gohighlevel_upsert_contact (no duplicates by email or phone), gohighlevel_update_contact, tags with gohighlevel_add_contact_tags and gohighlevel_remove_contact_tags, gohighlevel_create_contact_note, gohighlevel_create_contact_task and gohighlevel_update_contact_task. Automations: gohighlevel_add_contact_to_workflow and gohighlevel_remove_contact_from_workflow (published workflows only), or a tag a workflow triggers on. Sales: gohighlevel_create_opportunity, gohighlevel_update_opportunity (move stage) and gohighlevel_update_opportunity_status (won, lost, abandoned). Booking: gohighlevel_get_free_slots, then gohighlevel_create_appointment, and gohighlevel_update_appointment to reschedule, confirm, cancel or mark a no-show. Money: gohighlevel_create_invoice (a draft) and gohighlevel_send_invoice. Social: gohighlevel_create_social_post.
What reaches people: gohighlevel_send_message sends SMS, email, WhatsApp or social messages to the contact at once and may use SMS or email credits; contacts with DND on a channel are not reached on it. gohighlevel_send_invoice sends the contact a payment link, and gohighlevel_create_social_post publishes publicly at the scheduled time. Before any of these the AI shows you the text, recipient or post and waits for your yes. No tool is switched off at install.
Data formats: ids are 20-character strings. Dates on records are ISO 8601 in UTC; calendar free slots and events take Unix time in milliseconds; appointment start and end are ISO 8601 with an offset; opportunity search dates are mm-dd-yyyy; form, survey, invoice and payment filters take YYYY-MM-DD. Invoice and payment amounts are in currency units (120.5 = 120.50), not cents. Phone numbers are E.164. Free slots cover at most 31 days per call.
Paging: contacts use page and page_limit (up to 500 per page and 10,000 results in total; beyond that the AI passes search_after from the last contact). Opportunities use page and limit (up to 100) or startAfter and startAfterId from meta. Conversations use limit and start_after_date, messages last_message_id with nextPage. Invoices and payments use limit and offset, forms and surveys page and limit.
Limits: HighLevel allows 100 requests per 10 seconds and 200,000 per day per sub-account; above that it answers 429.
Common errors: 401 means a wrong or deleted token, or a token of another sub-account. 403 or "The token is not authorized for this scope" means the Private Integration lacks that scope: edit it, add the scope and save. 422 lists the invalid fields.
The connector works in one sub-account, not across an agency. It deletes no records, does not build or edit workflows, funnels or calendars, and does not issue refunds.
Step 2 — Install the adapter
curl -fsSL https://raw.githubusercontent.com/HelpCode-ai/anythingmcp/main/docker-compose.quickstart.yml -o docker-compose.yml
printf 'JWT_SECRET=%s\nENCRYPTION_KEY=%s\n' "$(openssl rand -hex 32)" "$(openssl rand -hex 32)" > .env
docker compose up -d
Step 3 — Add the connector in Claude
Your server URL: in AnythingMCP, open MCP Servers → the server this connector is on, and copy its URL (
https://cloud.anythingmcp.com/mcp/…). Use it wherever this guide showsYOUR_SERVER_ID.
Recommended path: works on claude.ai web without editing any config file.
- In Claude, open Customize → Connectors.
- Click +, then Add custom connector.
- Enter a name, e.g.
GoHighLevel, and the remote MCP server URLhttps://cloud.anythingmcp.com/mcp/YOUR_SERVER_ID, then click Add. - Click Connect and sign in to AnythingMCP (OAuth) to allow access.
All tools below appear in your chat: start typing prompts.
Available tools
| Tool | What it does |
|---|---|
gohighlevel_get_location | Details of the configured sub-account (location): name, address, phone, email, website, timezone, business info and settings |
gohighlevel_list_custom_fields | List the custom fields of the sub-account with id, name, fieldKey (contact.my_field), data type, picklist options and model (contact or… |
gohighlevel_list_tags | List the contact tags defined in the sub-account with id and name |
gohighlevel_search_contacts | Search contacts of the sub-account by free text (name, email, phone, company) and/or filters, sorted and paged |
gohighlevel_get_contact | Get one contact by id with name, email, phone, address, tags, source, DND settings, custom field values, assigned user, followers and dates |
gohighlevel_create_contact | Create a contact in the sub-account with name, email, phone, address, tags, source, custom fields and assigned user |
gohighlevel_upsert_contact | Create a contact or update the existing one with the same email or phone (following the sub-account's duplicate settings) |
gohighlevel_update_contact | Update a contact by id: name, email, phone, address, tags (replaces the list), DND, custom fields, source or assigned user |
gohighlevel_add_contact_tags | Add tags to a contact without touching its other tags |
gohighlevel_remove_contact_tags | Remove the given tags from a contact; its other tags stay |
gohighlevel_list_contact_notes | List the notes on a contact with id, body, user and date added |
gohighlevel_create_contact_note | Add a note to a contact, e.g. a call summary |
gohighlevel_list_contact_tasks | List the tasks of a contact with id, title, body, due date, completed flag and assigned user |
gohighlevel_create_contact_task | Create a follow-up task on a contact with title, description, due date and assigned user |
gohighlevel_update_contact_task | Update a contact task: title, description, due date, assignee, or mark it completed |
gohighlevel_list_contact_appointments | List the calendar appointments of a contact with id, calendar, title, status, start and end time |
gohighlevel_add_contact_to_workflow | Enroll a contact in a published workflow, now or from a given start time |
gohighlevel_remove_contact_from_workflow | Remove a contact from a workflow so its remaining steps do not run for that contact |
gohighlevel_list_workflows | List the workflows of the sub-account with id, name, status (draft or published) and dates |
gohighlevel_search_conversations | Search conversations (one thread per contact across SMS, email, WhatsApp, Facebook, Instagram, chat) by contact, text, assignee, status or… |
gohighlevel_get_conversation | Get one conversation by id: contact, channel, assigned user, unread count, starred flag and last message |
gohighlevel_list_messages | List the messages of a conversation, newest first: direction (inbound or outbound), type, body, status, attachments and date |
gohighlevel_send_message | Send an SMS, email, WhatsApp, Instagram, Facebook or live chat message to a contact through the sub-account, now or scheduled |
gohighlevel_list_pipelines | List the opportunity pipelines of the sub-account with their stages (id, name, position) |
gohighlevel_search_opportunities | Search opportunities (deals) by text, pipeline, stage, status, contact, assignee or date |
gohighlevel_get_opportunity | Get one opportunity by id: name, pipeline and stage, status, monetary value, contact, assigned user, custom fields and dates |
gohighlevel_create_opportunity | Create an opportunity (deal) for a contact in a pipeline stage with name, status, value, assignee and custom fields |
gohighlevel_update_opportunity | Update an opportunity: move it to another stage or pipeline, rename, change value, status, assignee or custom fields |
gohighlevel_update_opportunity_status | Set only the status of an opportunity: open, won, lost (optionally with a lost reason) or abandoned |
gohighlevel_list_calendars | List the calendars of the sub-account with id, name, type, team members, slot duration and widget settings |
gohighlevel_get_free_slots | Free booking slots of a calendar between two dates (at most 31 days apart), grouped by day, in the requested time zone |
gohighlevel_list_calendar_events | List appointments and events between two times for a calendar, a user or a calendar group (one of the three is required), with contact… |
gohighlevel_get_appointment | Get one appointment by id: calendar, contact, assigned user, title, status, address or meeting link, start and end time |
gohighlevel_create_appointment | Book an appointment for a contact in a calendar at a start time, with status, assigned user, location and notes |
gohighlevel_update_appointment | Update an appointment: reschedule, change status (confirmed, cancelled, showed, noshow), assignee, title, location or notes |
gohighlevel_list_users | List the users (team members) of the sub-account with id, name, email, phone, role and permissions |
gohighlevel_get_user | Get one user by id: name, email, phone, role, type, permissions and the sub-accounts it can access |
gohighlevel_list_forms | List the forms of the sub-account with id and name; form ids filter gohighlevel_list_form_submissions |
gohighlevel_list_form_submissions | List form submissions with contact id, name, email, the submitted fields and date |
gohighlevel_list_surveys | List the surveys of the sub-account with id and name; survey ids filter gohighlevel_list_survey_submissions |
gohighlevel_list_survey_submissions | List survey submissions with contact, answers and date |
gohighlevel_list_invoices | List invoices of the sub-account with number, name, contact, status (draft, sent, paid, void, partially_paid, ...), total, amount due… |
gohighlevel_get_invoice | Get one invoice by id: number, contact and business details, line items, discount, taxes, totals, amount paid and due, status, dates and… |
gohighlevel_create_invoice | Create a draft invoice for a contact with line items, currency, issue and due date, business details, discount and terms |
gohighlevel_send_invoice | Send an invoice to the contact by email, SMS, both, or mark it as sent manually |
gohighlevel_list_orders | List payment orders (funnel, store and payment link sales) with contact, amount, currency, status, payment status and date |
gohighlevel_get_order | Get one order by id: contact, line items with products and prices, amount, currency, status, payment status, source and fulfillment |
gohighlevel_list_transactions | List payment transactions (charges and refunds) with contact, amount, currency, status, payment provider, source (funnel, invoice, store)… |
gohighlevel_get_transaction | Get one payment transaction by id: amount, currency, status, contact, provider charge id, source entity and refund state |
gohighlevel_list_subscriptions | List recurring payment subscriptions with contact, product, amount, interval, status and dates |
gohighlevel_list_social_accounts | List the social media accounts connected to the Social Planner (Facebook, Instagram, LinkedIn, Google Business, TikTok, X, ...) with their… |
gohighlevel_list_social_posts | List Social Planner posts in a date range: content, accounts, media, status (scheduled, published, draft, failed) and schedule date |
gohighlevel_create_social_post | Create a Social Planner post for one or more connected accounts: text, media, as draft or scheduled for a date |
Example prompts
- "Find the contact with the email [email protected] and show her tags, notes and open tasks."
- "Which conversations have unread messages right now? Summarise the last message of each."
- "Move the opportunity "Website redesign" for Miller Ltd to the stage Proposal sent and set its value to 4,500."
- "Find a free 30-minute slot next Tuesday in the Sales calendar and book it for contact Marco Rossi. Show me the booking before saving."
- "List the invoices that are sent but not yet paid, with contact, amount due and due date."
FAQ
Does it work with Claude Code as well as Claude Desktop? Yes, point both at https://cloud.anythingmcp.com/mcp/YOUR_SERVER_ID.
Next steps
- Connector landing page
- Connect to ChatGPT
- Connect to Cursor
- Connect to Gemini
- Connect to Meta Muse
- Connect to Microsoft Copilot
Was this guide helpful?