Skip to navigation

GoHighLevel

Connect your AI agents to GoHighLevel.

Authentication: Private integration token or OAuth. See Magic Link for the runtime auth flow, or Application credentials to bring your own OAuth app.

Sample use cases

  • Create a contact for jane.doe@example.com and add the webinar-lead tag
  • List the opportunities in the Sales Pipeline that moved to Won this month
  • Book an appointment on the Discovery Call calendar for Friday at 10am

Available Tools

add_contact_tags

Add one or more tags to a contact. Tags that don’t exist yet are created. Use list_contacts to find contact IDs. Retu…

check_blog_post_slug

Check whether a blog post URL slug is already in use for a location. Call this before create_blog_post or before chan…

create_appointment

Book an appointment on a calendar. calendarId, locationId, contactId, and startTime are required. Use list_calendars…

create_blog_post

Create a blog post on a blog site. location_id, blog_id, raw_html, and status are required. Use list_blogs for blog_i…

create_contact

Create a contact in a location. location_id is required: use search_locations to find it. Returns the new contact ID…

create_contact_note

Create a note on a contact. body is required. Use list_contacts to find contact IDs. Returns the new note ID.

create_contact_task

Create a task on a contact. title, dueDate, and completed are all required (pass completed=false for a new open task)…

create_email_template

Create an email builder template in a location. location_id and type are required: use search_locations for location_…

create_opportunity

Create an opportunity. pipelineId, locationId, name, status, and contactId are required. Call list_pipelines first to…

create_social_post

Create a social media post for connected accounts. location_id and type are required; use search_locations for locati…

delete_appointment

Permanently delete an appointment (calendar event) by ID. This cannot be undone. Use list_calendar_events or get_appo…

delete_contact

Permanently delete a contact by ID. This cannot be undone. Use list_contacts to find contact IDs.

delete_contact_note

Permanently delete a note on a contact. Use list_contact_notes to find note IDs and list_contacts for contact IDs.

delete_contact_task

Permanently delete a task on a contact. Use list_contact_tasks to find task IDs and list_contacts for contact IDs.

delete_email_template

Delete an email builder template (the inverse of create_email_template). location_id and template_id are required: us…

delete_opportunity

Permanently delete an opportunity by ID. This cannot be undone. Use search_opportunities to find opportunity IDs.

delete_social_post

Delete a social media post (the inverse of create_social_post). location_id and post_id are required: use search_loca…

get_appointment

Fetch one appointment (calendar event) by ID. Use list_calendar_events to find event IDs.

get_calendar

Fetch one calendar by ID. Use list_calendars to find calendar IDs.

get_contact

Fetch one contact by ID. Use list_contacts to find contact IDs.

get_contact_note

Fetch one note on a contact by ID. Use list_contact_notes to find note IDs and list_contacts for contact IDs.

get_contact_task

Fetch one task on a contact by ID. Use list_contact_tasks to find task IDs and list_contacts to find contact IDs.

get_location

Fetch one HighLevel location (sub-account) by ID. Use search_locations to find location IDs.

get_opportunity

Fetch one opportunity by ID. Use search_opportunities to find opportunity IDs.

get_order

Fetch one payment order by ID. location_id is required (sent as the API’s altId): use search_locations to find it. Fi…

get_social_media_statistics

Retrieve social media analytics for connected accounts over a date range, with an optional comparison period. locatio…

get_social_post

Fetch one social media post by ID. location_id and post_id are required: use search_locations for location_id and lis…

list_appointment_notes

List notes attached to an appointment, with limit/offset paging. Use list_calendar_events or get_appointment to find…

list_blog_authors

List blog authors in a location with search and limit/offset paging. location_id is required: use search_locations to…

list_blog_categories

List blog categories in a location with search and limit/offset paging. location_id is required: use search_locations…

list_blog_posts

List blog posts for a blog site with search and status filters and limit/offset paging. location_id and blog_id are r…

list_blogs

List blog sites in a location. location_id is required: use search_locations to find it. Returns blog site IDs for li…

list_calendar_events

List calendar events (appointments) in a location. location_id, start_time, and end_time (an epoch-ms window) are all…

list_calendars

List calendars in a location. location_id is required: use search_locations to find it. Returns calendar IDs for get_…

list_contact_notes

List all notes on a contact. Use list_contacts to find contact IDs. Returns note IDs for get/update/delete_contact_note.

list_contact_tasks

List all tasks on a contact. Use list_contacts to find contact IDs. Returns task IDs for get/update/delete_contact_task.

list_contacts

List contacts in a location with free-text search and limit paging. location_id is required: use search_locations to…

list_conversation_messages

List messages in a conversation, newest first, with limit paging. Use search_conversations to find conversation IDs…

list_custom_fields

List a location’s custom field definitions (ID, name, key, data type, picklist options). location_id is required: use…

list_email_templates

List email builder templates for a location with search and limit/offset paging. location_id is required: use search_…

list_pipelines

List opportunity pipelines and their stages in a location. location_id is required: use search_locations to find it…

list_social_accounts

List connected social media accounts and groups for a location. location_id is required: use search_locations to find…

list_social_posts

List social media posts in a location with status, account, post-type, and date-range filters plus limit/skip paging…

list_transactions

List payment transactions in a location with filters for contact, subscription, entity, date range, payment mode, and…

remove_contact_tags

Remove one or more tags from a contact (the inverse of add_contact_tags). Use list_contacts to find contact IDs. Retu…

search_conversations

Search conversations in a location with filters for contact, assignee, status, last-message type/direction, free-text…

search_locations

Search HighLevel locations (sub-accounts) with offset paging. Use this to discover location IDs required by list_cont…

search_opportunities

Search opportunities in a location with server-side filters. location_id is required: use search_locations to find it…

send_conversation_message

Send a new message to a contact on a channel (SMS, Email, WhatsApp, IG, FB, Custom, Live_Chat). type, contact_id, and…

update_blog_post

Update an existing blog post. post_id, location_id, blog_id, raw_html, and status are required. Use list_blog_posts f…

update_contact

Update a contact’s fields. Only the fields you pass are changed. Use list_contacts to find contact IDs.

update_contact_note

Update a note on a contact. body is required. Use list_contact_notes to find note IDs and list_contacts for contact IDs.

update_contact_task

Update a task on a contact. Only the fields you pass are changed. Use list_contact_tasks to find task IDs and list_co…

update_opportunity

Update an opportunity’s fields. Only the fields you pass are changed. Use search_opportunities to find opportunity ID…

update_social_post

Update a social media post. location_id, post_id, and type are required; use search_locations for location_id, list_s…

upsert_contact

Create a contact, or update the existing one that matches by email/phone per the location’s ‘Allow Duplicate Contact’…