Connector guide13-minute read53 MCP tools7 languages

How to Connect GoHighLevel to Microsoft Copilot via MCP

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.

HCBy HelpCode teamUpdated 13 min read Open-source on GitHub

No credit card · 7-day trial · Self-host alternative available

GoHighLevel

GoHighLevel

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, users, custom fields, workflows, form and survey submissions, invoices, payments and Social Planner posts.

tools

53

Region

INTL

Category

CRM

Authentication

Bearer Token

Required env vars

GOHIGHLEVEL_API_TOKENGOHIGHLEVEL_LOCATION_ID
Install in one click on Cloud

7-day free trial · No credit card

  • 7-day free trial
    No credit card required
  • GDPR & SOC 2 ready
    EU data residency, audit logs
  • Open-source on GitHub
    Open source · AGPL-3.0
  • Works with ChatGPT, Claude, Gemini
    Any MCP-compatible client

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.

Start free trial

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.

GoHighLevel · live via MCP
Share
Opus 4.7

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 + Microsoft Copilot

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.

  1. In the sub-account open Settings, Private Integrations and click Create new Integration. Give it a name, for example AnythingMCP.
  2. 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.
  3. Copy the token (it starts with pit- and is shown only once) into GOHIGHLEVEL_API_TOKEN. It is sent as Authorization: Bearer <token>; paste it without a Bearer prefix.
  4. Copy the Location ID from Settings, Business Profile (or from the URL after /location/) into GOHIGHLEVEL_LOCATION_ID. Every tool works in that sub-account.
  5. 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 Microsoft Copilot

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 shows YOUR_SERVER_ID.

Microsoft Copilot uses MCP servers through agents built in Copilot Studio: you add AnythingMCP to an agent as a tool, then publish the agent to Microsoft 365 Copilot and Teams. Copilot Studio connects from Microsoft's cloud over Streamable HTTP, which AnythingMCP supports.

  1. In Copilot Studio, open your agent (or create one), go to Tools and choose Add a tool → New tool → Model Context Protocol.
  2. Enter a Server name (for example AnythingMCP), a Server description that says what the connector does, and the Server URL https://cloud.anythingmcp.com/mcp/YOUR_SERVER_ID. Copilot Studio uses the description to decide when to call the server.
  3. Under authentication, choose API key, set Type to Header and the header name to X-API-Key, then select Create.
  4. In Add tool, choose Create a new connection, paste an MCP API key from AnythingMCP (MCP Servers → your server → API keys) and select Add to agent.
  5. Try it in the agent's Test pane: ask for something that needs the GoHighLevel tools.
  6. Select Publish, then Channels → Microsoft 365 and Microsoft Teams, keep Make agent available in Microsoft Copilot selected and choose Add channel. See agent in Teams installs it for you; in Microsoft 365 Copilot, type @ and pick the agent.

Prefer per-user sign-in? Choose OAuth 2.0 → Dynamic discovery instead of an API key: each user then signs in to AnythingMCP the first time the agent calls it.

Self-hosting? Use your instance's public HTTPS address instead of https://cloud.anythingmcp.com. Copilot Studio connects from Microsoft's cloud, so localhost does not work.

Available tools

ToolWhat it does
gohighlevel_get_locationDetails of the configured sub-account (location): name, address, phone, email, website, timezone, business info and settings
gohighlevel_list_custom_fieldsList the custom fields of the sub-account with id, name, fieldKey (contact.my_field), data type, picklist options and model (contact or…
gohighlevel_list_tagsList the contact tags defined in the sub-account with id and name
gohighlevel_search_contactsSearch contacts of the sub-account by free text (name, email, phone, company) and/or filters, sorted and paged
gohighlevel_get_contactGet one contact by id with name, email, phone, address, tags, source, DND settings, custom field values, assigned user, followers and dates
gohighlevel_create_contactCreate a contact in the sub-account with name, email, phone, address, tags, source, custom fields and assigned user
gohighlevel_upsert_contactCreate a contact or update the existing one with the same email or phone (following the sub-account's duplicate settings)
gohighlevel_update_contactUpdate a contact by id: name, email, phone, address, tags (replaces the list), DND, custom fields, source or assigned user
gohighlevel_add_contact_tagsAdd tags to a contact without touching its other tags
gohighlevel_remove_contact_tagsRemove the given tags from a contact; its other tags stay
gohighlevel_list_contact_notesList the notes on a contact with id, body, user and date added
gohighlevel_create_contact_noteAdd a note to a contact, e.g. a call summary
gohighlevel_list_contact_tasksList the tasks of a contact with id, title, body, due date, completed flag and assigned user
gohighlevel_create_contact_taskCreate a follow-up task on a contact with title, description, due date and assigned user
gohighlevel_update_contact_taskUpdate a contact task: title, description, due date, assignee, or mark it completed
gohighlevel_list_contact_appointmentsList the calendar appointments of a contact with id, calendar, title, status, start and end time
gohighlevel_add_contact_to_workflowEnroll a contact in a published workflow, now or from a given start time
gohighlevel_remove_contact_from_workflowRemove a contact from a workflow so its remaining steps do not run for that contact
gohighlevel_list_workflowsList the workflows of the sub-account with id, name, status (draft or published) and dates
gohighlevel_search_conversationsSearch conversations (one thread per contact across SMS, email, WhatsApp, Facebook, Instagram, chat) by contact, text, assignee, status or…
gohighlevel_get_conversationGet one conversation by id: contact, channel, assigned user, unread count, starred flag and last message
gohighlevel_list_messagesList the messages of a conversation, newest first: direction (inbound or outbound), type, body, status, attachments and date
gohighlevel_send_messageSend an SMS, email, WhatsApp, Instagram, Facebook or live chat message to a contact through the sub-account, now or scheduled
gohighlevel_list_pipelinesList the opportunity pipelines of the sub-account with their stages (id, name, position)
gohighlevel_search_opportunitiesSearch opportunities (deals) by text, pipeline, stage, status, contact, assignee or date
gohighlevel_get_opportunityGet one opportunity by id: name, pipeline and stage, status, monetary value, contact, assigned user, custom fields and dates
gohighlevel_create_opportunityCreate an opportunity (deal) for a contact in a pipeline stage with name, status, value, assignee and custom fields
gohighlevel_update_opportunityUpdate an opportunity: move it to another stage or pipeline, rename, change value, status, assignee or custom fields
gohighlevel_update_opportunity_statusSet only the status of an opportunity: open, won, lost (optionally with a lost reason) or abandoned
gohighlevel_list_calendarsList the calendars of the sub-account with id, name, type, team members, slot duration and widget settings
gohighlevel_get_free_slotsFree booking slots of a calendar between two dates (at most 31 days apart), grouped by day, in the requested time zone
gohighlevel_list_calendar_eventsList 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_appointmentGet one appointment by id: calendar, contact, assigned user, title, status, address or meeting link, start and end time
gohighlevel_create_appointmentBook an appointment for a contact in a calendar at a start time, with status, assigned user, location and notes
gohighlevel_update_appointmentUpdate an appointment: reschedule, change status (confirmed, cancelled, showed, noshow), assignee, title, location or notes
gohighlevel_list_usersList the users (team members) of the sub-account with id, name, email, phone, role and permissions
gohighlevel_get_userGet one user by id: name, email, phone, role, type, permissions and the sub-accounts it can access
gohighlevel_list_formsList the forms of the sub-account with id and name; form ids filter gohighlevel_list_form_submissions
gohighlevel_list_form_submissionsList form submissions with contact id, name, email, the submitted fields and date
gohighlevel_list_surveysList the surveys of the sub-account with id and name; survey ids filter gohighlevel_list_survey_submissions
gohighlevel_list_survey_submissionsList survey submissions with contact, answers and date
gohighlevel_list_invoicesList invoices of the sub-account with number, name, contact, status (draft, sent, paid, void, partially_paid, ...), total, amount due…
gohighlevel_get_invoiceGet one invoice by id: number, contact and business details, line items, discount, taxes, totals, amount paid and due, status, dates and…
gohighlevel_create_invoiceCreate a draft invoice for a contact with line items, currency, issue and due date, business details, discount and terms
gohighlevel_send_invoiceSend an invoice to the contact by email, SMS, both, or mark it as sent manually
gohighlevel_list_ordersList payment orders (funnel, store and payment link sales) with contact, amount, currency, status, payment status and date
gohighlevel_get_orderGet one order by id: contact, line items with products and prices, amount, currency, status, payment status, source and fulfillment
gohighlevel_list_transactionsList payment transactions (charges and refunds) with contact, amount, currency, status, payment provider, source (funnel, invoice, store)…
gohighlevel_get_transactionGet one payment transaction by id: amount, currency, status, contact, provider charge id, source entity and refund state
gohighlevel_list_subscriptionsList recurring payment subscriptions with contact, product, amount, interval, status and dates
gohighlevel_list_social_accountsList the social media accounts connected to the Social Planner (Facebook, Instagram, LinkedIn, Google Business, TikTok, X, ...) with their…
gohighlevel_list_social_postsList Social Planner posts in a date range: content, accounts, media, status (scheduled, published, draft, failed) and schedule date
gohighlevel_create_social_postCreate 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

Which Copilot is this for? Microsoft 365 Copilot at work, through agents built in Copilot Studio. The Microsoft Copilot app for personal accounts has no option to add your own MCP server.

What do I need? A work account with access to Copilot Studio (a license or a trial) to build the agent. People who use it in Microsoft 365 Copilot or Teams need access to the agent: share it with them, or ask an admin to publish it to the organization. If your organization applies data policies to Power Platform connectors, they cover MCP servers too.

The agent doesn't call the tools. Check that the header name is exactly X-API-Key and that the key belongs to the same MCP server as the URL, and make the server description specific: Copilot Studio uses it to decide when to call the server. Publish the agent again after each change; in an open chat, type "start over" to get the new version.

Next steps

Was this guide helpful?

Your GoHighLevel agent is one click away.

Install the connector, paste the key, prompt Microsoft Copilot. Free for 7 days, no credit card.

Related guides

Connectors

How to Connect GoHighLevel to ChatGPT via MCP

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.

Connectors

How to Connect GoHighLevel to Claude via MCP

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.

Connectors

How to Connect GoHighLevel to Cursor via MCP

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.

Connectors

How to Connect GoHighLevel to Gemini via MCP

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.

Connectors

How to Connect GoHighLevel to Meta Muse via MCP

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.

Connectors

GoHighLevel to MCP: Contacts, Conversations, Opportunities, Calendars and Invoices in any AI Agent

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.