Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
ghl_search_contactsA

Search/list contacts in a GoHighLevel location. Supports a free-text query (matches name, email, phone) and pagination. Returns matching contacts.

ghl_get_contactA

Fetch a single contact by id, including custom fields and tags.

ghl_create_contactA

Create a new contact. At least one of email or phone is recommended so the contact can be matched/deduplicated. Returns the created contact.

ghl_update_contactA

Update fields on an existing contact. Only provided fields are changed.

ghl_add_contact_tagsA

Add one or more tags to a contact without removing existing tags.

ghl_delete_contactA

Permanently delete a contact. This is destructive and cannot be undone.

ghl_get_pipelinesA

List all opportunity pipelines and their stages for a location. Use this to discover pipelineId and pipelineStageId values needed by other tools.

ghl_search_opportunitiesA

Search opportunities (deals) in a location. Filter by pipeline, stage, status, assigned user, or free-text query.

ghl_get_opportunityA

Fetch a single opportunity (deal) by id.

ghl_create_opportunityA

Create a new opportunity (deal) in a pipeline stage. Use ghl_get_pipelines first to obtain valid pipelineId and pipelineStageId values.

ghl_update_opportunityA

Update an opportunity: move stage, change status, value, name, or owner. Only provided fields are changed.

ghl_get_calendarsA

List calendars for a location. Use this to find a calendarId for booking and availability lookups.

ghl_get_free_slotsA

Get available booking slots for a calendar within a date range. startDate and endDate are epoch milliseconds.

ghl_create_appointmentA

Book an appointment on a calendar for a contact. startTime/endTime are ISO 8601 strings (e.g. 2026-06-20T15:00:00-04:00). Use ghl_get_free_slots first.

ghl_get_appointmentB

Fetch a single calendar appointment/event by id.

ghl_update_appointmentA

Update an appointment's time or status (e.g. confirm, cancel, mark showed). Only provided fields are changed.

ghl_delete_appointmentA

Delete a calendar event by its id. Works for both appointments and blocked time slots. Destructive and cannot be undone — to keep the record but mark it off, use ghl_update_appointment with appointmentStatus 'cancelled' instead.

ghl_search_conversationsA

Search conversations in a location, optionally filtered to a contact. Returns conversation threads with their ids and last-message info.

ghl_get_messagesA

Fetch messages within a conversation thread, newest first. Use ghl_search_conversations to find a conversationId.

ghl_send_messageA

Send an outbound message to a contact via SMS or Email. For Email you must provide subject and html (or message as plain text). For SMS provide message. The contact must have a valid phone/email for the chosen channel.

ghl_list_invoicesA

List invoices for a location with pagination. Optionally filter by status (e.g. draft, sent, paid) and contact.

ghl_get_invoiceA

Fetch a single invoice by id, including line items and totals.

ghl_create_invoiceA

Create a draft invoice for a contact. Provide line items (name, qty, price). Business details are taken from GHL_BUSINESS_* env vars (or businessName/businessPhone overrides); contact details (name, phone, email, address) are auto-filled from the contact record. The invoice is created in draft status; use ghl_send_invoice to deliver it.

ghl_send_invoiceA

Send/deliver an existing invoice to the contact via the configured channel(s). This is outward-facing: it emails/texts the customer.

ghl_void_invoiceA

Void an invoice. Use this for invoices that have already been sent (which can no longer be deleted). Voiding cancels the invoice while keeping the record.

ghl_delete_invoiceA

Delete an invoice. Only works while it is a draft — a sent invoice must be voided with ghl_void_invoice instead. Destructive and cannot be undone.

ghl_list_workflowsA

List the automation workflows configured in a location. Note: workflows must be built in the GoHighLevel UI; the API cannot create them. Use the returned workflow ids with ghl_add_contact_to_workflow to trigger automations.

ghl_add_contact_to_workflowA

Enroll a contact into an automation workflow, triggering it for that contact. Use ghl_list_workflows to find workflowId.

ghl_remove_contact_from_workflowB

Remove a contact from an automation workflow, halting it for them.

ghl_list_custom_fieldsA

List custom field definitions for a location. Filter by model (contact, opportunity, or all) to see which fields apply where. Use the returned ids when reading/writing custom field values on contacts.

ghl_get_custom_fieldA

Fetch a single custom field definition by id.

ghl_create_custom_fieldA

Create a custom field definition. For option-based types (SINGLE_OPTIONS, MULTIPLE_OPTIONS, RADIO, CHECKBOX) provide the options array.

ghl_update_custom_fieldA

Update a custom field definition. Only provided fields change.

ghl_delete_custom_fieldA

Delete a custom field definition. Destructive: removes the field and its stored values across records.

ghl_list_contact_tasksB

List all tasks attached to a contact.

ghl_get_contact_taskB

Fetch a single task on a contact by id.

ghl_create_contact_taskA

Create a task on a contact. dueDate is ISO 8601 (e.g. 2026-06-20T17:00:00Z).

ghl_update_contact_taskB

Update a task (e.g. mark completed, change due date or assignee). Only provided fields change.

ghl_delete_contact_taskA

Delete a task from a contact. Destructive.

ghl_list_contact_notesA

List all notes logged on a contact, newest first.

ghl_get_contact_noteB

Fetch a single note on a contact by id.

ghl_create_contact_noteA

Add a note to a contact.

ghl_update_contact_noteB

Update the text of an existing note on a contact.

ghl_delete_contact_noteA

Delete a note from a contact. Destructive.

ghl_list_productsA

List products in a location with pagination and optional search. Use the returned product ids when adding prices or building invoices/estimates.

ghl_get_productB

Fetch a single product by id.

ghl_create_productA

Create a product. After creating, add one or more prices with ghl_create_product_price so it can be used on invoices/estimates.

ghl_update_productA

Update a product's fields. Only provided fields change.

ghl_delete_productC

Delete a product. Destructive.

ghl_list_product_pricesA

List the prices configured for a product.

ghl_create_product_priceA

Add a price to a product. type 'one_time' for a single charge or 'recurring' for a subscription. amount is in the smallest practical unit of the currency as accepted by GHL (typically major units, e.g. 49.99).

ghl_list_estimatesA

List estimates (quotes) for a location with pagination. Optionally filter by status or contact.

ghl_generate_estimate_numberA

Generate the next available estimate number for the location. Some accounts require an estimateNumber when creating an estimate — call this first.

ghl_create_estimateA

Create an estimate (quote) for a contact with line items. If your account requires it, get estimateNumber from ghl_generate_estimate_number first. issueDate/expiryDate are YYYY-MM-DD.

ghl_update_estimateA

Update an existing estimate. Pass the full set of items you want on the estimate (they replace the prior items). Only provided top-level fields change.

ghl_send_estimateA

Send an estimate to the contact. Outward-facing: this emails/texts the customer.

ghl_estimate_to_invoiceA

Create an invoice from an accepted estimate, carrying over its line items.

ghl_delete_estimateC

Delete an estimate. Destructive.

ghl_list_ordersA

List payment orders for a location with pagination. Optionally filter by status or contact. Use to see what was purchased and whether it was paid.

ghl_get_orderA

Fetch a single payment order by id, including line items and amounts.

ghl_list_transactionsA

List payment transactions for a location. Useful for reconciling revenue and spotting failed or refunded charges.

ghl_list_subscriptionsA

List recurring subscriptions for a location (e.g. retainers). Optionally filter by contact.

ghl_get_subscriptionC

Fetch a single subscription by id.

ghl_list_formsA

List forms in a location. Use the returned form ids to fetch submissions.

ghl_get_form_submissionsA

Fetch submissions for a location's forms, optionally filtered to one form or a date range. Dates are YYYY-MM-DD.

ghl_list_surveysA

List surveys in a location. Use the returned survey ids to fetch submissions.

ghl_get_survey_submissionsA

Fetch submissions for a location's surveys, optionally filtered to one survey.

ghl_list_usersA

List users (team members) in a location. Use the returned ids as assignedTo / assignedUserId values when creating tasks, opportunities, or appointments.

ghl_get_userB

Fetch a single user by id.

ghl_list_funnelsA

List funnels in a location. Optionally filter by type, category, or name.

ghl_list_funnel_pagesC

List the pages within a funnel.

ghl_get_calendar_eventsA

List calendar events/appointments within a time window. You must provide one of calendarId, userId, or groupId to scope the query. startTime/endTime are epoch milliseconds.

ghl_block_calendar_slotA

Block off time on a calendar so it can't be booked (e.g. a filming or edit day). startTime/endTime are ISO 8601 strings.

ghl_list_appointment_notesA

List notes attached to a calendar appointment.

ghl_create_appointment_noteA

Add a note to a calendar appointment (e.g. outcome of a shoot/call).

ghl_list_social_accountsA

List the social media accounts connected to the location's Social Planner. Use the returned account ids when creating a post.

ghl_list_social_postsB

List scheduled/published social posts for the location. Optionally filter by account ids and a date range (ISO 8601).

ghl_get_social_postA

Fetch a single social post by id.

ghl_create_social_postA

Schedule or publish a social post to one or more connected accounts. Provide scheduleDate (ISO 8601) for a scheduled post; omit for an immediate draft per status. mediaUrls can include image/video URLs already hosted in GHL.

ghl_delete_social_postA

Delete a scheduled or draft social post. Destructive.

ghl_list_mediaA

List files/folders in the location's Media Library with pagination, search, and optional type filter.

ghl_upload_media_by_urlA

Add a file to the Media Library by referencing a publicly reachable URL (GHL fetches and hosts it). Good for deliverables or talent photos already available at a link. For raw binary uploads use the GHL UI.

ghl_delete_mediaC

Delete a file from the Media Library. Destructive.

ghl_list_campaignsA

List marketing campaigns in a location. Use a campaign id with ghl_add_contact_to_campaign.

ghl_add_contact_to_campaignA

Enroll a contact into a campaign, starting it for them.

ghl_remove_contact_from_campaignA

Remove a contact from a campaign (or all campaigns if no id given).

ghl_list_trigger_linksA

List trackable trigger links in a location.

ghl_create_trigger_linkA

Create a trackable trigger link that redirects to a destination URL and can fire automations on click.

ghl_delete_trigger_linkB

Delete a trigger link. Destructive.

ghl_list_tagsA

List all tags defined in a location.

ghl_create_tagC

Create a new tag in the location's master tag list.

ghl_update_tagC

Rename an existing tag.

ghl_delete_tagA

Delete a tag from the location. Destructive: removes it from records.

ghl_list_custom_valuesA

List location custom values (reusable merge fields used in templates/messages).

ghl_get_custom_valueC

Fetch a single custom value by id.

ghl_create_custom_valueC

Create a new custom value (merge field) with a name and value.

ghl_update_custom_valueB

Update a custom value's name and/or value.

ghl_delete_custom_valueC

Delete a custom value. Destructive.

ghl_list_businessesA

List business (company) records in a location.

ghl_get_businessA

Fetch a single business record by id.

ghl_create_businessC

Create a business (company) record.

ghl_update_businessA

Update a business record. Only provided fields change.

ghl_delete_businessB

Delete a business record. Destructive.

ghl_list_object_schemasA

List the custom object (and standard object) schemas defined in a location. Use the returned schema key with the record tools.

ghl_get_object_schemaB

Fetch a custom object schema by key (e.g. custom_objects.podcast_episode), including its properties.

ghl_search_object_recordsC

Search records of a custom object by a text query.

ghl_get_object_recordB

Fetch a single custom object record by id.

ghl_create_object_recordB

Create a record for a custom object. properties is a key/value map matching the schema's property keys.

ghl_update_object_recordC

Update a custom object record's properties.

ghl_delete_object_recordC

Delete a custom object record. Destructive.

ghl_list_associationsA

List association definitions in a location (the relationship types available between record kinds).

ghl_get_record_relationsB

List the relations a given record participates in.

ghl_create_relationA

Create a relation between two records using an association definition. Get associationId from ghl_list_associations.

ghl_delete_relationB

Delete a relation between two records. Destructive.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/vmproductions631-tech/gohighlevel-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server