# Highlevel

HighLevel provides a marketing automation and CRM platform for agencies, featuring funnels, appointment scheduling, two-way texting, and other tools to drive client success

- **Category:** marketing automation
- **Auth:** OAUTH2
- **Composio Managed App Available?** No
- **Tools:** 94
- **Triggers:** 0
- **Slug:** `HIGHLEVEL`
- **Version:** 20260417_00

## Tools

### Check Account Funds

**Slug:** `HIGHLEVEL_CHECK_ACCOUNT_FUNDS`

Checks if the GoHighLevel account has sufficient funds to cover marketplace charges. Use this action when you need to verify whether an account has adequate balance before initiating marketplace purchases, billing operations, or any transaction that requires funds to be available. This is a read-only operation that simply queries the current fund status. Required headers (handled automatically): Version: 2021-07-28

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Brand Voice

**Slug:** `HIGHLEVEL_CREATE_BRAND_BOARDS_VOICES`

Creates a new brand voice for the specified location in GoHighLevel. Use this action when you need to define a brand voice with a name, tone, target audience, and customer pain points to represent the brand's communication style. Required headers (handled automatically): Version: 2021-07-28

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | The name of the brand voice. |
| `type` | string ("manual") | Yes | The type of brand voice. Currently only 'manual' is supported. |
| `answers` | object | Yes | Required answers when creating a manual brand voice. Contains brand details like name, tone, target audience and customer pain points. |
| `locationId` | string | Yes | The unique identifier of the location where the brand voice will be created. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Calendars Service Location

**Slug:** `HIGHLEVEL_CREATE_CALENDARS_SERVICE_LOCATION`

Creates a new service location for the calendar services. Use this action when you need to add a new service location within a location in GoHighLevel. The service location will be associated with the location identified by the location_id parameter and will be accessible via the calendars API. Required headers (handled automatically): Content-Type: application/json, Version: 2021-07-28

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | The name of the service location. |
| `slug` | string | Yes | A URL-friendly slug for the service location. Must be unique within the location. |
| `locationId` | string | Yes | The unique identifier of the location where the service location will be created. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Email Template Folder

**Slug:** `HIGHLEVEL_CREATE_EMAILS_TEMPLATES_FOLDER`

Creates a new email template folder for the specified location. Use this action when you need to create a folder to organize email templates within a location in GoHighLevel. The folder will be associated with the location identified by the location_id parameter. This action is useful for organizing email templates into logical categories. Required headers (handled automatically): Version: 2021-07-28

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | The name of the template folder to create. |
| `location_id` | string | Yes | The unique identifier of the location where the template folder will be created. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create FAQ

**Slug:** `HIGHLEVEL_CREATE_FAQ`

Creates a new FAQ inside a knowledge base. Use this action when you need to add a new question and answer pair to a knowledge base in GoHighLevel. The FAQ will be associated with the location and knowledge base identified by the provided IDs. Required headers (handled automatically): Content-Type: application/json, Version: 2021-04-15

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `answer` | string | Yes | The answer text for the FAQ |
| `question` | string | Yes | The question text for the FAQ |
| `location_id` | string | Yes | The unique identifier of the location where the knowledge base exists |
| `knowledge_base_id` | string | Yes | The unique identifier of the knowledge base to add the FAQ to |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Media Folder

**Slug:** `HIGHLEVEL_CREATE_MEDIAS_FOLDER`

Creates a new folder in the media storage for a location. Use this action when you need to organize media files by creating a new folder in the GoHighLevel media library. The folder can be created at the root level or as a nested folder under an existing parent folder.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Name of the folder to be created |
| `alt_id` | string | Yes | Location ID associated with the folder |
| `alt_type` | string | Yes | Type of entity (currently only 'location' is supported) |
| `parent_id` | string | No | ID of the parent folder (optional, use for nested folders) |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Product

**Slug:** `HIGHLEVEL_CREATE_PRODUCT`

Creates a new product with the specified details in the HighLevel system. Use this action when you need to add a new product to a location in HighLevel, such as creating a service, digital product, or physical item with associated pricing, variants, and tax configurations.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `seo` | object | No | SEO data for the product |
| `name` | string | Yes | The name of the product. |
| `slug` | string | No | The slug using which the product navigation will be handled. |
| `image` | string | No | The URL for the product image. |
| `label` | object | No | Label data for product promotion period |
| `taxes` | array | No | List of IDs of Taxes attached to the Product. If taxes are passed, isTaxesEnabled should be true. |
| `medias` | array | No | An array of medias for the product. |
| `variants` | array | No | An array of variants for the product. |
| `locationId` | string | Yes | The unique identifier for the location. |
| `description` | string | No | A brief description of the product. |
| `productType` | string ("DIGITAL" | "PHYSICAL" | "SERVICE" | "PHYSICAL/DIGITAL") | Yes | The type of the product. |
| `taxInclusive` | boolean | No | Whether the taxes should be included in the purchase price. |
| `collectionIds` | array | No | An array of category IDs for the product. |
| `isLabelEnabled` | boolean | No | Is the product label enabled. If this is true, label object cannot be empty. |
| `isTaxesEnabled` | boolean | No | Are there any taxes attached to the product. If this is true, taxes array cannot be empty. |
| `availableInStore` | boolean | No | Indicates whether the product is available in-store. |
| `statementDescriptor` | string | No | The statement descriptor for the product. |
| `automaticTaxCategoryId` | string | No | Tax category ID for Automatic taxes calculation. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Tag

**Slug:** `HIGHLEVEL_CREATE_TAG`

Creates a new tag for the specified location. Use this action when you need to create a tag within a location in GoHighLevel. The tag will be associated with the location identified by the location_id parameter. Required headers (handled automatically): Version: 2021-07-28

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | The name of the tag to create. |
| `location_id` | string | Yes | The unique identifier of the location where the tag will be created. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Agent

**Slug:** `HIGHLEVEL_DELETE_AGENT_STUDIO_AGENT`

Deletes an agent and all its versions from Agent Studio. Use this action when you need to permanently remove an AI agent and all its associated versions from GoHighLevel's Agent Studio. This action is irreversible — once the agent is deleted, it cannot be recovered, including all its versions.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `agent_id` | string | Yes | The unique identifier of the agent to delete |
| `location_id` | string | Yes | The location identifier where the agent belongs |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Association

**Slug:** `HIGHLEVEL_DELETE_ASSOCIATION`

Deletes a user-defined association by its ID. Deleting an association will also delete all the relations for that association. Use this action when you need to remove a specific association and all its associated relations from the system. This action is irreversible — once the association is deleted, it cannot be recovered.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `association_id` | string | Yes | The unique identifier of the association to delete |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Business

**Slug:** `HIGHLEVEL_DELETE_BUSINESS`

Deletes a business by its unique identifier. Use this action when you need to permanently remove a business and all its associated data from the HighLevel system. This action is irreversible — once the business is deleted, it cannot be recovered. Required headers (handled automatically): Version: 2021-07-28

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `business_id` | string | Yes | The unique identifier of the business to delete |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Service Booking

**Slug:** `HIGHLEVEL_DELETE_CALENDARS_SERVICES_BOOKING`

Deletes a service booking by its ID from the GoHighLevel calendar system. Use this action when you need to permanently remove a service booking from a calendar. This action is irreversible — once the booking is deleted, it cannot be recovered. Required headers (handled automatically): Version: 2021-07-28

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `booking_id` | string | Yes | The unique identifier of the service booking to delete. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Conversation AI Agent Action

**Slug:** `HIGHLEVEL_DELETE_CONVERSATION_AI_AGENT_ACTION`

Permanently deletes an action from a conversation AI agent. This will remove the action from all associated agents and cannot be undone. Use this action when you need to permanently remove an action from a conversation AI agent in GoHighLevel. This action is irreversible — once the action is deleted, it cannot be recovered and will be removed from all associated agents. Required headers (handled automatically): Version: 2021-07-28

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `agent_id` | string | Yes | The unique identifier of the agent from which to delete the action |
| `action_id` | string | Yes | The unique identifier of the action to delete |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Email Template

**Slug:** `HIGHLEVEL_DELETE_EMAILS_TEMPLATE`

Deletes an email template by its ID for a specified location. Use this action when you need to permanently remove an email template from GoHighLevel. This action is irreversible — once the email template is deleted, it cannot be recovered. Required headers (handled automatically): Version: 2021-07-28

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `location_id` | string | Yes | The unique identifier of the location associated with the template. |
| `template_id` | string | Yes | The unique identifier of the email template to delete. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Event Notification

**Slug:** `HIGHLEVEL_DELETE_EVENT_NOTIFICATION`

Deletes a notification from a calendar by removing the specified notification ID. Use this action when you need to permanently remove a calendar notification from the GoHighLevel system. This action is irreversible — once the notification is deleted, it cannot be recovered. Required headers (handled automatically): Version: 2021-04-15

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `calendar_id` | string | Yes | The unique identifier of the calendar that owns the notification. |
| `notification_id` | string | Yes | The unique identifier of the notification to delete. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Knowledge Base Trained Pages

**Slug:** `HIGHLEVEL_DELETE_KNOWLEDGE_BASES_CRAWLER`

Deletes trained pages from a knowledge base by their URL identifiers. Use this action when you need to remove specific trained pages from a knowledge base in GoHighLevel. This action is irreversible — once the trained pages are deleted, they cannot be recovered. Required headers (handled automatically): Content-Type: application/json, Version: 2021-07-28

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `url_ids` | array | Yes | List of URL identifiers for the trained pages to delete |
| `location_id` | string | Yes | The unique identifier of the location where the knowledge base crawler exists |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Link

**Slug:** `HIGHLEVEL_DELETE_LINK`

Deletes a link by its unique identifier. Use this action when you need to permanently remove a link from the HighLevel system. This action is irreversible — once the link is deleted, it cannot be recovered. Required headers (handled automatically): Version: 2021-07-28

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `link_id` | string | Yes | The unique identifier of the link to delete |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Media

**Slug:** `HIGHLEVEL_DELETE_MEDIAS`

Deletes a specific file or folder from the media storage by its unique identifier. Use this action when you need to permanently remove a media file or folder from the HighLevel media library. This action requires the media object ID and the owning location information. This action is irreversible — once the media is deleted, it cannot be recovered. Required headers (handled automatically): Version: 2021-07-28

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The unique identifier of the media (file or folder) to delete |
| `altId` | string | Yes | Location identifier that owns the file or folder |
| `altType` | string ("location") | Yes | Type of entity that owns the file or folder (currently only 'location' is supported) |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Object Record

**Slug:** `HIGHLEVEL_DELETE_OBJECTS_RECORD`

Deletes a record by its ID from a specified object schema (business or custom objects). Use this action when you need to permanently remove a specific record from the HighLevel objects system. This action is irreversible — once the record is deleted, it cannot be recovered. Supported objects include business objects and custom objects. For custom objects, include the 'custom_objects.' prefix in the schemaKey parameter. Required headers (handled automatically): Version: 2021-07-28

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The unique identifier of the record to be deleted. Available on the Record details page under the 3 dots menu or in the URL. |
| `schema_key` | string | Yes | The key of the Custom Object or Standard Object Schema. For custom objects, the key must include the 'custom_objects.' prefix (e.g., 'custom_objects.pet'), while standard objects use their respective object keys (e.g., 'business.email' for company's email). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Product Review

**Slug:** `HIGHLEVEL_DELETE_PRODUCTS_REVIEW`

Deletes a product review by its unique identifier. Use this action when you need to permanently remove a product review from the HighLevel system. This action is irreversible — once the product review is deleted, it cannot be recovered. Required headers (handled automatically): Version: 2021-07-28

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `alt_id` | string | Yes | Location Id or Agency Id |
| `alt_type` | string ("location") | Yes | The type of altId - must be 'location' |
| `review_id` | string | Yes | The unique identifier of the product review to delete |
| `product_id` | string | Yes | The product ID of the product |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Relation

**Slug:** `HIGHLEVEL_DELETE_RELATION`

Deletes a relation between two objects by its ID. Use this action when you need to remove a specific relation from the system. This action is irreversible — once the relation is deleted, it cannot be recovered. Required headers (handled automatically): Version: 2021-07-28

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `location_id` | string | Yes | Your Sub Account's ID |
| `relation_id` | string | Yes | The unique identifier of the relation to delete |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Store Shipping Zone

**Slug:** `HIGHLEVEL_DELETE_STORE_SHIPPING_ZONE`

Deletes a shipping zone by its unique identifier. Use this action when you need to permanently remove a shipping zone from the HighLevel store. This action is irreversible — once the shipping zone is deleted, it cannot be recovered. Required headers (handled automatically): Version: 2021-07-28

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `alt_id` | string | Yes | Location Id or Agency Id |
| `alt_type` | string ("location") | Yes | The type of altId - must be 'location' |
| `shipping_zone_id` | string | Yes | The unique identifier of the shipping zone to delete |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Fetch Email Templates

**Slug:** `HIGHLEVEL_FETCH_EMAIL_TEMPLATES`

Fetches email templates for the specified location from the GoHighLevel email builder. Use this action when you need to retrieve a list of email templates available in a location. The locationId parameter is required to identify which location's templates to fetch. This action returns templates from the email builder including their names, subjects, categories, and other metadata. Required headers (handled automatically): Version: 2021-07-28

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `location_id` | string | Yes | The unique identifier of the location to fetch email templates for. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Find Associations

**Slug:** `HIGHLEVEL_FIND_ASSOCIATIONS`

Retrieves all associations for a sub-account / location. Use this action when you need to list or discover all associations defined within a specific location, including custom object associations and their relations. This is a read-only action that returns existing associations without making any modifications. Required headers (handled automatically): Version: 2021-07-28

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `skip` | integer | No | Number of records to skip for pagination (offset) |
| `limit` | integer | No | Maximum number of associations to return per page |
| `location_id` | string | Yes | The unique identifier of the location/sub-account to find associations for |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Generate Estimate Number

**Slug:** `HIGHLEVEL_GENERATE_ESTIMATE_NUMBER`

Generates the next estimate number for the given location. Use this action when you need to retrieve the next available estimate number before creating a new estimate. This is a read-only action that does not modify any data - it simply returns the next estimate number based on the location's current state. Required headers (handled automatically): Version: 2021-07-28

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `alt_id` | string | Yes | Location Id or Agency Id |
| `alt_type` | string ("location") | Yes | The type of altId - must be 'location' |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Agent Studio Agents (Deprecated)

**Slug:** `HIGHLEVEL_GET_AGENT_STUDIO_PUBLIC_API_AGENTS`

Lists all active agents with a published production version for the specified location. Use this action when you need to retrieve all agents available in GoHighLevel's Agent Studio for a specific location. Note: This is a deprecated endpoint. Consider using GET /agent instead for new integrations.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum number of agents to return (for pagination). Default is 25, max is 100. |
| `offset` | integer | No | Number of agents to skip for pagination. Default is 0. |
| `location_id` | string | Yes | The location identifier to filter agents by. This parameter is required. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get All Notes

**Slug:** `HIGHLEVEL_GET_ALL_NOTES`

Retrieves all notes associated with a specific contact. Use this action when you need to fetch all notes for a contact in GoHighLevel, such as to review communication history or track important information about a contact. Required headers (handled automatically): Version: 2021-07-28

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `contact_id` | string | Yes | The unique identifier of the contact whose notes to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get All Tasks

**Slug:** `HIGHLEVEL_GET_ALL_TASKS`

Retrieves all tasks associated with a specific contact. Use this action when you need to fetch all tasks for a contact in GoHighLevel, such as to track pending activities, follow-ups, or completed work related to a contact. Required headers (handled automatically): Version: 2021-07-28

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `contact_id` | string | Yes | The unique identifier of the contact whose tasks to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Blogs

**Slug:** `HIGHLEVEL_GET_BLOGS`

Retrieves all blogs for a specific location ID. Use this action when you need to fetch all blogs associated with a GoHighLevel location, such as to display a list of blogs on a website or manage blog content for a specific location. This is a read-only action that retrieves existing blogs without modification. Required headers (handled automatically): Version: 2021-07-28

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `location_id` | string | Yes | The unique identifier of the location to retrieve blogs for |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Brand Boards

**Slug:** `HIGHLEVEL_GET_BRAND_BOARDS`

Retrieves all brand boards for a specific location. Use this action when you need to fetch all brand boards associated with a location in GoHighLevel, including their logos, colors, and fonts. This is a read-only action that retrieves existing brand boards without modification.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `location_id` | string | Yes | The unique identifier of the location to retrieve brand boards for |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Brand Voice

**Slug:** `HIGHLEVEL_GET_BRAND_VOICE`

Retrieves a brand voice by its ID within the specified location. Use this action when you need to fetch details of a specific brand voice, including its name, description, and sample content that represents the brand's tone and communication style. This is a read-only action that retrieves existing brand voice data without modification.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `location_id` | string | Yes | The unique identifier of the location |
| `brand_voice_id` | string | Yes | The unique identifier of the brand voice to retrieve |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Calendar

**Slug:** `HIGHLEVEL_GET_CALENDAR`

Retrieves a single calendar by its unique identifier. Use this action when you need to fetch the full details of a specific GoHighLevel calendar, including its booking rules, availability settings, team member assignments, and integration configurations. Required headers (handled automatically): Version: 2021-04-15

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `calendarId` | string | Yes | The unique identifier of the calendar to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Calendars

**Slug:** `HIGHLEVEL_GET_CALENDARS`

Retrieves all calendars associated with a GoHighLevel location. Use this action when you need to list all booking calendars available in a GoHighLevel location, including their configuration details, availability settings, and team member assignments. Required headers (handled automatically): Version: 2021-04-15

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `groupId` | string | No | Filter calendars by a specific calendar group ID. |
| `locationId` | string | Yes | The location/agency ID whose calendars to retrieve. |
| `showDrafted` | boolean | No | Whether to include draft (inactive) calendars in the response. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Calendar Appointment

**Slug:** `HIGHLEVEL_GET_CALENDARS_EVENTS_APPOINTMENTS`

Retrieves details for a specific calendar appointment or event by its ID. Use this action when you need to fetch detailed information about a single appointment in GoHighLevel, such as to view booking details, check appointment status, or retrieve meeting information for a scheduled event. For recurring appointments, pass the masterEventId in the eventId field to access the original series. Individual instance IDs retrieve details for specific occurrences. Required headers (handled automatically): Version: 2021-04-15

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `eventId` | string | Yes | Event ID or Instance ID. For recurring appointments, send masterEventId to modify the original series. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Event Calendar Schedule

**Slug:** `HIGHLEVEL_GET_CALENDARS_SCHEDULES_EVENT_CALENDAR`

Retrieves the availability schedule for a specific event calendar. Use this action when you need to fetch the availability schedule configuration for an event calendar in GoHighLevel, including custom availabilities, open hours, recurring settings, and buffer times. Required headers (handled automatically): Version: 2021-04-15

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `calendarId` | string | Yes | The unique identifier of the event calendar. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Service Bookings

**Slug:** `HIGHLEVEL_GET_CALENDARS_SERVICES_BOOKINGS`

Retrieves service bookings for a location within a given date range, with an optional service location filter. Use this action when you need to fetch a list of booked service appointments for a GoHighLevel location, such as to view all upcoming or historical bookings, generate reports, or sync booking data with an external system. The startTime and endTime parameters define the date range for the query. Both are required and must be in ISO 8601 format. Optionally filter by serviceLocationId to narrow results to a specific service location. Required headers (handled automatically): Version: 2021-04-15

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `endTime` | string | Yes | End of the date range in ISO 8601 format (e.g., '2026-04-14T23:59:59Z'). Required. |
| `startTime` | string | Yes | Start of the date range in ISO 8601 format (e.g., '2026-01-01T00:00:00Z'). Required. |
| `locationId` | string | Yes | The location/agency ID for which to retrieve service bookings. Required. |
| `serviceLocationId` | string | No | Filter bookings by a specific service location ID. Optional. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Conversation

**Slug:** `HIGHLEVEL_GET_CONVERSATIONS`

Retrieves a specific conversation by its unique identifier. Use this action when you need to fetch the details of a particular conversation in GoHighLevel, including its status, assigned user, contact information, and metadata. This is a read-only action that retrieves an existing conversation without modification.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `conversation_id` | string | Yes | The unique identifier of the conversation to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Conversation Messages

**Slug:** `HIGHLEVEL_GET_CONVERSATIONS_MESSAGES2`

Retrieves all messages for a specific conversation in GoHighLevel. Use this action when you need to fetch the message history of a conversation to review communication details or track the history of interactions with a contact. Required headers (handled automatically): Version: 2021-04-15

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `conversationId` | string | Yes | The unique identifier of the conversation whose messages to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Custom Values

**Slug:** `HIGHLEVEL_GET_CUSTOM_VALUES`

Retrieves all custom values associated with a specific location in GoHighLevel. Use this action when you need to fetch all custom field values configured for a location, such as to access location-specific custom data or display custom field information in an integrated application. Required headers (handled automatically): Version: 2021-07-28

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `location_id` | string | Yes | The unique identifier of the location whose custom values to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Bulk Action Campaigns

**Slug:** `HIGHLEVEL_GET_EMAILS_CAMPAIGNS_BULK_ACTIONS2`

Retrieves all bulk action campaigns for a specific GoHighLevel location. Use this action when you need to list email campaigns that use bulk actions for a location, such as to view available campaigns, check their status, or identify campaigns for enrollment purposes. This is a read-only action that retrieves existing campaigns without modification. Required headers (handled automatically): Version: 2021-07-28

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `location_id` | string | Yes | The unique identifier of the location whose bulk action campaigns to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Email Campaigns

**Slug:** `HIGHLEVEL_GET_EMAILS_CAMPAIGNS_EMAILS`

Retrieves all email campaigns for a specific GoHighLevel location. Use this action when you need to list all email marketing campaigns associated with a location, such as to review campaign statuses, track campaign performance metrics, or select a specific campaign for further operations. This is a read-only action that retrieves existing email campaigns without modification. Required headers (handled automatically): Version: 2021-07-28

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `locationId` | string | Yes | The unique identifier of the location to retrieve email campaigns for |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Email Templates

**Slug:** `HIGHLEVEL_GET_EMAILS_TEMPLATES`

Retrieves all email templates for a specific location. Use this action when you need to fetch all email templates available in a GoHighLevel location, including their content, subjects, and metadata. This is a read-only action that retrieves existing email templates without modification. The templates can be used for email campaigns, automations, and other communications. Required headers (handled automatically): Version: 2021-07-28

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `locationId` | string | Yes | The unique identifier of the location whose email templates to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Event Notification

**Slug:** `HIGHLEVEL_GET_EVENT_NOTIFICATION`

Retrieves a single event notification by its unique notification ID. Use this action when you need to fetch the details of a specific calendar notification, including its delivery channel, timing configuration, and recipient settings in the GoHighLevel system. Required headers (handled automatically): Version: 2021-04-15

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `calendarId` | string | Yes | The unique identifier of the calendar that owns the notification. |
| `notificationId` | string | Yes | The unique identifier of the notification to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Funnels Page

**Slug:** `HIGHLEVEL_GET_FUNNELS_PAGE`

Retrieves a list of all funnel pages based on the given query parameters. Use this action when you need to fetch all pages belonging to a specific funnel in GoHighLevel, such as to display funnel page information, manage funnel content, or retrieve page details for a marketing funnel. This is a read-only action that retrieves existing funnel pages without modification. Required headers (handled automatically): Version: 2021-07-28

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | Filter funnel pages by name (optional) |
| `limit` | integer | No | Maximum number of funnel pages to return |
| `offset` | integer | No | Number of funnel pages to skip for pagination |
| `funnel_id` | string | Yes | The unique identifier of the funnel to retrieve pages for |
| `location_id` | string | Yes | The unique identifier of the location to retrieve funnel pages for |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Funnels Page Count

**Slug:** `HIGHLEVEL_GET_FUNNELS_PAGE_COUNT`

Retrieves the count of funnel pages based on the given query parameters. Use this action when you need to get the number of pages in a specific funnel in GoHighLevel, such as to determine pagination requirements or to display page counts in a UI. Required headers (handled automatically): Version: 2021-07-28

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | Optional name filter to search for funnel pages by name. |
| `funnelId` | string | Yes | The unique identifier of the funnel to get page count for. |
| `locationId` | string | Yes | The unique identifier of the location associated with the funnel. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Invoice Settings

**Slug:** `HIGHLEVEL_GET_INVOICE_SETTINGS`

Retrieves invoice settings for a specific location in GoHighLevel. Use this action when you need to fetch the invoice configuration for a location, such as to display invoice templates, check default terms, or verify tax settings. Required headers (handled automatically): Version: 2021-07-28

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `altId` | string | Yes | Location ID to get invoice settings for |
| `altType` | string ("location") | Yes | The type of altId - must be 'location' |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Invoice Schedules

**Slug:** `HIGHLEVEL_GET_INVOICES_SCHEDULE`

Retrieves a list of invoice schedules for a location or company. Use this action when you need to fetch all invoice schedules from GoHighLevel, such as to list recurring billing schedules, view scheduled payment plans, or filter schedules by status, date range, or other criteria. Required headers (handled automatically): Version: 2021-07-28

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | Yes | Limit the number of items to return |
| `alt_id` | string | Yes | Location Id / Company Id based on altType |
| `end_at` | string | No | End date in YYYY-MM-DD format |
| `offset` | integer | Yes | Number of items to skip |
| `search` | string | No | Search for an schedule by id / name / email / phoneNo |
| `status` | string | No | Status to filter schedules |
| `alt_type` | string ("location") | Yes | The type of altId - must be 'location' |
| `start_at` | string | No | Start date in YYYY-MM-DD format |
| `payment_mode` | string ("default" | "live" | "test") | No | Payment mode options |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Rebilling Config for App

**Slug:** `HIGHLEVEL_GET_MARKETPLACE_APP_REBILLING_CONFIG_LOCATION`

Retrieves rebilling configuration for an app subscription, including subscription and usage plans for the authenticated sub-account. Use this action when you need to fetch the rebilling settings, available plans, and usage-based pricing configuration for a marketplace app installed in a specific location. This is a read-only action that retrieves existing rebilling configuration without modification.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `app_id` | string | Yes | The unique identifier of the app/marketplace integration |
| `location_id` | string | Yes | The unique identifier of the location/sub-account |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Media Files

**Slug:** `HIGHLEVEL_GET_MEDIAS_FILES`

Fetches a list of files and folders from the media storage for a location. Use this action when you need to retrieve the contents of the media library, browse folders, or search for specific files. The results can be filtered by type (file/folder), sorted by various fields, and paginated using offset and limit. Required headers (handled automatically): Version: 2021-07-28

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `type` | string ("file" | "folder") | Yes | Type of media item to retrieve |
| `altId` | string | Yes | Location identifier that owns the files |
| `limit` | string | No | Number of files to show in the listing (for pagination) |
| `query` | string | No | Query text to search for specific files or folders |
| `offset` | string | No | Number of files to skip in listing (for pagination) |
| `sortBy` | string ("createdAt" | "name" | "updatedAt") | Yes | Field to sort the file listing by |
| `altType` | string ("location") | Yes | Type of entity that owns the file (currently only 'location' is supported) |
| `fetchAll` | string | No | Whether to fetch all files or folders (true/false) |
| `parentId` | string | No | Parent folder ID to list contents from (optional, use for nested folders) |
| `sortOrder` | string ("asc" | "desc") | Yes | Direction in which files need to be sorted |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Object Schema

**Slug:** `HIGHLEVEL_GET_OBJECT_SCHEMA`

Retrieves the schema definition for an object by its key or ID in GoHighLevel. Use this action when you need to fetch the field structure and metadata for objects such as contacts, opportunities, businesses, or custom objects. This is a read-only operation that returns the schema definition including all field properties like data types, labels, and constraints. Required headers (handled automatically): Version: 2021-07-28 Supported object keys: contact, opportunity, business, and custom object keys.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `key` | string | Yes | Key of the object schema to retrieve. Supported keys include: contact, opportunity, business, and custom object keys (e.g., custom_objects.pet) |
| `location_id` | string | Yes | The unique identifier of the location/sub-account |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Object Record By Id

**Slug:** `HIGHLEVEL_GET_OBJECTS_RECORDS`

Retrieves a Standard Object (like business) or Custom Object record by its ID. Use this action when you need to fetch a specific record from the HighLevel objects system by providing the schema key and record ID. This is a read-only action that retrieves record data without making any modifications. Supported objects include business objects and custom objects. For custom objects, include the 'custom_objects.' prefix in the schemaKey parameter. Required headers (handled automatically): Version: 2021-07-28

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The unique identifier of the record to retrieve. Available on the Record details page under the 3 dots menu or in the URL. |
| `schema_key` | string | Yes | The key of the Custom Object or Standard Object Schema. For custom objects, the key must include the 'custom_objects.' prefix (e.g., 'custom_objects.pet'), while standard objects use their respective object keys (e.g., 'business.email' for company's email). This information is available on the Custom Objects Details page under Settings. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Pipelines

**Slug:** `HIGHLEVEL_GET_PIPELINES`

Retrieves all opportunity pipelines associated with a GoHighLevel location. Use this action when you need to list all sales/opportunity pipelines available in a GoHighLevel location, including their stages, display settings, and probability configurations. Required headers (handled automatically): Version: 2021-07-28

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `locationId` | string | Yes | The location/agency ID whose opportunity pipelines to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Posts

**Slug:** `HIGHLEVEL_GET_POSTS`

Retrieves a list of social media posts for a specific location. Use this action when you need to fetch social media posts from GoHighLevel, such as to review scheduled content, monitor published posts, check failed posts, or manage social media content across different platforms. This is a read-only action that retrieves existing posts without modification. Required headers (handled automatically): Version: 2021-07-28

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `skip` | string | No | Number of records to skip for pagination |
| `type` | string ("recent" | "all" | "scheduled" | "draft" | "failed" | "in_review" | "published" | "in_progress" | "deleted") | No | Status of the social media post. |
| `limit` | string | No | Maximum number of posts to return |
| `toDate` | string | Yes | End date for filtering posts (ISO 8601 format) |
| `accounts` | string | No | List of account IDs separated by comma as a string |
| `fromDate` | string | Yes | Start date for filtering posts (ISO 8601 format) |
| `postType` | string ("post" | "story" | "reel") | No | Type of social media post. |
| `locationId` | string | Yes | The unique identifier of the location |
| `includeUsers` | string | Yes | Whether to include user data in the response |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Products

**Slug:** `HIGHLEVEL_GET_PRODUCTS`

Retrieves a paginated list of products for a specific location. Use this action when you need to fetch and explore product information from GoHighLevel, such as to display a product catalog, search for specific products by name, or paginate through available products. Supports filtering by product name, category (collection), store, and various product attributes. Also supports pagination using limit and offset parameters for efficient data retrieval. Required headers (handled automatically): Version: 2021-07-28

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | The maximum number of items to be included in a single page of results |
| `expand` | array | No | Name of an entity whose data has to be fetched along with product. Possible entities are tax, stripe and paypal. If not mentioned, only ID will be returned in case of taxes |
| `offset` | integer | No | The starting index of the page, indicating the position from which the results should be retrieved. |
| `search` | string | No | The name of the product for searching. |
| `storeId` | string | No | fetch and project products based on the storeId |
| `sortOrder` | string ("asc" | "desc") | No | Sort order for product listing |
| `locationId` | string | Yes | LocationId is the id of the sub-account |
| `productIds` | array | No | List of product ids to be fetched. |
| `collectionIds` | string | No | Filter by product category Ids. Supports comma separated values |
| `collectionSlug` | string | No | The slug value of the collection by which the collection would be searched |
| `includedInStore` | boolean | No | Separate products by which are included in the store and which are not |
| `availableInStore` | boolean | No | If the product is included in the online store |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Product Prices

**Slug:** `HIGHLEVEL_GET_PRODUCTS_PRICE`

Lists all prices associated with a specific product in the HighLevel system. Use this action when you need to retrieve pricing information for a product, including both one-time and recurring prices, with optional filtering by price IDs and pagination support for large result sets. Required headers (handled automatically): Version: 2021-07-28

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `ids` | string | No | Filter the response only with the given price IDs. Provide comma-separated IDs. |
| `limit` | integer | No | The maximum number of items to be included in a single page of results. Defaults to 25. |
| `offset` | integer | No | The starting index of the page, indicating the position from which the results should be retrieved. Defaults to 0. |
| `productId` | string | Yes | The unique identifier of the product whose prices need to be retrieved. |
| `locationId` | string | Yes | The unique identifier for the location. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Relations By Record Id

**Slug:** `HIGHLEVEL_GET_RELATIONS_BY_RECORD_ID`

Retrieves all relations for a specific record by its ID. Use this action when you need to find or list all relations associated with a specific record, such as contacts, custom objects, or opportunities. This is a read-only action that returns existing relations without making any modifications. Required headers (handled automatically): Version: 2021-07-28

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `skip` | integer | No | Number of records to skip for pagination (offset) |
| `limit` | integer | No | Maximum number of relations to return per page |
| `record_id` | string | Yes | The unique identifier of the record to get relations for |
| `location_id` | string | Yes | Your Sub Account's ID |
| `association_ids` | array | No | List of association IDs to filter relations by |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Specific Charge

**Slug:** `HIGHLEVEL_GET_SPECIFIC_CHARGE`

Retrieves specific wallet charge details by charge ID. Use this action when you need to fetch details of a particular charge transaction, including the amount, currency, units, and refund status from the GoHighLevel marketplace billing system. This is a read-only action that retrieves an existing charge without modification. Required headers (handled automatically): Version: 2021-07-28

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `charge_id` | string | Yes | The unique identifier of the charge to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Store Settings

**Slug:** `HIGHLEVEL_GET_STORE_STORE_SETTING`

Retrieves store settings for a specific location or agency. Use this action when you need to fetch the store configuration and settings for a GoHighLevel location, such as shipping origins, order notifications, and fulfillment settings. Required headers (handled automatically): Version: 2021-07-28

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `altId` | string | Yes | Location Id or Agency Id. |
| `altType` | string ("location") | Yes | The type of altId - must be 'location'. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Timezones

**Slug:** `HIGHLEVEL_GET_TIMEZONES`

Retrieves all available timezones for a GoHighLevel location. Use this action when you need to fetch the list of supported timezones, such as to display timezone options in scheduling interfaces or configure location-specific time settings. Required headers (handled automatically): Version: 2021-07-28

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `location_id` | string | Yes | The unique identifier of the location whose timezones to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get User By Location

**Slug:** `HIGHLEVEL_GET_USER_BY_LOCATION`

Retrieves all users associated with a specific location in GoHighLevel. Use this action when you need to fetch the list of users belonging to a location, such as to view team members, check user details, or enumerate available users for task assignments. This is a read-only action that retrieves existing users without modification. Required headers (handled automatically): Version: 2021-07-28

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `location_id` | string | Yes | The unique identifier of the location to filter users by |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Agent Studio Agents

**Slug:** `HIGHLEVEL_LIST_AGENT_STUDIO_AGENT`

Lists all active agents for the specified location in Agent Studio. Use this action when you need to retrieve all agents available for a location in GoHighLevel's Agent Studio. The locationId parameter is required to ensure optimal performance. Supports pagination using limit and offset parameters. Optionally filter by isPublished=true to return only agents with a published production version. Required headers (handled automatically): Version: 2021-07-28

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum number of agents to return per page. Defaults to 25. |
| `offset` | integer | No | Number of agents to skip for pagination. Defaults to 0. |
| `location_id` | string | Yes | The unique identifier of the location to retrieve agents for. Required for optimal performance. |
| `is_published` | boolean | No | Filter to return only agents with a published production version. Set to true to include only published agents. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Brand Voices

**Slug:** `HIGHLEVEL_LIST_BRAND_BOARDS_VOICES`

Retrieves all brand voices for a specific location in GoHighLevel. Use this action when you need to fetch all brand voices associated with a location, including their names, descriptions, and sample content that represent the brand's tone. This is a read-only action that retrieves existing brand voices without modification.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `location_id` | string | Yes | The unique identifier of the location to retrieve brand voices for. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Conversation AI Agent Actions

**Slug:** `HIGHLEVEL_LIST_CONVERSATION_AI_AGENTS_ACTIONS`

Lists all actions configured for a specific conversation AI agent. Use this action when you need to retrieve the complete list of actions available for an agent in GoHighLevel's Conversation AI. This is a read-only action that returns all configured actions without modification. The agentId parameter is required to specify which agent's actions to retrieve. Required headers (handled automatically): Version: 2021-07-28

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `agent_id` | string | Yes | The unique identifier of the agent whose actions to list |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Funnels Funnel

**Slug:** `HIGHLEVEL_LIST_FUNNELS_FUNNEL`

Retrieves a list of all funnels based on the given query parameters. Use this action when you need to fetch all funnels available in a GoHighLevel location, such as to display funnel information, manage funnel content, or retrieve funnel details for marketing campaigns. This is a read-only action that retrieves existing funnels without modification. Required headers (handled automatically): Version: 2021-07-28

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | Filter funnels by name (optional) |
| `type` | string | No | Filter funnels by type (optional) |
| `limit` | string | No | Maximum number of funnels to return (optional) |
| `offset` | string | No | Number of funnels to skip for pagination (optional) |
| `category` | string | No | Filter funnels by category (optional) |
| `parentId` | string | No | Filter funnels by parent ID for nested funnels (optional) |
| `locationId` | string | Yes | The unique identifier of the location to retrieve funnels for |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Coupons

**Slug:** `HIGHLEVEL_LIST_PAYMENTS_COUPON`

Retrieves a list of all coupons available in a GoHighLevel location. Use this action when you need to view all promotional offers and special discounts available in a GoHighLevel location. Supports filtering by status (scheduled, active, expired) and searching by coupon name or code. Use pagination parameters to retrieve large result sets. Required headers (handled automatically): Version: 2021-07-28

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `altId` | string | Yes | The location ID whose coupons to retrieve. |
| `limit` | integer | No | Maximum number of coupons to return. Defaults to 25. |
| `offset` | integer | No | Number of coupons to skip for pagination. Defaults to 0. |
| `search` | string | No | Search term to filter coupons by name or code. |
| `status` | string ("scheduled" | "active" | "expired") | No | Status of the coupon. |
| `altType` | string | No | Alt type. Must be 'location'. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Proposals Templates

**Slug:** `HIGHLEVEL_LIST_PROPOSALS_TEMPLATES`

Lists all proposal, estimate, and content library document templates for a location. Use this action when you need to retrieve all available document contract templates in a GoHighLevel location. This includes proposals, estimates, and content library templates that can be sent to contacts. The templates can be filtered by type, creation date, name, and public document status. This is a read-only action that retrieves existing templates without modification. Required headers (handled automatically): Version: 2021-07-28

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | Filter templates by name (case-insensitive partial match). |
| `skip` | integer | No | Number of templates to skip for pagination. Defaults to 0. |
| `type` | array | No | Comma-separated template types to filter by. Valid values: proposal, estimate, contentLibrary. |
| `limit` | integer | No | Maximum number of templates to return. Defaults to 25. |
| `dateTo` | string | No | Filter templates created on or before this date (ISO 8601 format). |
| `userId` | string | No | User ID to filter templates by. Required when isPublicDocument is true. |
| `dateFrom` | string | No | Filter templates created on or after this date (ISO 8601 format). |
| `locationId` | string | Yes | The unique identifier of the location whose templates to retrieve. |
| `isPublicDocument` | boolean | No | Filter by whether the template is a public document. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Remove Contact From Every Campaign

**Slug:** `HIGHLEVEL_REMOVE_CONTACT_FROM_EVERY_CAMPAIGN`

Removes a contact from all campaigns they are enrolled in. Use this action when you need to unenroll a contact from all marketing campaigns in GoHighLevel. This action is irreversible — the contact will be removed from all campaigns and would need to be re-enrolled manually if needed. Required headers (handled automatically): Version: 2021-07-28

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `contact_id` | string | Yes | The unique identifier of the contact to remove from all campaigns |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Search Conversation AI Agents

**Slug:** `HIGHLEVEL_SEARCH_CONVERSATION_AI_AGENTS`

Searches for AI agents based on various criteria including name, status, and configuration. Use this action when you need to find conversation AI agents in GoHighLevel with support for advanced filtering and full-text search capabilities. Supports filtering by location, name, status, and full-text search across agent names and descriptions. Results are paginated using limit and offset parameters. Required headers (handled automatically): Version: 2021-07-28

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum number of agents to return per page. Defaults to 25. |
| `query` | string | No | Full-text search query to match against agent names and descriptions. |
| `offset` | integer | No | Number of agents to skip for pagination. Defaults to 0. |
| `locationId` | string | No | The unique identifier of the location/sub-account to search for agents in. If not provided, uses the authenticated user's location. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Search Conversations

**Slug:** `HIGHLEVEL_SEARCH_CONVERSATIONS`

Returns a list of all conversations matching the search criteria along with the sort and filter options selected. Use this action when you need to search and retrieve conversations from GoHighLevel with various filtering options such as status, assigned user, contact, message type, direction, and more. Required headers (handled automatically): Version: 2021-04-15 At least `locationId` is required to perform the search. Additional filters can narrow down results based on assigned users, followers, mentions, contact details, message characteristics, and conversation status.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | No | The ID of the conversation to retrieve. |
| `sort` | string ("asc" | "desc") | No | Sort order for conversation search results. |
| `limit` | integer | No | Limit of conversations to return. Default is 20. |
| `query` | string | No | Search parameter as a string. |
| `sortBy` | string ("last_manual_message_date" | "last_message_date" | "score_profile") | No | Field to sort conversations by. |
| `status` | string ("all" | "read" | "unread" | "starred" | "recents") | No | Status of the conversation to filter by. |
| `mentions` | string | No | User ID of the mention. Multiple values are comma separated. |
| `contactId` | string | No | Filter conversations by contact ID. |
| `followers` | string | No | User IDs of followers to filter conversations by. Multiple IDs can be provided as comma-separated values. |
| `assignedTo` | string | No | User IDs that conversations are assigned to. Multiple IDs can be provided as comma-separated values. Use 'unassigned' to fetch conversations not assigned to any user. |
| `locationId` | string | Yes | The unique identifier of the location/sub-account to search conversations for. |
| `scoreProfile` | string | No | ID of score profile on which conversations should get filtered out. |
| `startAfterDate` | string | No | Search to begin after the specified date - should contain the sort value of the last document. |
| `lastMessageType` | string ("TYPE_CALL" | "TYPE_SMS" | "TYPE_EMAIL" | "TYPE_SMS_REVIEW_REQUEST" | "TYPE_WEBCHAT" | "TYPE_SMS_NO_SHOW_REQUEST" | "TYPE_CAMPAIGN_SMS" | "TYPE_CAMPAIGN_CALL" | "TYPE_CAMPAIGN_EMAIL" | "TYPE_CAMPAIGN_VOICEMAIL" | "TYPE_FACEBOOK" | "TYPE_CAMPAIGN_FACEBOOK" | "TYPE_CAMPAIGN_MANUAL_CALL" | "TYPE_CAMPAIGN_MANUAL_SMS" | "TYPE_GMB" | "TYPE_CAMPAIGN_GMB" | "TYPE_REVIEW" | "TYPE_INSTAGRAM" | "TYPE_WHATSAPP" | "TYPE_CUSTOM_SMS" | "TYPE_CUSTOM_EMAIL" | "TYPE_CUSTOM_PROVIDER_SMS" | "TYPE_CUSTOM_PROVIDER_EMAIL" | "TYPE_IVR_CALL" | "TYPE_ACTIVITY_CONTACT" | "TYPE_ACTIVITY_INVOICE" | "TYPE_ACTIVITY_PAYMENT" | "TYPE_ACTIVITY_OPPORTUNITY" | "TYPE_LIVE_CHAT" | "TYPE_LIVE_CHAT_INFO_MESSAGE" | "TYPE_ACTIVITY_APPOINTMENT" | "TYPE_FACEBOOK_COMMENT" | "TYPE_INSTAGRAM_COMMENT" | "TYPE_CUSTOM_CALL" | "TYPE_INTERNAL_COMMENT" | "TYPE_ACTIVITY_EMPLOYEE_ACTION_LOG") | No | Type of the last message in the conversation. |
| `scoreProfileMax` | integer | No | Maximum value for score. |
| `scoreProfileMin` | integer | No | Minimum value for score. |
| `sortScoreProfile` | string | No | ID of score profile on which sortBy.scoreProfile should sort on. |
| `lastMessageAction` | string ("automated" | "manual") | No | Action of the last outbound message in the conversation. |
| `lastMessageDirection` | string ("inbound" | "outbound") | No | Direction of the last message in the conversation. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Search Duplicate Contact

**Slug:** `HIGHLEVEL_SEARCH_DUPLICATE_CONTACT`

Searches for duplicate contacts in a GoHighLevel location. Use this action when you need to find contacts that may already exist in the system before creating a new contact. If `Allow Duplicate Contact` is disabled under Settings, the global unique identifier will be used for searching the contact. If the setting is enabled, first priority for search is `email` and the second priority will be `phone`. At least one of `email` or `number` should be provided for the search to return meaningful results. If neither is provided, an empty list may be returned. Required headers (handled automatically): Version: 2021-07-28

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `email` | string | No | Email address to search for duplicate contacts. Pass in URL Encoded form if special characters are present. |
| `number` | string | No | Phone number to search for duplicate contacts. Pass in URL Encoded form if special characters are present. |
| `locationId` | string | Yes | The unique identifier of the location/sub-account to search for duplicate contacts. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Search Links

**Slug:** `HIGHLEVEL_SEARCH_LINKS`

Searches for trigger links within a GoHighLevel location. Use this action when you need to find or retrieve a list of trigger links based on search criteria. The search supports filtering by a query string and pagination via skip/limit parameters. Results are scoped to the specified location ID. Required headers (handled automatically): Version: 2021-04-15

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `skip` | integer | No | Number of results to skip for pagination. |
| `limit` | integer | No | Maximum number of links to return per request. |
| `query` | string | No | Search query string to filter links by name or other attributes. |
| `locationId` | string | Yes | The unique identifier of the location/sub-account to search links for. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Set Default Brand Voice

**Slug:** `HIGHLEVEL_SET_DEFAULT_BRAND_VOICE`

Sets a brand voice as the default for a location. Use this action when you need to designate a specific brand voice as the default for a location, which automatically unsets the previous default brand voice. This action is idempotent - setting the same brand voice as default multiple times will return a successful response.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `location_id` | string | Yes | The unique identifier of the location |
| `brand_voice_id` | string | Yes | The unique identifier of the brand voice to set as default |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Association

**Slug:** `HIGHLEVEL_UPDATE_ASSOCIATIONS`

Updates the labels of an association by its ID. This action allows you to modify the firstObjectLabel and secondObjectLabel of an existing association. Use this action when you need to update the label configuration of an existing association in a specific location/sub-account. Required headers (handled automatically): Version: 2021-07-28

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `associationId` | string | Yes | The unique identifier of the association to update |
| `firstObjectLabel` | string | Yes | The label for the first object in the association (e.g., 'student') |
| `secondObjectLabel` | string | Yes | The label for the second object in the association (e.g., 'teacher') |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Business

**Slug:** `HIGHLEVEL_UPDATE_BUSINESS`

Updates an existing business with the provided information. Use this action when you need to modify details of an existing business entity within the HighLevel system. All fields except business_id are optional. Only provide the fields you want to update; omitted fields will retain their current values. Required headers (handled automatically): Version: 2021-07-28

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `city` | string | No | City where the business is located |
| `name` | string | No | The name of the business |
| `email` | string | No | Email address of the business |
| `phone` | string | No | Phone number of the business in E.164 format |
| `state` | string | No | State or province where the business is located |
| `address` | string | No | Street address of the business |
| `country` | string | No | Country code in ISO 3166-1 alpha-2 format |
| `website` | string | No | Website URL of the business |
| `business_id` | string | Yes | The unique identifier of the business to update |
| `description` | string | No | Description of the business |
| `postal_code` | string | No | Postal code or ZIP code of the business |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Calendar

**Slug:** `HIGHLEVEL_UPDATE_CALENDAR`

Updates an existing calendar by its unique identifier. Use this action when you need to modify the settings, availability, team member assignments, or other configurations of an existing GoHighLevel booking calendar. Only include the fields you want to change — all fields except calendarId are optional. Required headers (handled automatically): Version: 2021-04-15

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | Name of the calendar. |
| `slug` | string | No | URL slug for the calendar booking page. |
| `notes` | string | No | Internal notes about the calendar (not visible to clients). |
| `formId` | string | No | Custom form ID to use for intake. |
| `groupId` | string | No | ID of the calendar group this calendar belongs to. |
| `pixelId` | string | No | Tracking pixel ID for analytics. |
| `isActive` | boolean | No | Whether the calendar is active (published) or a draft. |
| `eventType` | string ("RoundRobin_OptimizeForAvailability" | "RoundRobin_OptimizeForEqualDistribution") | No | Round-robin assignment strategy for team members. |
| `guestType` | string ("count_only" | "collect_detail") | No | Whether to collect guest details or only count them. |
| `openHours` | array | No | Standard availability windows. For custom availability, use availabilities instead. |
| `preBuffer` | number | No | Additional time (in preBufferUnit) added before each appointment. |
| `recurring` | object | No | Recurring appointment configuration. |
| `alertEmail` | string | No | Email address to receive booking alerts. |
| `calendarId` | string | Yes | The unique identifier of the calendar to update. |
| `eventColor` | string | No | Color of calendar events displayed in the booking interface. |
| `eventTitle` | string | No | Template for the event title (supports contact merge fields). |
| `slotBuffer` | number | No | Additional time (in slotBufferUnit) added after each appointment. |
| `widgetSlug` | string | No | Slug for the embedded booking widget. |
| `widgetType` | string ("default" | "classic") | No | Widget layout style: 'default' for neo layout, 'classic' for classic layout. |
| `autoConfirm` | boolean | No | Whether bookings are automatically confirmed without manual approval. |
| `description` | string | No | Description or notes about the calendar. |
| `teamMembers` | array | No | Team members assigned to the calendar. Required for round_robin, collective, class, and service_booking types. |
| `calendarType` | string ("round_robin" | "event" | "class_booking" | "collective" | "service_booking" | "personal") | No | Type of calendar: round_robin, event, class_booking, collective, service_booking, or personal. |
| `consentLabel` | string | No | Custom consent label shown to clients during booking. |
| `slotDuration` | number | No | Duration of the meeting in slotDurationUnit. |
| `slotInterval` | number | No | Time between consecutive booking slots shown in the calendar. |
| `notifications` | array | No | Deprecated — prefer Calendar Notifications APIs. |
| `preBufferUnit` | string ("mins" | "hours") | No | Unit for pre-buffer time. |
| `stickyContact` | boolean | No | Whether to always assign the same contact to the same team member. |
| `availabilities` | array | No | Custom availability entries. For standard availability, use openHours instead. |
| `formSubmitType` | string ("RedirectURL" | "ThankYouMessage") | No | How to handle form submission result. |
| `lookBusyConfig` | object | No | Look-Busy configuration to simulate busyness in availability slots. |
| `slotBufferUnit` | string ("mins" | "hours") | No | Unit for slot-buffer time. |
| `allowBookingFor` | number | No | How far in advance (in allowBookingForUnit) bookings are allowed. |
| `allowReschedule` | boolean | No | Whether clients can reschedule their own bookings. |
| `enableRecurring` | boolean | No | Enable recurring appointments. Only one member should be added to the calendar to enable this. |
| `meetingLocation` | string | No | Deprecated — use locationConfigurations or teamMembers[].locationConfigurations instead. |
| `appoinmentPerDay` | integer | No | Maximum number of appointments that can be booked per day. |
| `availabilityType` | integer ("0" | "1") | No | Determines which availability logic to use: 0 = open hours only, 1 = custom availabilities only, null = both. |
| `slotDurationUnit` | string ("mins" | "hours") | No | Unit for meeting duration. |
| `slotIntervalUnit` | string ("mins" | "hours") | No | Unit for slot interval. |
| `allowBookingAfter` | number | No | Minimum notice (in allowBookingAfterUnit) before an event can be booked. |
| `allowCancellation` | boolean | No | Whether clients can cancel their own bookings. |
| `appoinmentPerSlot` | integer | No | Maximum bookings per slot (per user) or maximum seats per slot for class calendars. |
| `isLivePaymentMode` | boolean | No | Whether payments are collected in real-time during booking. |
| `calendarCoverImage` | string | No | URL to the calendar cover image. |
| `allowBookingForUnit` | string ("days" | "weeks" | "months") | No | Unit for how far in advance bookings are allowed. |
| `allowBookingAfterUnit` | string ("hours" | "days" | "weeks" | "months") | No | Unit for minimum scheduling notice. |
| `formSubmitRedirectURL` | string | No | URL to redirect to after form submission. |
| `googleInvitationEmails` | boolean | No | Whether to send Google Calendar invitation emails. |
| `locationConfigurations` | array | No | Meeting location configurations for event calendars. |
| `formSubmitThanksMessage` | string | No | Thank-you message shown after form submission. |
| `shouldAssignContactToTeamMember` | boolean | No | Whether to automatically assign the contact to the booked team member. |
| `shouldSendAlertEmailsToAssignedMember` | boolean | No | Whether to send alert emails to the assigned team member. |
| `shouldSkipAssigningContactForExisting` | boolean | No | Whether to skip assigning a contact if one already exists. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Calendar Schedule

**Slug:** `HIGHLEVEL_UPDATE_CALENDAR_SCHEDULE`

Updates an existing calendar's availability schedule. Use this action when you need to modify the availability rules, open hours, recurring settings, or buffer times for a GoHighLevel calendar. All fields are optional—only provided fields will be updated. Required headers (handled automatically): Version: 2021-04-15

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | Name of the schedule. |
| `timezone` | string | No | Timezone for the schedule (e.g. 'America/New_York'). |
| `openHours` | array | No | Standard availability windows for recurring days. |
| `preBuffer` | number | No | Additional time (in preBufferUnit) added before each appointment. |
| `recurring` | object | No | Recurring appointment configuration. |
| `postBuffer` | number | No | Additional time (in postBufferUnit) added after each appointment. |
| `scheduleId` | string | Yes | The unique identifier of the schedule to update. |
| `preBufferUnit` | string ("mins" | "hours") | No | Unit for pre-buffer time. |
| `availabilities` | array | No | Custom availability entries for specific dates. |
| `postBufferUnit` | string ("mins" | "hours") | No | Unit for post-buffer time. |
| `lookBusyEnabled` | boolean | No | Whether look-busy simulation is enabled. |
| `lookBusyPercentage` | number | No | Percentage of slots to hide when look-busy is enabled (0-100). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Event Calendar Schedule

**Slug:** `HIGHLEVEL_UPDATE_CALENDARS_SCHEDULES_EVENT_CALENDAR`

Updates the availability schedule for a specific event calendar. Use this action when you need to modify the availability schedule configuration for an event calendar in GoHighLevel, including timezone settings and availability rules. Only the fields provided in the request body will be modified; unspecified fields retain their current values. Required headers (handled automatically): Version: 2021-07-28, Content-Type: application/json

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `rules` | array | No | List of availability rules defining when the calendar is open for bookings. |
| `timezone` | string | No | Timezone for the availability schedule (e.g., 'America/New_York'). |
| `calendarId` | string | Yes | The unique identifier of the event calendar to update. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Service Booking

**Slug:** `HIGHLEVEL_UPDATE_CALENDARS_SERVICES_BOOKINGS`

Updates an existing service booking in GoHighLevel. Use this action when you need to modify details of an existing appointment or service booking, such as rescheduling the time, changing the status, updating the assigned team member, or modifying notes and custom fields. This action requires the booking ID and supports updating various booking attributes including title, start/end times, status, notes, address, assigned user, guests, and custom fields. Required headers (handled automatically): Content-Type: application/json, Version: 2021-04-15

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `notes` | string | No | Additional notes or comments for the booking. |
| `title` | string | No | Custom title for the booking. |
| `guests` | array | No | List of guest email addresses for the booking. |
| `status` | string ("pending" | "confirmed" | "cancelled" | "completed" | "no_show") | No | Status of the service booking. |
| `address` | string | No | Address or meeting location for the booking. |
| `endTime` | string | No | The end time of the booking in ISO 8601 format. |
| `bookingId` | string | Yes | The unique identifier of the service booking to update. |
| `startTime` | string | No | The start time of the booking in ISO 8601 format (e.g., '2024-01-15T10:30:00.000Z'). |
| `customFields` | object | No | Custom field values for the booking. Keys are field IDs, values are the field values. |
| `assignedUserId` | string | No | The user ID to assign the booking to. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Conversation AI Agent

**Slug:** `HIGHLEVEL_UPDATE_CONVERSATION_AI_AGENT`

Updates an existing conversation AI agent's configuration in GoHighLevel. You can modify the agent's name, goal, personality, instructions, status, and actions. This action modifies the existing agent configuration at the specified location. Use this action when you need to modify an existing conversation AI agent's settings, update its behavior instructions, change its status, or update the actions it can perform. All fields except agentId are optional — only include the fields you want to update. The agentId parameter is required to identify which agent to update. Required headers (handled automatically): Version: 2021-07-28

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `goal` | string | No | The updated goal or purpose of the AI agent |
| `name` | string | No | The updated name of the AI agent |
| `status` | string | No | The updated status of the AI agent (e.g., 'active' or 'inactive') |
| `actions` | array | No | The updated list of actions for the AI agent |
| `agent_id` | string | Yes | The unique identifier of the agent to update |
| `personality` | string | No | The updated personality description for the AI agent |
| `instructions` | string | No | The updated instructions for how the AI agent should behave |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Conversation

**Slug:** `HIGHLEVEL_UPDATE_CONVERSATIONS`

Updates the conversation details based on the conversation ID. Use this action when you need to modify properties of an existing conversation, such as marking it as starred or updating the unread count. This action requires a valid conversation_id and location_id. Note that some field updates may be irreversible depending on the conversation state.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `starred` | boolean | No | Starred status of the conversation. |
| `feedback` | object | No | Feedback object for the conversation. |
| `location_id` | string | Yes | Location ID as string |
| `unread_count` | integer | No | Count of unread messages in the conversation. |
| `conversation_id` | string | Yes | The unique identifier of the conversation to update. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Conversation Message Attachments

**Slug:** `HIGHLEVEL_UPDATE_CONVERSATIONS_MESSAGES_ATTACHMENTS`

Set attachments on an existing conversation message, replacing any existing attachments. Use this action when you need to update or add attachments to an existing message in GoHighLevel conversations. This operation replaces all existing attachments with the new ones provided. Supported for "Custom Call" message type only. Maximum 5 URLs per request. This action is irreversible — existing attachments will be permanently replaced.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `messageId` | string | Yes | The unique identifier of the message to update attachments for. |
| `attachments` | array | Yes | Array of attachment URLs to set on the message. Maximum 5 URLs. This operation replaces all existing attachments. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Email Template

**Slug:** `HIGHLEVEL_UPDATE_EMAILS_TEMPLATES`

Updates an existing email template for the specified location. Use this action when you need to modify an email template's name, subject, content, or other properties. All request body fields are optional - only include the fields you want to update. The template will be associated with the specified location and template ID. Required headers (handled automatically): Version: 2021-07-28

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `html` | string | No | Updated HTML content of the email template. |
| `name` | string | No | Updated name of the email template. |
| `text` | string | No | Updated plain text content of the email template. |
| `subject` | string | No | Updated subject line of the email template. |
| `category` | string | No | Updated category of the template. |
| `folderId` | string | No | Updated folder ID where the template is stored. |
| `locationId` | string | Yes | The unique identifier of the location associated with the template. |
| `templateId` | string | Yes | The unique identifier of the email template to update. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Estimate Template

**Slug:** `HIGHLEVEL_UPDATE_ESTIMATE_TEMPLATE`

Updates an existing estimate template by its unique identifier. Use this action when you need to modify an existing estimate template's name, business details, items, discount, or other properties. This action requires the Version header to be set to 2021-07-28, which is handled automatically. Required OAuth scope: invoices/estimate.write

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `meta` | object | No | Meta data for the estimate |
| `name` | string | Yes | Estimate Name |
| `items` | array | Yes | An array of items for the estimate |
| `title` | string | No | Title for the estimate |
| `alt_id` | string | Yes | Location Id or Agency Id |
| `alt_type` | string ("location") | No | The type of altId - must be 'location' |
| `currency` | string | Yes | Currency code |
| `discount` | object | Yes | Discount details for the estimate |
| `live_mode` | boolean | No | Livemode for estimate |
| `attachments` | array | No | Attachments for the invoice |
| `template_id` | string | Yes | The unique identifier of the estimate template to update |
| `terms_notes` | string | No | Terms notes. Also supports HTML markups |
| `business_details` | object | Yes | Business details associated with the estimate |
| `miscellaneous_charges` | object | No | Miscellaneous charges for the estimate |
| `send_estimate_details` | object | No | When sending estimate directly while saving |
| `estimate_number_prefix` | string | No | Prefix for the estimate number |
| `automatic_taxes_enabled` | boolean | No | Automatic taxes enabled for the Estimate |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Estimate Last Visited At

**Slug:** `HIGHLEVEL_UPDATE_INVOICES_ESTIMATE_STATS_LAST_VISITED_AT`

Updates the last visited at timestamp for an estimate. Use this action when you need to record when a contact or user last viewed an estimate. This is useful for tracking customer engagement with estimates. Note: This action requires the Version header to be set to 2021-07-28, which is handled automatically.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `estimate_id` | string | Yes | The unique identifier of the estimate to update the last visited at timestamp |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Invoice Schedule

**Slug:** `HIGHLEVEL_UPDATE_INVOICES_SCHEDULE`

Updates an existing invoice schedule by its unique identifier. Use this action when you need to modify an existing invoice schedule's name, contact details, schedule timing, business details, items, discount, or other properties. This action requires the Version header to be set to 2021-07-28, which is handled automatically. Required OAuth scope: invoices/schedule.write

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Name of the schedule |
| `items` | array | Yes | An array of items for the schedule |
| `title` | string | No | Title for the schedule |
| `alt_id` | string | Yes | Location Id / Company Id based on altType |
| `alt_type` | string ("location") | No | The type of altId - must be 'location' |
| `currency` | string | Yes | Currency code |
| `discount` | object | Yes | Discount details for the schedule |
| `schedule` | object | Yes | Schedule timing configuration |
| `live_mode` | boolean | Yes | Whether the schedule is in live mode |
| `termsNotes` | string | No | Terms notes. Also supports HTML markups |
| `attachments` | array | No | Attachments for the invoice |
| `schedule_id` | string | Yes | The unique identifier of the schedule to update |
| `contact_details` | object | Yes | Contact details for the schedule |
| `business_details` | object | Yes | Business details associated with the schedule |
| `miscellaneousCharges` | object | No | Miscellaneous charges for the invoice |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Knowledge Base

**Slug:** `HIGHLEVEL_UPDATE_KNOWLEDGE_BASES`

Updates a knowledge base by its unique identifier. Use this action when you need to modify the name, status, or other properties of an existing knowledge base in GoHighLevel. Only fields provided in the request body will be updated; unspecified fields retain their current values. Required headers (handled automatically): Content-Type: application/json, Version: 2021-07-28

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The unique identifier of the knowledge base to update |
| `name` | string | No | The updated name of the knowledge base |
| `status` | string | No | The status of the knowledge base (e.g., 'active', 'inactive') |
| `location_id` | string | No | The unique identifier of the location where the knowledge base exists |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Bulk Delete Media Files

**Slug:** `HIGHLEVEL_UPDATE_MEDIAS_DELETE_FILES`

Bulk soft-deletes or trashes multiple files and folders in a single request. Use this action when you need to efficiently remove multiple media items at once by setting their status to either 'deleted' or 'trashed'. This operation affects only the specified files and does not permanently remove them from the system. This action is irreversible — files that are deleted or trashed cannot be recovered through this action. Consider using this for batch cleanup operations where you need to remove multiple media files from the HighLevel media library. Required headers (handled automatically): Version: 2021-07-28

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `altId` | string | Yes | Location identifier that owns the files |
| `status` | string ("deleted" | "trashed") | Yes | Status to set for the files (deleted or trashed) |
| `altType` | string ("location") | Yes | Type of entity that owns the files (currently only 'location' is supported) |
| `filesToBeDeleted` | array | Yes | Array of file objects to be deleted or trashed |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Bulk Update Media Files

**Slug:** `HIGHLEVEL_UPDATE_MEDIAS_UPDATE_FILES`

Updates metadata or status of multiple files and folders in bulk. Use this action when you need to rename multiple media files or folders in a single request. This action requires the location ID (altId), the entity type (altType), and an array of file objects containing their IDs and optional new names. Note: This is an update (not create) operation — only the name field can be modified; other metadata retains its current values. Required headers (handled automatically): Version: 2021-07-28

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `altId` | string | Yes | Location identifier that owns the files or folders |
| `altType` | string ("location") | Yes | Type of entity that owns the files (currently only 'location' is supported) |
| `filesToBeUpdated` | array | Yes | Array of file objects to be updated. Each object must include the file ID and optionally a new name. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Product Review

**Slug:** `HIGHLEVEL_UPDATE_PRODUCTS_REVIEWS`

Updates the status, reply, and other details of a product review. Use this action when you need to moderate, respond to, or modify an existing product review in the HighLevel system. This action allows updating the review status (approved/pending/rejected), adding a reply, or modifying the review headline, detail, and rating. Required headers (handled automatically): Version: 2021-07-28

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `altId` | string | Yes | Location Id or Agency Id |
| `reply` | array | No | Reply to the review |
| `detail` | string | No | Detailed review text of the product |
| `rating` | number | No | Rating of the product (0-5) |
| `status` | string ("approved" | "pending" | "rejected") | Yes | The status of the review (approved, pending, or rejected) |
| `altType` | string ("location") | Yes | The type of altId - must be 'location' |
| `headline` | string | No | The headline of the review |
| `productId` | string | Yes | The product ID associated with the review |
| `review_id` | string | Yes | The unique identifier of the product review to update |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Tag

**Slug:** `HIGHLEVEL_UPDATE_TAG`

Updates an existing tag for the specified location. Use this action when you need to modify a tag's name within a location in GoHighLevel. The tag will be updated in the location identified by the location_id parameter. Required headers (handled automatically): Version: 2021-07-28

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | The new name for the tag. |
| `tag_id` | string | Yes | The unique identifier of the tag to update. |
| `location_id` | string | Yes | The unique identifier of the location where the tag exists. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Task Completed

**Slug:** `HIGHLEVEL_UPDATE_TASK_COMPLETED`

Updates the completed status of a task associated with a contact. Use this action when you need to mark a task as completed or uncompleted for a specific contact in GoHighLevel. This action modifies the completion status of an existing task identified by its ID. Required headers (handled automatically): Version: 2021-07-28, Content-Type: application/json

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `taskId` | string | Yes | The unique identifier of the task to update. |
| `completed` | boolean | Yes | Whether the task should be marked as completed. |
| `contactId` | string | Yes | The unique identifier of the contact whose task to update. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Voice AI Agent

**Slug:** `HIGHLEVEL_UPDATE_VOICE_AI_AGENTS`

Partially updates an existing voice AI agent's configuration. Use this action when you need to modify specific settings of a voice AI agent in GoHighLevel, such as updating the agent name, prompt, voice settings, working hours, or notification preferences. This is a partial update operation — only the fields provided in the request body will be modified; unspecified fields retain their current values. Required headers (handled automatically): Version: 2021-04-15

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `agentId` | string | Yes | The unique identifier of the voice AI agent to update |
| `voiceId` | string | No | Identifier for the speech synthesis voice from available voice options |
| `language` | string ("en-US" | "pt-BR" | "es" | "fr" | "de" | "it" | "nl-NL" | "multi") | No | Language code for the agent's speech and understanding. |
| `timezone` | string | No | IANA timezone identifier affecting working hours and scheduling |
| `agentName` | string | No | Display name for the voice AI agent, between 1-40 characters |
| `locationId` | string | Yes | The location identifier associated with the voice AI agent |
| `agentPrompt` | string | No | Custom instructions defining the agent's behavior and personality |
| `translation` | object | No | Language translation settings |
| `businessName` | string | No | Name of the business this agent represents |
| `numberPoolId` | string | No | Identifier for the number pool managing phone number allocation |
| `inboundNumber` | string | No | Phone number for receiving inbound calls to this agent |
| `patienceLevel` | string ("low" | "medium" | "high") | No | Tolerance level for caller response delays. |
| `welcomeMessage` | string | No | Initial greeting spoken when the agent answers calls |
| `maxCallDuration` | integer | No | Maximum call duration in seconds, between 180-900 (3-15 minutes) |
| `agentWorkingHours` | array | No | Time intervals defining when the agent accepts calls, organized by day of week |
| `callEndWorkflowIds` | array | No | Array of workflow IDs to trigger automatically when calls end |
| `sendUserIdleReminders` | boolean | No | Enables automatic reminders when callers are silent |
| `isAgentAsBackupDisabled` | boolean | No | Prevents this agent from being used as a fallback option |
| `sendPostCallNotificationTo` | object | No | Recipients configuration for post-call notifications |
| `reminderAfterIdleTimeSeconds` | integer | No | Seconds to wait before sending idle reminders, between 1-20 |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Upload File to Custom Fields

**Slug:** `HIGHLEVEL_UPLOAD_FILE_CUSTOM_FIELDS`

Upload files to custom fields. Use when you need to attach files to contacts, opportunities, or custom object records via custom field file upload functionality. The 'id' parameter should be the ID of the Contact, Opportunity, or Custom Field that the file should be associated with. The actual file field within the custom field configuration will be updated with the uploaded file URL. Required headers (handled automatically): Version: 2021-07-28

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | Id of the entity to upload the file to. This can be a Contact ID, Opportunity ID, or Custom Field ID depending on which entity the custom field belongs to. |
| `file` | object | No | The file to upload to the custom field. FileUploadable object where 'name' is the filename to use (e.g., 'document.pdf', 'spreadsheet.xlsx'). Allowed file types depend on the custom field configuration. |
| `fileName` | string | No | The filename to use for the uploaded file (e.g., 'document.pdf', 'spreadsheet.xlsx'). Required when using 'file_content' parameter. |
| `maxFiles` | integer | No | Maximum number of files allowed for upload. Defaults to the field's configured limit. |
| `locationId` | string | Yes | The unique identifier of the location/sub-account |
| `contentType` | string | No | MIME type of the file (e.g., 'text/csv', 'application/pdf'). If not provided, will be inferred from filename extension. |
| `fileContent` | string | No | Base64 encoded file content. Alternative to 'file' parameter for direct file content upload. Use this when you have the file content as a string. The 'file_name' parameter is required when using this. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Upload Media File

**Slug:** `HIGHLEVEL_UPLOAD_MEDIA_FILE`

Upload a file to the Highlevel Media Library. Use when you need to upload documents, images, or videos to store them in the media library for use in campaigns and other features. If hosted is true, fileUrl is required. Otherwise, file is required. Maximum file size: 25 MB for regular files, 500 MB for video files.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `file` | object | No | The file to upload to the media library. FileUploadable object where 'name' is the destination filename (e.g., 'document.pdf', 'video.mp4'). Use this when not using a hosted file URL. Maximum size: 25 MB (500 MB for videos). |
| `name` | string | No | Name of the file to store in the media library. |
| `hosted` | boolean | No | Whether the file is hosted externally. If true, 'fileUrl' is required. If false or omitted, 'file' is required. |
| `fileUrl` | string | No | URL of the file to add to the media library. Required when 'hosted' is set to true. |
| `parentId` | string | No | ID of the parent folder in the media library. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |
