---
canonical_url: "https://docs.composio.dev/toolkits/highlevel_agency"
markdown_url: "https://docs.composio.dev/toolkits/highlevel_agency.md"
product: "platform"
version: null
last_updated: null
---

# HighLevel Agency

Manage agency-level HighLevel company data, users, custom menus, snapshots, and installations without location-level access.

- **Category:** crm
- **Auth:** OAUTH2
- **Composio-managed OAuth available?** No
- **Tools:** 16
- **Triggers:** 0
- **Slug:** `HIGHLEVEL_AGENCY`
- **Version:** 20261013_00

## Tools

### Create Custom Menu

**Slug:** `HIGHLEVEL_AGENCY_CREATE_CUSTOM_MENU`

Create an agency-only custom menu link that is never shown in sub-accounts.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `url` | string | Yes | Destination URL opened by the menu. |
| `icon` | object | Yes | Font Awesome icon displayed for the menu. |
| `title` | string | Yes | Menu title shown to agency users. |
| `open_mode` | string ("iframe" | "new_tab" | "current_tab") | Yes | How HighLevel opens the menu destination. |
| `user_role` | string ("all" | "admin" | "user") | No | Agency user role allowed to see the menu. |
| `allow_camera` | boolean | No | Whether an iframe menu may use the camera. |
| `allow_microphone` | boolean | No | Whether an iframe menu may use the microphone. |

#### 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 Snapshot Share Link

**Slug:** `HIGHLEVEL_AGENCY_CREATE_SNAPSHOT_SHARE_LINK`

Create an externally usable share link for a snapshot belonging to a HighLevel agency/company ID, never a location ID. Location-restricted links are not supported. HighLevel exposes no API to revoke a created snapshot share link.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `company_id` | string | Yes | Agency/company ID from HighLevel; never a location ID. |
| `share_type` | string ("link" | "permanent_link" | "agency_link") | Yes | Kind of non-location snapshot share link to create. |
| `snapshot_id` | string | Yes | ID of an agency snapshot returned by List Snapshots. |
| `relationship_number` | string | No | Comma-separated agency relationship numbers for an agency-restricted link, when applicable. |

#### 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 Custom Menu

**Slug:** `HIGHLEVEL_AGENCY_DELETE_CUSTOM_MENU`

Permanently delete one agency custom menu link by its ID. A newly created menu may take a few seconds to become deletable; retry after a short delay if HighLevel initially reports that its ID does not exist.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `custom_menu_id` | string | Yes | Unique ID of the agency custom menu link to permanently 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 Agency User

**Slug:** `HIGHLEVEL_AGENCY_DELETE_USER`

Queue permanent deletion of an agency user by ID. A successful response confirms that HighLevel queued the request, not that deletion has completed. HighLevel does not allow the agency owner to be deleted.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | Yes | Unique ID of the agency user to permanently 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 |

### Find Agency Users by Email

**Slug:** `HIGHLEVEL_AGENCY_FIND_USERS_BY_EMAIL`

Return one page of agency users matching an exact batch of email addresses, including deleted users when requested, for a HighLevel agency/company ID, never a location ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum matching users to return in this page; the provider exposes no documented maximum. |
| `cursor` | string | No | Opaque continuation cursor returned by a previous call. |
| `emails` | array | No | Email addresses to match exactly on the first call; omit when continuing with cursor. Accepts an array, JSON array string, CSV string, or one email address. |
| `deleted` | boolean | No | Whether to return deleted users instead of active users. |
| `company_id` | string | Yes | Agency/company ID from HighLevel; never a location ID. |
| `projection` | string | No | Comma-separated response fields, or 'all'; omit to return only ID and 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 |

### Get Company

**Slug:** `HIGHLEVEL_AGENCY_GET_COMPANY`

Return a HighLevel agency's company profile and plan summary using its agency/company ID, never a location ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `company_id` | string | Yes | Agency/company ID from HighLevel; never a location ID. |

#### 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 Menu

**Slug:** `HIGHLEVEL_AGENCY_GET_CUSTOM_MENU`

Return one agency custom menu link by its ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `custom_menu_id` | string | Yes | Unique ID of the agency custom menu link 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 Installer Details

**Slug:** `HIGHLEVEL_AGENCY_GET_INSTALLER_DETAILS`

Return agency, installer, and Marketplace plan details for this OAuth installation using the Marketplace OAuth App ID stored in the auth config.

#### 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 Last Snapshot Push

**Slug:** `HIGHLEVEL_AGENCY_GET_LATEST_SNAPSHOT_PUSH_BY_LOCATION`

Return the latest push status and asset progress for an agency snapshot at one target HighLevel sub-account. location_id selects the sub-account for reporting and is not a Location OAuth credential; the connection remains Agency OAuth.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `company_id` | string | Yes | Agency/company ID from HighLevel; never a location ID. |
| `location_id` | string | Yes | Target HighLevel sub-account location ID for snapshot push reporting; this identifies the reported sub-account and is not a Location OAuth credential. |
| `snapshot_id` | string | Yes | Agency snapshot ID whose latest push status should be reported. |

#### 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 Agency User

**Slug:** `HIGHLEVEL_AGENCY_GET_USER`

Return one agency user's profile, role, permissions, and scopes by user ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | Yes | Agency user ID returned by SEARCH_USERS or FIND_USERS_BY_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 |

### List Custom Menus

**Slug:** `HIGHLEVEL_AGENCY_LIST_CUSTOM_MENUS`

Return one page of agency-visible custom menu links, optionally filtered by title text.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum custom menus to return in this page. |
| `query` | string | No | Partial or full custom-menu title to match. |
| `cursor` | string | No | Opaque continuation cursor returned by a previous call; omit for the first page. |

#### 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 Snapshot Pushes

**Slug:** `HIGHLEVEL_AGENCY_LIST_SNAPSHOT_PUSHES`

Return one page of sub-account push statuses for an agency snapshot within an ISO 8601 date range. Continue manually by passing a returned record ID as last_doc. The company_id is a HighLevel agency/company ID, never a location ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum push records to return; the provider documents a default of 20. |
| `to_time` | string | Yes | Inclusive end of the status window as YYYY-MM-DD or an ISO 8601 timestamp with timezone. |
| `last_doc` | string | No | Provider document ID after which results begin. Omit or pass an empty string for the first page. |
| `from_time` | string | Yes | Inclusive start of the status window as YYYY-MM-DD or an ISO 8601 timestamp with timezone. |
| `company_id` | string | Yes | Agency/company ID from HighLevel; never a location ID. |
| `snapshot_id` | string | Yes | Agency snapshot ID whose push statuses should be listed. |

#### 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 Snapshots

**Slug:** `HIGHLEVEL_AGENCY_LIST_SNAPSHOTS`

Return all owned and imported snapshots for a HighLevel agency/company ID, never a location ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `company_id` | string | Yes | Agency/company ID from HighLevel; never a location ID. |

#### 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 Agency Users

**Slug:** `HIGHLEVEL_AGENCY_SEARCH_USERS`

Return one page of agency users matching name, email, phone, role, IDs, or sync filters for a HighLevel agency/company ID, never a location ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `role` | string ("admin" | "user") | No | Agency role to match. |
| `sort` | string | No | Sort by date added; omit for the default name order. |
| `limit` | integer | No | Maximum users to return in this page. |
| `query` | string | No | Text matched against user full name, email, or phone. |
| `cursor` | string | No | Opaque continuation cursor returned by a previous call; omit for the first page. |
| `user_ids` | string | No | Comma-separated agency user IDs to include. |
| `company_id` | string | Yes | Agency/company ID from HighLevel; never a location ID. |
| `sort_direction` | string ("asc" | "desc") | No | Sort in ascending or descending order; omit for the provider default. |
| `enabled_two_way_sync` | boolean | No | Filter by whether two-way sync is enabled. |

#### 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 Custom Menu

**Slug:** `HIGHLEVEL_AGENCY_UPDATE_CUSTOM_MENU`

Update selected fields of an agency custom menu while preserving omitted fields and keeping all sub-account visibility disabled.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `url` | string | No | New destination URL; omit to preserve the current URL. |
| `icon` | object | No | New Font Awesome icon; omit to preserve the current icon. |
| `title` | string | No | New menu title; omit to preserve the current title. |
| `open_mode` | string ("iframe" | "new_tab" | "current_tab") | No | How HighLevel opens the menu destination; omit to preserve it. |
| `user_role` | string ("all" | "admin" | "user") | No | Agency user role allowed to see the menu; omit to preserve it. |
| `allow_camera` | boolean | No | Whether an iframe menu may use the camera; omit to preserve it. |
| `custom_menu_id` | string | Yes | Unique ID of the agency custom menu link to update. |
| `allow_microphone` | boolean | No | Whether an iframe menu may use the microphone; omit to preserve it. |

#### 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 Agency User Profile

**Slug:** `HIGHLEVEL_AGENCY_UPDATE_USER_PROFILE`

Update an agency user's name, phone, profile photo, or language without changing company, location access, permissions, scopes, email, or password. HighLevel does not allow the agency owner's profile to be modified. The company_id is a HighLevel agency/company ID, never a location ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `phone` | string | No | New E.164 phone number; omit to leave unchanged. |
| `user_id` | string | Yes | Agency user ID to update. |
| `last_name` | string | No | New last name; omit to leave unchanged. |
| `company_id` | string | Yes | Agency/company ID from HighLevel; never a location ID. |
| `first_name` | string | No | New first name; omit to leave unchanged. |
| `profile_photo` | string | No | New profile photo URL; omit to leave unchanged. |
| `platform_language` | string ("en_US" | "es" | "fr_CA" | "fr_FR" | "nl" | "de" | "pt_PT" | "pt_BR" | "it" | "sv" | "da" | "fi" | "no") | No | New HighLevel interface language; omit to leave unchanged. |

#### 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 |
