The GoHighLevel connector.
CRM, pipelines, calendars, and conversations. Connect once with your own key. Every agent your team runs reads the same 11 tools under one permission model.
How access is governed
10
Read tools
Open by default. They run when called, and every call is logged with the endpoint, tool and capability.
1
Write tools
Available through governed Slack workflows. MCP endpoints do not expose write tools.
0
Destructive tools
GoHighLevel defines no destructive tools. Nothing here deletes data.
Defaults come from the capability on each tool definition, and an admin can tighten or open any tool individually. The endpoint's capability ceiling can only tighten that policy. An endpoint scoped to read never surfaces a write tool.
Every GoHighLevel tool
11 tools, named as the agent sees them.
- search_contactsread
Search contacts in GoHighLevel by query string. Returns matching contacts with name, email, phone, and tags.
- get_contactread
Get a single contact by ID from GoHighLevel. Returns full contact details including custom fields, tags, and deal associations.
- get_contact_tasksread
Get tasks associated with a specific contact in GoHighLevel. Useful for checking overdue or upcoming follow-ups.
- add_contact_notewrite
Add a note to a contact in GoHighLevel. Use this to post sales call summaries, meeting notes, or any other text to a contact record.
- get_pipelinesread
List all sales pipelines and their stages in GoHighLevel. Call this first to discover pipeline IDs before querying opportunities.
- get_opportunitiesread
List opportunities (deals) in a SINGLE pipeline. Supports pagination via startAfter/startAfterId cursors. For cross-pipeline queries, use get_all_opportunities instead.
- get_all_opportunitiesread
Get opportunities across ALL pipelines in a single call. Automatically iterates every pipeline. Best for cross-pipeline reporting like "all won deals", "total pipeline value", or "all open deals". Returns up to 100 results per pipeline. The response includes pipeline stage names for each deal.
- get_opportunityread
Get a single opportunity (deal) by ID. Requires the pipeline ID — if unknown, use get_pipelines first or use get_all_opportunities to search.
- get_calendarsread
List all calendar services (booking calendars) in GoHighLevel.
- get_calendar_slotsread
Get available free slots for a specific calendar in GoHighLevel.
- get_appointmentsread
Get calendar appointments from GoHighLevel. Requires at least one of calendarId, userId, or teamId.
Use it from any agent
The same GoHighLevel tools reach Claude Code, Cursor, Claude Desktop or your own agent through one MCP endpoint. The endpoint is scoped to a group, the token is issued per group and revocable from the dashboard, and an allowed-tool list and capability ceiling limit what it exposes. Reads run. Gated writes refuse unless an admin opens them. Destructive tools remain unavailable over MCP.
{
"mcpServers": {
"growth": {
"type": "http",
"url": "https://app.notara.ai/mcp/g/acme/growth",
"headers": {
"Authorization": "Bearer ntr_mcp_xxxxxxxxxxxxxxxxxxxx"
}
}
}
}The URL and token are placeholders. Real endpoints are issued per group from the dashboard.
Setup
- 01
Create a GoHighLevel API Key in your GoHighLevel account (where to find it). The key is yours: Notara stores it encrypted and never sees a bill.
- 02
Paste it into the Notara dashboard. Credentials can be scoped to the workspace or to one person.
- 03
The tools appear with their capability defaults already set. Tighten or open any of them per tool, then invite the agent to a channel or issue an MCP token.
Connect GoHighLevel once. Use it everywhere.
Use Notara directly, or bring us the workflow that needs to be redesigned and built.
