HighLevel MCP logo

Integrate HighLevel MCP with your AI CRM

HighLevel MCP lets authorized agents work with contacts, conversations, calendars, opportunities, and other location-scoped HighLevel resources.

Explore Triggers and Actions

Blogs check-url-slug-exists

Validates whether a URL slug is available for a blog post before publishing. Checks if the slug already exists for other posts, optionally excluding a specific post ID. Returns a boolean indicating slug availability. Use this tool when users want to check if a URL slug is available, validate blog post slug, verify slug uniqueness, or check slug before publishing. Ideal for slug validation, URL slug checking, and pre-publication validation workflows. Capabilities: check-url-slug-exists Examples: - Use this tool to check url slug - Endpoint: /blogs/posts/url-slug-exists Source: default | Team: blogs

ActionTry it

Blogs create-blog-post

Creates a new blog post for a blog site with comprehensive content and metadata. Accepts blog post details including title, description, HTML content, featured image, categories, tags, author assignment, URL slug, canonical link, and publication timestamp. Supports status management (draft, published, scheduled, archived) and SEO optimization settings. Returns the created blog post with assigned ID and metadata. Use this tool when users want to create a blog post, publish an article, add blog content, write a blog entry, or create new blog content. Ideal for content creation workflows, blog publishing, article management, and content marketing. Capabilities: create_create-blog-post Examples: - Use this tool to create blog post - Endpoint: /blogs/posts Source: default | Team: blogs

ActionTry it

Blogs get-all-blog-authors-by-location

Retrieves all blog authors for a specific location with pagination support. Returns a list of authors including author ID, name, location ID, and canonical link. Supports pagination with limit and offset parameters. Use this tool when users want to get blog authors, list authors, find available authors, or retrieve author information. Ideal for author selection, author management, and blog author lookup scenarios. Capabilities: get_get-all-blog-authors-by-location Examples: - Use this tool to get all authors - Endpoint: /blogs/authors Source: default | Team: blogs

ActionTry it

Blogs get-all-categories-by-location

Retrieves all blog categories for a specific location with pagination support. Returns a list of categories including category ID, label, location ID, URL slug, and canonical link. Supports pagination with limit and offset parameters. Use this tool when users want to get blog categories, list categories, find available categories, or retrieve category information. Ideal for category selection, category management, and blog category lookup scenarios. Capabilities: get_get-all-categories-by-location Examples: - Use this tool to get all categories - Endpoint: /blogs/categories Source: default | Team: blogs

ActionTry it

Blogs get-blog-post

Retrieves blog posts for a specific blog site using blog ID with filtering and pagination. Supports filtering by publication status (published, scheduled, archived, draft), search terms for post name, and pagination with limit and offset. Returns a list of blog posts with title, description, content, image, categories, tags, author, publication date, and status. Use this tool when users want to get blog posts, list articles, find blog posts by status, search blog content, or retrieve published articles. Ideal for blog post listing, content management, article retrieval, and blog content browsing. Capabilities: get_get-blog-post Examples: - Use this tool to get blog posts by blog id - Endpoint: /blogs/posts/all Source: default | Team: blogs

ActionTry it

Blogs get-blogs

Retrieves a list of blog sites for a location with pagination and search support. Returns blog sites with their IDs and names. Supports filtering by search terms and pagination with skip and limit parameters. Use this tool when users want to list blog sites, get all blogs, find blog sites, or browse available blogs. Ideal for blog site discovery, blog management, and blog site listing scenarios. Capabilities: get_get-blogs Examples: - Use this tool to get blogs by location id - Endpoint: /blogs/site/all Source: default | Team: blogs

ActionTry it

Blogs update-blog-post

Modifies an existing blog post including content, metadata, categories, tags, and publication settings. Can update title, description, HTML content, featured image, status, SEO fields (URL slug, canonical link), categories, tags, author, and scheduling information. Returns the updated blog post with modified fields. Use this tool when users want to edit a blog post, update article content, modify blog entry, change blog post details, or revise published content. Ideal for content editing, article updates, blog maintenance, and content revision workflows. Capabilities: update_update-blog-post Examples: - Use this tool to update blog post - Endpoint: /blogs/posts/{postId} Source: default | Team: blogs

ActionTry it

Calendars get-appointment-notes

Retrieves notes associated with a specific appointment. Returns a paginated list of notes including note ID, body, user ID, creation date, and creator information. Supports pagination with limit and offset parameters. Use this tool when users want to view appointment notes, get appointment notes, see notes for an appointment, or retrieve appointment note history. Ideal for appointment note review, note management, and appointment documentation lookup. Capabilities: get_get-appointment-notes Examples: - Use this tool to get notes - Endpoint: /calendars/appointments/{appointmentId}/notes Source: default | Team: calendars

ActionTry it

Calendars get-calendar-events

Retrieves calendar events and appointments within a specified time range. Filters events by user ID, group ID, or calendar ID to show appointments for specific team members or calendars. Returns appointment details including participants, date and time, duration, status, location, notes, recurring event information, and assigned resources. Use this tool when users want to view calendar events, check appointments, see scheduled meetings, get calendar schedule, find appointments in a date range, or view team calendar. Ideal for calendar viewing, appointment lookup, schedule checking, and availability queries. Capabilities: get_get-calendar-events Examples: - Use this tool to get calendar events - Endpoint: /calendars/events Source: default | Team: calendars

ActionTry it

Contacts add-tags

Adds one or more tags to an existing contact record. Appends the new tags to the contact's current tag list without removing any existing tags, allowing incremental tag assignment. Returns the updated contact with the complete tag list including newly added tags. Use this tool when users want to add tags to a contact, tag a contact, categorize a contact, label a contact, or assign tags to a contact record. Ideal for contact organization, contact categorization, tag management, and contact labeling workflows. Capabilities: add_add-tags Examples: - Use this tool to add tags - Endpoint: /contacts/{contactId}/tags Source: default | Team: contacts

ActionTry it

Contacts create-contact

Creates a new contact record in the CRM with personal and business information. Accepts contact details including name, email, phone number, address, company information, tags, custom fields, and assigned user. Returns the newly created contact with assigned ID and timestamps. Use this tool when users want to add a new contact, create a contact record, register a new lead, or save contact information. Ideal for contact creation workflows, lead capture, and contact management scenarios. Capabilities: create_create-contact Examples: - Use this tool to create contact - Endpoint: /contacts/ Source: default | Team: contacts

ActionTry it

Contacts get-all-tasks

Retrieves all tasks associated with a specific contact. Returns a list of tasks including title, description, body, due date, completion status, assigned user, and task ID. Shows both completed and pending tasks for the contact. Use this tool when users want to view contact tasks, see tasks for a contact, get contact task list, check contact to-dos, or list tasks assigned to a contact. Ideal for task management, contact task tracking, follow-up management, and contact activity review. Capabilities: get_get-all-tasks Examples: - Use this tool to get all tasks - Endpoint: /contacts/{contactId}/tasks Source: default | Team: contacts

ActionTry it

Contacts get-contact

Retrieves detailed contact information by contact ID. Returns complete contact profile including personal details (name, email, phone), address information, tags, custom fields, and associated opportunities. Use this tool when users want to look up a specific contact, view contact details, get contact information, or fetch a contact profile. Ideal for scenarios where the contact ID is known and full contact information is needed. Capabilities: get_get-contact Examples: - Use this tool to get contact - Endpoint: /contacts/{contactId} Source: default | Team: contacts

ActionTry it

Contacts get-contacts

Retrieves a list of contacts with pagination support. Supports filtering by location ID, query terms for name/email search, and pagination using startAfter and startAfterId. Returns a list of contacts with basic information. Note: This endpoint is deprecated in favor of the search contacts endpoint. Use this tool when users want to list contacts, get contact list, view all contacts, or browse contacts with pagination. Ideal for contact listing and basic contact browsing scenarios. Capabilities: get_get-contacts Examples: - Use this tool to get contacts - Endpoint: /contacts/ Source: default | Team: contacts

ActionTry it

Contacts remove-tags

Removes specified tags from a contact record. Deletes only the provided tags while preserving all other tags on the contact, allowing selective tag removal. Returns the updated contact with the remaining tags. Use this tool when users want to remove tags from a contact, untag a contact, delete contact tags, unlabel a contact, or clear specific tags from a contact. Ideal for tag cleanup, contact tag management, and removing outdated categorizations. Capabilities: remove_remove-tags Examples: - Use this tool to remove tags - Endpoint: /contacts/{contactId}/tags Source: default | Team: contacts

ActionTry it

Contacts update-contact

Modifies existing contact information in the CRM. Can update any contact property including name, email, phone number, address, tags, custom fields, and company details. Updates only the provided fields while preserving all other existing contact data. Returns the updated contact record with modified fields. Use this tool when users want to edit contact information, update contact details, change contact data, modify a contact record, or correct contact information. Ideal for contact maintenance, data correction, and contact information updates. Capabilities: update_update-contact Examples: - Use this tool to update contact - Endpoint: /contacts/{contactId} Source: default | Team: contacts

ActionTry it

Contacts upsert-contact

Creates a new contact or updates an existing contact based on duplicate detection settings. Uses global unique identifier for de-duplication when duplicate contacts are disabled, or creates a new contact when duplicates are allowed. Accepts complete contact information including name, email, phone, address, company details, tags, and custom fields. Returns the contact record with a flag indicating whether it was newly created or already existed. Use this tool when users want to create or update a contact, ensure contact exists, add contact if missing, or sync contact information. Ideal for contact synchronization, data import workflows, and contact upsert operations. Capabilities: upsert-contact Examples: - Use this tool to upsert contact - Endpoint: /contacts/upsert Source: default | Team: contacts

ActionTry it

Conversations get-messages

Retrieves messages from a specific conversation with optional filtering by message type. Supports filtering by message types (SMS, Email, Call, Facebook, Instagram, WhatsApp, etc.) and pagination using lastMessageId and limit. Returns a list of messages with body, direction, status, attachments, metadata, and timestamps. Use this tool when users want to view conversation messages, get message history, see conversation thread, retrieve messages from a conversation, or read conversation messages. Ideal for message viewing, conversation history review, and message thread retrieval. Capabilities: get_get-messages Examples: - Use this tool to get messages by conversation id - Endpoint: /conversations/{conversationId}/messages Source: default | Team: conversations

ActionTry it

Conversations search-conversation

Searches conversations using multiple filters including contact, assigned user, followers, mentions, status, message type, and date range. Supports sorting by last message date or score profile, filtering by conversation status (all, read, unread, starred), and pagination. Returns matching conversations with contact details, last message information, unread count, and conversation metadata. Use this tool when users want to find conversations, search messages, filter conversations by contact, look up conversation history, find unread conversations, or search by assigned user. Ideal for conversation management, message search, communication tracking, and conversation filtering. Capabilities: search_search-conversation Examples: - Use this tool to search conversations - Endpoint: /conversations/search Source: default | Team: conversations

ActionTry it

Conversations send-a-new-message

Sends a new message to a contact through various channels including SMS, Email, WhatsApp, Instagram, Facebook, Custom, or Live Chat. Supports text messages, HTML email content, attachments, email CC/BCC, reply threading, template usage, and message scheduling. Returns conversation ID, message ID, and email message ID for threaded replies. Use this tool when users want to send a message, send SMS, send email, send WhatsApp message, reply to conversation, or schedule a message. Ideal for message sending, communication workflows, customer messaging, and multi-channel communication. Capabilities: send-a-new-message Examples: - Use this tool to send a new message - Endpoint: /conversations/messages Source: default | Team: conversations

ActionTry it

Emails create-template

Creates a new email template with various types including HTML, builder, blank, folder, or imported templates. Supports importing from Mailchimp, ActiveCampaign, or Kajabi, and accepts template name, parent folder, builder version, and template source. Returns the created template ID and trace ID. Use this tool when users want to create email template, add email template, make new template, import email template, or build email template. Ideal for email template creation, template management, email design workflows, and template import scenarios. Capabilities: create_create-template Examples: - Use this tool to create a new template - Endpoint: /emails/builder Source: default | Team: emails

ActionTry it

Emails fetch-template

Retrieves email templates for a location with advanced filtering and pagination. Supports filtering by name, parent folder, builder version, archived status, search terms, and sorting by date. Returns template list with name, ID, type, last updated date, preview URL, and template metadata. Use this tool when users want to get email templates, list templates, find email template, search templates, or browse email templates. Ideal for template listing, template search, template management, and email template discovery. Capabilities: fetch_fetch-template Examples: - Use this tool to fetch email templates - Endpoint: /emails/builder Source: default | Team: emails

ActionTry it

Locations get-custom-fields

Retrieves custom fields for a location with optional filtering by model type. Supports filtering by model (contact, opportunity, or all) to retrieve custom fields for specific entity types. Returns custom field list including field ID, name, field key, data type, placeholder, position, picklist options, and field settings. Use this tool when users want to get custom fields, list custom fields, find available custom fields, retrieve field definitions, or view custom field configuration. Ideal for custom field management, field discovery, and custom field configuration lookup. Capabilities: get_get-custom-fields Examples: - Use this tool to get custom fields - Endpoint: /locations/{authorized location}/customFields Source: default | Team: locations

ActionTry it

Locations get-location

Retrieves detailed information for a sub-account (formerly location) by location ID. Returns complete location details including name, domain, address, business information, social media links, settings, company ID, contact information, and logo URL. Use this tool when users want to get location details, view location information, see sub-account details, retrieve location data, or look up location by ID. Ideal for location information retrieval, sub-account detail viewing, and location data lookup. Capabilities: get_get-location Examples: - Use this tool to get sub-account (formerly location) - Endpoint: /locations/{authorized location} Source: default | Team: locations

ActionTry it

Opportunities get-opportunity

Retrieves detailed information for a specific opportunity by opportunity ID. Returns complete opportunity details including name, monetary value, pipeline and stage information, status, assigned user, contact details, custom fields, notes, tasks, and calendar events. Use this tool when users want to get opportunity details, view opportunity, see deal information, retrieve opportunity data, or look up opportunity by ID. Ideal for opportunity detail viewing, deal information retrieval, and opportunity data lookup. Capabilities: get_get-opportunity Examples: - Use this tool to get opportunity - Endpoint: /opportunities/{id} Source: default | Team: opportunities

ActionTry it

Opportunities get-pipelines

Retrieves all sales pipelines for a location. Returns pipeline list including pipeline ID, name, stages, visibility settings (funnel and pie chart), and location ID. Use this tool when users want to get pipelines, list sales pipelines, find available pipelines, or retrieve pipeline information. Ideal for pipeline selection, pipeline management, and pipeline discovery scenarios. Capabilities: get_get-pipelines Examples: - Use this tool to get pipelines - Endpoint: /opportunities/pipelines Source: default | Team: opportunities

ActionTry it

Opportunities search-opportunity

Searches and filters opportunities in the sales pipeline using multiple criteria. Supports filtering by pipeline, pipeline stage, contact, opportunity status (open, won, lost, abandoned), assigned user, campaign, date range, and country. Returns matching opportunities with monetary values, pipeline stage information, contact details, custom fields, notes, tasks, and calendar events. Use this tool when users want to find opportunities, search deals, filter sales pipeline, look up opportunities by contact, find opportunities by stage, query the sales pipeline, or search opportunities by status. Ideal for pipeline management, deal tracking, sales reporting, and opportunity analysis. Capabilities: search_search-opportunity Examples: - Use this tool to search opportunity - Endpoint: /opportunities/search Source: default | Team: opportunities

ActionTry it

Opportunities update-opportunity

Modifies an existing opportunity in the sales pipeline. Can update opportunity name, pipeline, pipeline stage, status, monetary value, assigned user, and custom fields. Returns the updated opportunity with modified fields. Use this tool when users want to update opportunity, edit deal, change opportunity status, modify opportunity value, move opportunity to different stage, or update deal information. Ideal for opportunity management, deal updates, pipeline stage changes, and opportunity modification workflows. Capabilities: update_update-opportunity Examples: - Use this tool to update opportunity - Endpoint: /opportunities/{id} Source: default | Team: opportunities

ActionTry it

Payments get-order-by-id

Retrieves detailed information for a specific order using its unique order ID. Returns complete order details including order ID, contact information, currency, amount, status, fulfillment status, order items, payment source, amount summary (subtotal, discount), coupon information, and timestamps. Use this tool when users want to get order details, view order information, see order status, retrieve order data, or look up order by ID. Ideal for order detail viewing, order information retrieval, and order status checking. Capabilities: get_get-order-by-id Examples: - Use this tool to get order by id - Endpoint: /payments/orders/{orderId} Source: default | Team: payments

ActionTry it

Payments list-transactions

Retrieves a paginated list of transactions with comprehensive filtering options. Supports filtering by payment mode, date range, transaction source type and subtype, contact, subscription ID, entity ID, and search terms. Returns transaction list with amount, status, payment method, contact information, entity details, charge information, and timestamps. Use this tool when users want to list transactions, get transaction history, filter transactions, search transactions, find transactions by contact, or view payment transactions. Ideal for transaction management, payment tracking, financial reporting, and transaction analysis. Capabilities: list_list-transactions Examples: - Use this tool to list transactions - Endpoint: /payments/transactions Source: default | Team: payments

ActionTry it

Social-media-posting create-post

Creates a new social media post for multiple platforms. Supports posting to Facebook, Instagram, Twitter, LinkedIn, Google My Business, and TikTok with platform-specific content and media. Accepts post content, media files, scheduling information, tags, categories. Returns the created post with post ID and status. Use this tool when users want to create social media post, publish post, schedule social media content, post to multiple platforms, or create social media content. Ideal for social media content creation, multi-platform posting, content scheduling, and social media management. Capabilities: create_create-post Examples: - Use this tool to create post - Endpoint: /social-media-posting/{authorized location}/posts Source: default | Team: social-media-posting

ActionTry it

Social-media-posting edit-post

Modifies an existing social media post including content, media, scheduling, and platform-specific settings. Can update post summary, media files, schedule date, tags, categories, approval details, and platform configurations. Returns the updated post with modified fields. Use this tool when users want to edit social media post, update post content, modify scheduled post, change post details, or revise social media content. Ideal for post editing, content updates, schedule changes, and social media post modification. Capabilities: edit-post Examples: - Use this tool to edit post - Endpoint: /social-media-posting/{authorized location}/posts/{id} Source: default | Team: social-media-posting

ActionTry it

Social-media-posting get-account

Retrieves a list of connected social media accounts and groups for a location. Returns account information including account IDs, platform types, and group associations. Use this tool when users want to get social media accounts, list connected accounts, find available accounts, or retrieve account information. Ideal for account selection, account management, and social media account discovery. Capabilities: get_get-account Examples: - Use this tool to get accounts - Endpoint: /social-media-posting/{authorized location}/accounts Source: default | Team: social-media-posting

ActionTry it

Social-media-posting get-post

Retrieves detailed information for a specific social media post by post ID. Returns complete post details including content, media, status, schedule information, platform accounts, tags, categories, and post metadata. Use this tool when users want to get post details, view social media post, see post information, retrieve post data, or look up post by ID. Ideal for post detail viewing, post information retrieval, and post data lookup. Capabilities: get_get-post Examples: - Use this tool to get post - Endpoint: /social-media-posting/{authorized location}/posts/{id} Source: default | Team: social-media-posting

ActionTry it

Social-media-posting get-posts

Retrieves social media posts with advanced filtering and pagination. Supports filtering by post type (recent, all, scheduled, draft, failed, in_review, published, in_progress, deleted), account IDs, date range, and post type (post, story, reel). Returns post list with content, media, status, schedule information, and post metadata. Use this tool when users want to get social media posts, list posts, find posts by status, search posts, filter posts by account, or view scheduled posts. Ideal for post management, content review, post scheduling, and social media content browsing. Capabilities: get_get-posts Examples: - Use this tool to get posts - Endpoint: /social-media-posting/{authorized location}/posts/list Source: default | Team: social-media-posting

ActionTry it

Social-media-posting get-social-media-statistics

Retrieve analytics data for multiple social media accounts. Provides metrics for the last 7 days with comparison to the previous 7 days. Supports filtering by platforms and specific connected accounts. Capabilities: get_get-social-media-statistics Examples: - Use this tool to get social media statistics - Endpoint: /social-media-posting/statistics Source: default | Team: social-media-posting

ActionTry it

How the HighLevel MCP integration works

The HighLevel MCP integration connects your Dench AI CRM directly to HighLevel MCP, so agents can read and act on your HighLevel MCP data as part of everyday work — answering questions in chat, keeping your CRM in sync, and running automations without anyone copying data between tools.

36 actions are available for agents to invoke on your behalf. Every call runs through HighLevel MCP's own authorization, scoped to the account you connect.

Set up HighLevel MCP in Dench

  1. 1

    Sign in to your Dench workspace and open Integrations.

  2. 2

    Find HighLevel MCP and click Connect — you'll authorize access through HighLevel MCP's own sign-in flow. No API keys or code required.

  3. 3

    Ask an agent to use HighLevel MCP in chat, or call it from an automation.

  4. 4

    Manage or disconnect the connection any time from workspace settings.

Frequently asked questions

How does the HighLevel MCP integration work with Dench?

The Dench HighLevel MCP integration connects your AI CRM to HighLevel MCP, so AI agents can work with your HighLevel MCP data as part of chats, automations, and CRM workflows. You connect your account once, and every agent in your workspace can use it — governed by your workspace permissions.

What actions can AI agents perform with HighLevel MCP via Dench?

The HighLevel MCP integration currently exposes 36 actions, including Blogs check-url-slug-exists, Blogs create-blog-post, Blogs get-all-blog-authors-by-location, Blogs get-all-categories-by-location, Blogs get-blog-post, and Blogs get-blogs. Agents invoke them on your behalf from chat or from automations.

Do I need to write code to connect HighLevel MCP to Dench?

No. You connect HighLevel MCP from your Dench workspace using HighLevel MCP's own sign-in and authorization flow — no API keys to copy, no glue code to maintain.

Is the HighLevel MCP integration secure?

Connections are authorized through HighLevel MCP's own authentication flow, and Dench stores only the authorization needed to act on your behalf. You can review and disconnect the HighLevel MCP connection from your workspace settings at any time.