# HighLevel MCP MCP

Vendor: HighLevel MCP  
Category: other  
Auth: API_KEY  
Composio slug: `highlevel_mcp`

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

## Verdict

HighLevel MCP connects your team to a white-label CRM and marketing automation platform built for agencies. @mention it to manage blog content, pull appointment notes, check calendar availability, or update client records without leaving Switchy. Marketing teams use it to draft and schedule blog posts across client sites; account managers use it to surface appointment context before calls. The MCP exposes 36 tools covering blogs, calendars, contacts, and campaigns. You'll need a HighLevel API key with appropriate location access — some operations require admin permissions, and the tool set assumes you're already managing client workspaces inside HighLevel.

## Tools

- **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 user
- **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 public
- **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
- **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 t
- **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. R
- **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 t
- **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, an
- **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 use
- **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, d
- **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 incl
- **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 con
- **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 to
- **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
- **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 endp
- **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 
- **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 c
- **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
- **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 lis
- **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, 
- **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
- **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 temp
- **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
- **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
- **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
- **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, 
- **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
- **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. Re
- **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 whe
- **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
- **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
- **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 infor
- **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 u
- **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 conne
- **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 use
- **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, r
- **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-st

## Setup

1. Create or open a Switchy Project.
2. Open Integrations and connect HighLevel MCP.
3. Authorise through api_key.
4. Teammates can now @-mention HighLevel MCP tools in chat.

---
Last verified: 2026-10-17T02:00:10.360Z  
Canonical URL: https://switchy.build/directory/mcps/highlevel-mcp