# HighLevel Location MCP

Vendor: HighLevel Location  
Category: crm  
Auth: OAUTH2  
Composio slug: `highlevel_location`

HighLevel provides Location-scoped CRM, marketing, conversations, calendars, payments, and business automation APIs.

## Tools

- **Add custom audience member** — Add a member to a Facebook custom audience Location PITs must be provisioned with the HighLevel permission: `adPublishing.write`.
- **Batch update audience members** — Queue an asynchronous job to add, remove, or replace Facebook custom-audience members via CSV or smart lists. HighLevel does not validate the audience or smart-list IDs before returning `success:true`, so that response means only that the j
- **Create conversation form** — Create a new Facebook conversation lead form. HighLevel exposes no delete counterpart for conversation forms. Location PITs must be provisioned with the HighLevel permission: `adPublishing.write`.
- **Create offline user list job** — Create a job to upload users to an existing Google Customer Match list. Verify user_list_id and smart_list_ids before calling: HighLevel can return success=true even when either identifier does not exist, and this action cannot verify downs
- **Create page lead form** — Create a new lead form on a Facebook page. is_draft=true always creates a new local draft; draft_form_id does not update an existing draft, and drafts cannot be deleted through this toolkit. Location PITs must be provisioned with the HighLe
- **Delete ad** — Permanently delete a Facebook ad. Unlike campaign and ad-set deletion, this is a hard delete and a repeated delete returns not found. Location PITs must be provisioned with the HighLevel permission: `adPublishing.write`.
- **Delete ad set** — Archive a Facebook ad set and remove its ads. This is a soft delete: the ad set may remain readable with publishingStatus=ARCHIVED. Location PITs must be provisioned with the HighLevel permission: `adPublishing.write`.
- **Delete campaign** — Archive a Facebook campaign and its ad sets. This is a soft delete: Get campaign continues to return the campaign with publishingStatus=ARCHIVED, and repeated deletes may still return success=true. Location PITs must be provisioned with the
- **Delete conversion** — Soft-delete a Google Ads conversion action by ID. Google retains the resource with status REMOVED, so GET_CONVERSION_BY_ID may still return it after deletion. HighLevel may report an unknown ID as an opaque 500 rather than not-found. Locati
- **Delete custom audience** — Delete a Facebook custom audience by ID Location PITs must be provisioned with the HighLevel permission: `adPublishing.write`.
- **Delete Facebook integration** — Remove the Facebook ad integration from a location Location PITs must be provisioned with the HighLevel permission: `adPublishing.write`.
- **Delete page connection** — Remove a Facebook page connection from a location. HighLevel does not validate page_id before returning success=true, so success confirms request acceptance, not that the page existed or was disconnected. Location PITs must be provisioned w
- **Delete segment** — Delete a Google Ads audience segment by ID. HighLevel may report an unknown ID as an opaque 500 rather than not-found. Location PITs must be provisioned with the HighLevel permission: `adPublishing.write`.
- **Duplicate ad** — Duplicate an existing Facebook ad Location PITs must be provisioned with the HighLevel permission: `adPublishing.write`.
- **Duplicate ad set** — Duplicate an existing Facebook ad set Location PITs must be provisioned with the HighLevel permission: `adPublishing.write`.
- **Duplicate campaign** — Duplicate an existing Facebook campaign Location PITs must be provisioned with the HighLevel permission: `adPublishing.write`.
- **Get assets** — Retrieve Google Ads creative assets for a location Location PITs must be provisioned with the HighLevel permission: `adPublishing.readonly`.
- **Get audience by ID** — Retrieve a specific Google Ads combined audience by ID Location PITs must be provisioned with the HighLevel permission: `adPublishing.readonly`.
- **Get audiences** — Retrieve Google Ads combined audiences for a location Location PITs must be provisioned with the HighLevel permission: `adPublishing.readonly`.
- **Get campaign with linked entities** — Retrieve a Facebook campaign with its linked adsets and ads Location PITs must be provisioned with the HighLevel permission: `adPublishing.readonly`.
- **Get conversation forms** — Retrieve Facebook conversation lead forms for a location Location PITs must be provisioned with the HighLevel permission: `adPublishing.readonly`.
- **Get conversion by ID** — Retrieve a specific Google Ads conversion action by ID Location PITs must be provisioned with the HighLevel permission: `adPublishing.readonly`.
- **Get conversion goals** — Retrieve Google Ads conversion goals for a location Location PITs must be provisioned with the HighLevel permission: `adPublishing.readonly`.
- **Get conversion pixels** — Retrieve Facebook conversion pixels for a location. Facebook-channel results are returned under `items`; Instagram-channel results are returned under `details`. HighLevel may return the full pixel list when page_id does not match a known pa
- **Get conversions** — Retrieve Google Ads conversion actions for a location Location PITs must be provisioned with the HighLevel permission: `adPublishing.readonly`.
- **Get custom audience by ID** — Retrieve a specific Facebook custom audience by its ID Location PITs must be provisioned with the HighLevel permission: `adPublishing.readonly`.
- **Get custom audiences** — Retrieve Facebook custom audiences for a location. HighLevel returns an empty details list for an unknown ad account ID, so an empty result does not validate that account. Location PITs must be provisioned with the HighLevel permission: `ad
- **Get entities** — List Facebook campaigns, ad sets, or ads that exist on Meta. Local HighLevel drafts are not returned. type=INTEGRATION requires selected_ad_account_id. An empty result is returned as data=[] rather than an error. Location PITs must be provi
- **Get entities** — Retrieve Google-side campaigns, ad groups, or ads through the current AD_MANAGER path. HighLevel draft campaigns are not returned; retain the ID returned by UPSERT_CAMPAIGN and use GET_CAMPAIGN_BY_ID to read a draft. ADGROUP requires campai
- **Get Facebook Campaign Publishing Progress** — Return the current Meta publishing step counts and completion state for a Facebook campaign. Location PITs must be provisioned with the HighLevel permission `adPublishing.readonly`; a minimal PIT without it was denied while a broad PIT pass
- **Get Facebook pages** — Retrieve Facebook pages associated with the connected account Location PITs must be provisioned with the HighLevel permission: `adPublishing.readonly`.
- **Get Google Campaign by ID** — Retrieve a specific Google Ads campaign by ID, including its ad groups and ad content. Location PITs must be provisioned with the HighLevel permission: `adPublishing.readonly`.
- **Get Instagram accounts for page** — Retrieve Instagram accounts linked to a specific Facebook page Location PITs must be provisioned with the HighLevel permission: `adPublishing.readonly`.
- **Get keyword ideas** — Retrieve keyword suggestions for Google Ads campaigns Location PITs must be provisioned with the HighLevel permission: `adPublishing.readonly`.
- **Get lead form by ID** — Retrieve a specific published or draft Facebook lead form by ID. Draft IDs require is_draft=true. Location PITs must be provisioned with the HighLevel permission: `adPublishing.readonly`.
- **Get page lead forms** — Retrieve lead forms for a Facebook page. Draft IDs are returned with a draft_ prefix; pass that ID and is_draft=true to Get lead form by ID. HighLevel may return drafts even when is_draft=false. Location PITs must be provisioned with the Hi
- **Pause ad** — Pause a published Facebook ad. Draft or otherwise unpublished ads cannot be paused. Location PITs must be provisioned with the HighLevel permission: `adPublishing.write`.
- **Pause ad set** — Pause a published Facebook ad set. Draft or otherwise unpublished ad sets cannot be paused. Location PITs must be provisioned with the HighLevel permission: `adPublishing.write`.
- **Pause campaign** — Pause a published Facebook campaign. Draft or otherwise unpublished campaigns cannot be paused. Location PITs must be provisioned with the HighLevel permission: `adPublishing.write`.
- **Publish campaign** — Publish a Facebook campaign and push it live to Facebook Location PITs must be provisioned with the HighLevel permission: `adPublishing.write`.
- **Remove custom audience member** — Remove a member from a Facebook custom audience Location PITs must be provisioned with the HighLevel permission: `adPublishing.write`.
- **Resume ad** — Resume a paused Facebook ad. The ad must already be published and paused. Location PITs must be provisioned with the HighLevel permission: `adPublishing.write`.
- **Resume ad set** — Resume a paused Facebook ad set. The ad set must already be published and paused. Location PITs must be provisioned with the HighLevel permission: `adPublishing.write`.
- **Resume campaign** — Resume a paused Facebook campaign. The campaign must already be published and paused. Location PITs must be provisioned with the HighLevel permission: `adPublishing.write`.
- **Set default page** — Set the default Facebook page for a location. HighLevel does not validate page_id before returning success=true and an unknown ID can unset the real default, so verify the integration after this call. Location PITs must be provisioned with 
- **Update custom audience** — Update name or description of a Facebook custom audience Location PITs must be provisioned with the HighLevel permission: `adPublishing.write`.
- **Upsert ad** — Create or update a Facebook ad. Creating requires a non-empty name. Each media item type must be lowercase image or video. Location PITs must be provisioned with the HighLevel permission: `adPublishing.write`.
- **Upsert adset** — Create or update a Facebook ad set. Creating requires a non-empty name. Publishing every ad set requires name, pageId, audience, and budget with budgetType and amount. audience.placements must be an object keyed by platform, for example {fa
- **Upsert campaign** — Create or update a Facebook campaign. Creating requires a non-empty name and an objective; updates may identify the campaign by id. Location PITs must be provisioned with the HighLevel permission: `adPublishing.write`.
- **Upsert conversion pixel** — Create or update a Facebook conversion pixel. Omitting conversion_pixel_id or supplying an unknown ID creates a real Meta pixel/dataset; this is not a local draft. INSTAGRAM_DM pixels cannot be updated, and an empty name is ignored by HighL

## Setup

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

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