The HighLevel connector lets your AI agent act in each user's HighLevel account. Each user signs in to HighLevel once, and Scalekit stores and refreshes their tokens, so your agent never handles credentials. It comes with 102 tools.
- Tools
- 102
- What they doRead · write · destructive
- 64 · 36 · 264 read36 write2 destructive
- Users sign in with
- OAuth
- OAuth app
- Your own HighLevel app
Setup
Install the SDK
Terminal window npm install @scalekit-sdk/node dotenvTerminal window pip install scalekit-sdk-python python-dotenvSet your credentials
Add your Scalekit credentials to your
.envfile. Find values in app.scalekit.com > Developers > API Credentials..env SCALEKIT_ENVIRONMENT_URL=<your-environment-url>SCALEKIT_CLIENT_ID=<your-client-id>SCALEKIT_CLIENT_SECRET=<your-client-secret>Create the HighLevel connection
In AgentKit > Connections, create a HighLevel connection and copy its redirect URI. The name you give it is the
connection_nameyour code passes. See Configure connections.Register an OAuth app
HighLevel connections use your own OAuth app. Register one with HighLevel and add the redirect URI you copied.
Then enter the app's Client ID and Client Secret on the HighLevel connection.
Authorize a user and make your first call
quickstart.mts import { ScalekitClient } from '@scalekit-sdk/node'import 'dotenv/config'import { createInterface } from 'node:readline/promises'const scalekit = new ScalekitClient(process.env.SCALEKIT_ENVIRONMENT_URL,process.env.SCALEKIT_CLIENT_ID,process.env.SCALEKIT_CLIENT_SECRET,)const actions = scalekit.actionsconst connector = 'highlevel'const identifier = 'user_123'// Generate an authorization link for the userconst { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })console.log('Authorize HighLevel:', link)const rl = createInterface({ input: process.stdin, output: process.stdout })await rl.question('Press Enter after authorizing...')rl.close()// Make your first callconst result = await actions.executeTool({connector,identifier,toolName: 'highlevel_appointment_get',toolInput: { event_id: 'YOUR_EVENT_ID' },})console.log(result)Terminal window npx tsx quickstart.mtsquickstart.py import osfrom scalekit import ScalekitClientfrom dotenv import load_dotenvload_dotenv()scalekit_client = ScalekitClient(env_url=os.getenv("SCALEKIT_ENVIRONMENT_URL"),client_id=os.getenv("SCALEKIT_CLIENT_ID"),client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"),)actions = scalekit_client.actionsconnection_name = "highlevel"identifier = "user_123"# Generate an authorization link for the userlink_response = actions.get_authorization_link(connection_name=connection_name,identifier=identifier,)print("Authorize HighLevel:", link_response.link)input("Press Enter after authorizing...")# Make your first callresult = actions.execute_tool(tool_input={"event_id":"YOUR_EVENT_ID"},tool_name="highlevel_appointment_get",connection_name=connection_name,identifier=identifier,)print(result)Terminal window python quickstart.pyEach user signs in once. See Authorize a user for the full flow and statuses.
Tools
Pass the exact name toexecute_toolhighlevel_appointment_getGet one appointment by ID.Read-onlyGet Appointment
Get one appointment by ID. Returns the appointment's calendar, contact, title, status, start and end time, assignee and address. Use when you have the event ID. Use List Calendar Events to find appointments.
Inputs
event_idstringrequired- ID of the appointment (event). For a recurring appointment, pass an instance ID to change one occurrence or the master event ID to change the whole series. Get IDs with List Calendar Events or List Contact Appointments. Example: 0TkCdp9PfvLeWKYRRvIz.
highlevel_appointment_notes_listList the notes on an appointment.Read-onlyList Appointment Notes
List the notes on an appointment. Returns each note's ID, body, author and date. Use to read booking notes. Use List Contact Notes for notes on the contact itself.
Inputs
appointment_idstringrequired- ID of the appointment. Example: 0TkCdp9PfvLeWKYRRvIz.
limitnumberrequired- Number of notes to return. Example: 10.
offsetnumberrequired- Number of notes to skip, for paging. Use 0 for the first page.
highlevel_associations_listList the association types defined in a sub-account (how objects can be linked).Read-onlyList Associations
List the association types defined in a sub-account (how objects can be linked). Returns each association's ID, key, the two object keys it links and their labels. Use to get an association ID for Create Relation or List Record Relations.
Inputs
limitnumberrequired- Maximum number of associations to return. Example: 100.
location_idstringrequired- ID of the HighLevel sub-account (formerly called a location) to work in. The connected account is installed on one sub-account; use that sub-account's ID, shown in the HighLevel URL after /location/. Example: ve9EPM428h8vShlRW1KT.
skipnumberrequired- Number of associations to skip, for paging. Use 0 for the first page.
highlevel_blocked_slots_listList blocked time slots on a calendar, group or user in a time range.Read-onlyList Blocked Slots
List blocked time slots on a calendar, group or user in a time range. Returns each block's ID, title, start and end time and owner. Use to see blocked-off time. Pass one of calendar_id, user_id or group_id. Use List Calendar Events for appointments.
Inputs
end_timestringrequired- End of the time range, as a Unix timestamp in milliseconds. Example: 1680978599999.
location_idstringrequired- ID of the HighLevel sub-account (formerly called a location) to work in. The connected account is installed on one sub-account; use that sub-account's ID, shown in the HighLevel URL after /location/. Example: ve9EPM428h8vShlRW1KT.
start_timestringrequired- Start of the time range, as a Unix timestamp in milliseconds. Example: 1680373800000.
calendar_idstring- Return blocks on this calendar. One of calendar_id, user_id or group_id is required. Example: BqTwX8QFwXzpegMve9EQ.
group_idstring- Return blocks on calendars in this group. One of calendar_id, user_id or group_id is required. Example: ocQHyuzHvysMo5N5VsXc.
user_idstring- Return blocks owned by this user ID. One of calendar_id, user_id or group_id is required. Example: CVokAlI8fgw4WYWoCtQz.
highlevel_business_getGet one business (company record) by ID.Read-onlyGet Business
Get one business (company record) by ID. Returns the business's name, contact details, address and description. Use when you have the ID. Use List Businesses to find IDs.
Inputs
business_idstringrequired- ID of the business (company record) in the sub-account. Get it with List Businesses. Example: 5DP4iH6HLkQsiKESj6rh.
highlevel_businesses_listList the businesses (company records) in a sub-account.Read-onlyList Businesses
List the businesses (company records) in a sub-account. Returns each business's ID, name, phone, email, website and address. Use to find a business ID. Use Get Business for one business.
Inputs
location_idstringrequired- ID of the HighLevel sub-account (formerly called a location) to work in. The connected account is installed on one sub-account; use that sub-account's ID, shown in the HighLevel URL after /location/. Example: ve9EPM428h8vShlRW1KT.
limitstring- Maximum number of businesses to return. Defaults to 100. Example: 100.
skipstring- Number of businesses to skip, for paging. Example: 0.
highlevel_calendar_events_listList appointments on a calendar, calendar group or user in a time range.Read-onlyList Calendar Events
List appointments on a calendar, calendar group or user in a time range. Returns each event's ID, title, contact, status, start and end time and assignee. Use to see bookings in a window. Pass one of calendar_id, user_id or group_id. Use List Contact Appointments for one contact's bookings.
Inputs
end_timestringrequired- End of the time range, as a Unix timestamp in milliseconds. Example: 1680978599999.
location_idstringrequired- ID of the HighLevel sub-account (formerly called a location) to work in. The connected account is installed on one sub-account; use that sub-account's ID, shown in the HighLevel URL after /location/. Example: ve9EPM428h8vShlRW1KT.
start_timestringrequired- Start of the time range, as a Unix timestamp in milliseconds. Example: 1680373800000.
calendar_idstring- Return appointments on this calendar. One of calendar_id, user_id or group_id is required. Example: BqTwX8QFwXzpegMve9EQ.
group_idstring- Return appointments on calendars in this group. One of calendar_id, user_id or group_id is required. Example: ocQHyuzHvysMo5N5VsXc.
user_idstring- Return appointments owned by this user ID. One of calendar_id, user_id or group_id is required. Example: CVokAlI8fgw4WYWoCtQz.
highlevel_calendar_free_slots_getGet the open booking slots on a calendar between two dates.Read-onlyGet Calendar Free Slots
Get the open booking slots on a calendar between two dates. Returns available slot start times grouped by date. Use before Create Appointment to pick a free time. The range can be at most 31 days.
Inputs
calendar_idstringrequired- ID of the calendar. Get calendar IDs with List Calendars. Example: CVokAlI8fgw4WYWoCtQz.
end_datenumberrequired- End of the range, as a Unix timestamp in milliseconds. The range can be at most 31 days. Example: 1738281600000.
start_datenumberrequired- Start of the range, as a Unix timestamp in milliseconds. The range can be at most 31 days. Example: 1735689600000.
timezonestring- IANA time zone to return the slots in. Example: America/Chicago.
user_idstring- Only return slots for this team member's user ID. Example: 082goXVW3lIExEQPOnd3.
user_idsarray- Only return slots for these team members' user IDs. Example: ["082goXVW3lIExEQPOnd3"].
highlevel_calendar_getGet one calendar by ID.Read-onlyGet Calendar
Get one calendar by ID. Returns the calendar's name, type, team members, availability, slot settings and meeting location configurations. Use for one calendar's settings, such as meeting location IDs for booking. Use List Calendars to find calendar IDs.
Inputs
calendar_idstringrequired- ID of the calendar. Get calendar IDs with List Calendars. Example: CVokAlI8fgw4WYWoCtQz.
highlevel_calendar_groups_listList the calendar groups in a sub-account.Read-onlyList Calendar Groups
List the calendar groups in a sub-account. Returns each group's ID, name, slug and active state. Use to get a group ID for List Calendars or List Calendar Events.
Inputs
location_idstringrequired- ID of the HighLevel sub-account (formerly called a location) to work in. The connected account is installed on one sub-account; use that sub-account's ID, shown in the HighLevel URL after /location/. Example: ve9EPM428h8vShlRW1KT.
highlevel_calendars_listList the calendars in a sub-account.Read-onlyList Calendars
List the calendars in a sub-account. Returns each calendar's ID, name, type, team members, slot settings and meeting locations. Use to find calendar IDs before checking free slots or booking. Use Get Calendar for one calendar's full settings.
Inputs
location_idstringrequired- ID of the HighLevel sub-account (formerly called a location) to work in. The connected account is installed on one sub-account; use that sub-account's ID, shown in the HighLevel URL after /location/. Example: ve9EPM428h8vShlRW1KT.
group_idstring- Only return calendars in this calendar group. Example: BqTwX8QFwXzpegMve9EQ.
show_draftedboolean- Set to false to leave out draft calendars. Defaults to true.
highlevel_campaigns_listList the campaigns in a sub-account.Read-onlyList Campaigns
List the campaigns in a sub-account. Returns each campaign's ID, name and status. Use to find a campaign ID for Add Contact to Campaign.
Inputs
location_idstringrequired- ID of the HighLevel sub-account (formerly called a location) to work in. The connected account is installed on one sub-account; use that sub-account's ID, shown in the HighLevel URL after /location/. Example: ve9EPM428h8vShlRW1KT.
statusstring- Only return campaigns with this status, such as draft or published. Example: published.
highlevel_contact_appointments_listList all appointments booked for one contact.Read-onlyList Contact Appointments
List all appointments booked for one contact. Returns each appointment's ID, calendar, start and end time, status and title. Use for one contact's bookings. Use List Calendar Events for all bookings on a calendar or user in a time range.
Inputs
contact_idstringrequired- ID of the contact. Find it with Find Duplicate Contact, List Contacts by Business, or in the contact's URL in HighLevel. Example: ocQHyuzHvysMo5N5VsXc.
highlevel_contact_duplicate_getFind the existing contact that matches an email or phone number.Read-onlyFind Duplicate Contact
Find the existing contact that matches an email or phone number. Returns the matching contact, or an empty result when there is none. Use to look a contact up by email or phone before creating one. Use Get Contact when you already have the ID.
Inputs
location_idstringrequired- ID of the HighLevel sub-account (formerly called a location) to work in. The connected account is installed on one sub-account; use that sub-account's ID, shown in the HighLevel URL after /location/. Example: ve9EPM428h8vShlRW1KT.
emailstring- Email address to match. Example: rosan@deos.com.
phonestring- Phone number to match, with country code. Example: +14231645160.
highlevel_contact_getGet one HighLevel contact by ID.Read-onlyGet Contact
Get one HighLevel contact by ID. Returns the contact's name, email, phone, address, tags, custom field values, DND settings, assigned user and dates. Use when you already have the contact ID. Use Find Duplicate Contact to look a contact up by email or phone.
Inputs
contact_idstringrequired- ID of the contact. Find it with Find Duplicate Contact, List Contacts by Business, or in the contact's URL in HighLevel. Example: ocQHyuzHvysMo5N5VsXc.
highlevel_contact_note_getGet one note on a contact by ID.Read-onlyGet Contact Note
Get one note on a contact by ID. Returns the note's body, author user ID and date added. Use when you have the note ID. Use List Contact Notes to find note IDs.
Inputs
contact_idstringrequired- ID of the contact. Find it with Find Duplicate Contact, List Contacts by Business, or in the contact's URL in HighLevel. Example: ocQHyuzHvysMo5N5VsXc.
note_idstringrequired- ID of the note. Get it with List Contact Notes. Example: ocQHyuzHvysMo5N5VsXc.
highlevel_contact_notes_listList all notes on one contact.Read-onlyList Contact Notes
List all notes on one contact. Returns each note's ID, body, author user ID and date added. Use to read a contact's notes. Use Get Contact Note for one note by ID.
Inputs
contact_idstringrequired- ID of the contact. Find it with Find Duplicate Contact, List Contacts by Business, or in the contact's URL in HighLevel. Example: ocQHyuzHvysMo5N5VsXc.
highlevel_contact_task_getGet one task on a contact by ID.Read-onlyGet Contact Task
Get one task on a contact by ID. Returns the task's title, body, due date, completion state and assignee. Use when you have both IDs. Use List Contact Tasks to find task IDs.
Inputs
contact_idstringrequired- ID of the contact. Find it with Find Duplicate Contact, List Contacts by Business, or in the contact's URL in HighLevel. Example: ocQHyuzHvysMo5N5VsXc.
task_idstringrequired- ID of the task. Get it with List Contact Tasks. Example: ocQHyuzHvysMo5N5VsXc.
highlevel_contact_tasks_listList all tasks on one contact.Read-onlyList Contact Tasks
List all tasks on one contact. Returns each task's ID, title, body, due date, completion state and assignee. Use for one contact's tasks. Use Search Tasks to find tasks across the whole sub-account.
Inputs
contact_idstringrequired- ID of the contact. Find it with Find Duplicate Contact, List Contacts by Business, or in the contact's URL in HighLevel. Example: ocQHyuzHvysMo5N5VsXc.
highlevel_contacts_by_business_listList the contacts linked to a business (company record).Read-onlyList Contacts by Business
List the contacts linked to a business (company record). Returns a page of contacts with their IDs, names and emails. Use to see who works at a business. Use List Businesses to find the business ID first.
Inputs
business_idstringrequired- ID of the business (company record) in the sub-account. Get it with List Businesses. Example: 5DP4iH6HLkQsiKESj6rh.
location_idstringrequired- ID of the HighLevel sub-account (formerly called a location) to work in. The connected account is installed on one sub-account; use that sub-account's ID, shown in the HighLevel URL after /location/. Example: ve9EPM428h8vShlRW1KT.
limitstring- Maximum number of contacts to return. Defaults to 25. Example: 25.
querystring- Optional text to filter the contacts by name. Example: Rosan.
skipstring- Number of contacts to skip, for paging. Example: 0.
highlevel_conversation_getGet one conversation by ID.Read-onlyGet Conversation
Get one conversation by ID. Returns the conversation's contact, channel type, unread count, starred state, assignee and last message details. Use when you have the conversation ID. Use List Conversation Messages for the messages in it.
Inputs
conversation_idstringrequired- ID of the conversation. Get it with Search Conversations. Example: tDtDnQdgm2LXpyiqYvZ6.
highlevel_conversation_messages_listList the messages in a conversation, newest first.Read-onlyList Conversation Messages
List the messages in a conversation, newest first. Returns messages with ID, type, direction, body, status, attachments and date, plus a cursor for the next page. Use to read a thread. Use Get Message for one message by ID.
Inputs
conversation_idstringrequired- ID of the conversation. Get it with Search Conversations. Example: tDtDnQdgm2LXpyiqYvZ6.
last_message_idstring- Paging cursor: the ID of the last message from the previous page. Example: tDtDnQdgm2LXpyiqYvZ6.
limitnumber- Maximum number of records to return per page. Example: 20.
typestring- Only return these message types, comma-separated. Valid types include TYPE_CALL, TYPE_SMS, TYPE_EMAIL, TYPE_WHATSAPP, TYPE_FACEBOOK, TYPE_INSTAGRAM, TYPE_GMB, TYPE_LIVE_CHAT and the TYPE_ACTIVITY_* types. Example: TYPE_SMS,TYPE_CALL.
highlevel_conversations_searchSearch conversations (message threads with contacts) in a sub-account.Read-onlySearch Conversations
Search conversations (message threads with contacts) in a sub-account. Returns a page of conversations with ID, contact, last message preview, type, unread count and assignee. Use to find threads by contact, assignee, status, message type or text. Use List Conversation Messages to read a thread's messages.
Inputs
location_idstringrequired- ID of the HighLevel sub-account (formerly called a location) to work in. The connected account is installed on one sub-account; use that sub-account's ID, shown in the HighLevel URL after /location/. Example: ve9EPM428h8vShlRW1KT.
assigned_tostring- ID of the HighLevel user this record is assigned to. Look it up with Search Users. Example: 082goXVW3lIExEQPOnd3.
contact_idstring- Only return conversations with this contact ID. Example: 9VEmS0si86GW6gXWU89b.
conversation_idstring- Only return the conversation with this ID. Example: ABCHkzuJQ8ZMd4Te84GK.
end_datenumber- End date filter for dateAdded field (Unix timestamp in milliseconds). Example: 1672531199000.
followersstring- List of HighLevel user IDs to add as followers. Look users up with Search Users. Example: ["082goXVW3lIExEQPOnd3"].
last_message_actionstring- Action of the last outbound message in the conversation as string. One of: automated, manual. Example: manual.one of
automatedmanual last_message_directionstring- Direction of the last message in the conversation as string. One of: inbound, outbound. Example: inbound.one of
inboundoutbound last_message_typestring- Type of the last message in the conversation as a string. One of: TYPE_CALL, TYPE_SMS, TYPE_RCS, 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, TYPE_TIKTOK, TYPE_TIKTOK_COMMENT, TYPE_ACTIVITY_WHATSAPP, TYPE_FORM_SUBMISSION, TYPE_SMS_REACTION. Example: TYPE_SMS.one of
TYPE_CALLTYPE_SMSTYPE_RCSTYPE_EMAILTYPE_SMS_REVIEW_REQUESTTYPE_WEBCHATTYPE_SMS_NO_SHOW_REQUESTTYPE_CAMPAIGN_SMSTYPE_CAMPAIGN_CALLTYPE_CAMPAIGN_EMAILTYPE_CAMPAIGN_VOICEMAILTYPE_FACEBOOKTYPE_CAMPAIGN_FACEBOOKTYPE_CAMPAIGN_MANUAL_CALLTYPE_CAMPAIGN_MANUAL_SMSTYPE_GMBTYPE_CAMPAIGN_GMBTYPE_REVIEWTYPE_INSTAGRAMTYPE_WHATSAPPTYPE_CUSTOM_SMSTYPE_CUSTOM_EMAILTYPE_CUSTOM_PROVIDER_SMSTYPE_CUSTOM_PROVIDER_EMAILTYPE_IVR_CALLTYPE_ACTIVITY_CONTACTTYPE_ACTIVITY_INVOICETYPE_ACTIVITY_PAYMENTTYPE_ACTIVITY_OPPORTUNITYTYPE_LIVE_CHATTYPE_LIVE_CHAT_INFO_MESSAGETYPE_ACTIVITY_APPOINTMENTTYPE_FACEBOOK_COMMENTTYPE_INSTAGRAM_COMMENTTYPE_CUSTOM_CALLTYPE_INTERNAL_COMMENTTYPE_ACTIVITY_EMPLOYEE_ACTION_LOGTYPE_TIKTOKTYPE_TIKTOK_COMMENTTYPE_ACTIVITY_WHATSAPPTYPE_FORM_SUBMISSIONTYPE_SMS_REACTION limitnumber- Number of conversations to return. Defaults to 20. Example: 20.
mentionsstring- User Id of the mention. Multiple values are comma separated. Example: ABCHkzuJQ8ZMd4Te84GK,fGiae4CHkzoskh8thsik.
querystring- Free text to search conversations. Example: invoice.
score_profilestring- Id of score profile on which conversations should get filtered out, works with scoreProfileMin & scoreProfileMax. Example: ABCHkzuJQ8ZMd4Te84GK.
score_profile_maxnumber- Maximum score when filtering by score_profile. Example: 90.
score_profile_minnumber- Minimum score when filtering by score_profile. Example: 10.
sortstring- Sort paramater - asc or desc. One of: asc, desc. Example: asc.one of
ascdesc sort_bystring- The sorting of the conversation to be filtered as - manual messages or all messages. One of: last_manual_message_date, last_message_date, score_profile, overdue_at, due_at. Example: last_message_date.one of
last_manual_message_datelast_message_datescore_profileoverdue_atdue_at sort_score_profilestring- Id of score profile on which sortBy.ScoreProfile should sort on. Example: ABCHkzuJQ8ZMd4Te84GK.
start_after_datenumber- Paging cursor: the sort value of the last conversation on the previous page (a timestamp in milliseconds). Example: 1600854000000.
start_datenumber- Start date filter for dateAdded field (Unix timestamp in milliseconds). Example: 1640995200000.
statusstring- The status of the conversation to be filtered - all, read, unread, starred. One of: all, read, unread, starred, recents. Example: all.one of
allreadunreadstarredrecents
highlevel_custom_fields_by_object_listList the custom fields and folders of a custom object or of businesses.Read-onlyList Custom Fields by Object
List the custom fields and folders of a custom object or of businesses. Returns each field's ID, name, key, data type and options, plus folders. Use for custom objects (key starting with custom_objects.) and business. Use List Custom Fields for contact and opportunity fields.
Inputs
location_idstringrequired- ID of the HighLevel sub-account (formerly called a location) to work in. The connected account is installed on one sub-account; use that sub-account's ID, shown in the HighLevel URL after /location/. Example: ve9EPM428h8vShlRW1KT.
object_keystringrequired- Key of the object: custom_objects.<name> for a custom object, or business. Find keys with List Objects. Example: custom_objects.pet.
highlevel_form_submissions_listList form submissions in a sub-account.Read-onlyList Form Submissions
List form submissions in a sub-account. Returns each submission's ID, form ID, contact, submitted values and date, with paging info. Use to read leads captured by forms. Filter by form, contact or date range.
Inputs
location_idstringrequired- ID of the HighLevel sub-account (formerly called a location) to work in. The connected account is installed on one sub-account; use that sub-account's ID, shown in the HighLevel URL after /location/. Example: ve9EPM428h8vShlRW1KT.
end_atstring- End of the date range, in YYYY-MM-DD format. Example: 2025-01-31.
form_idstring- Only return submissions for this form ID. Get it with List Forms. Example: jjusM6EOngDExnbo2DbU.
limitnumber- Number of submissions per page, up to 100. Defaults to 20. Example: 20.
pagenumber- Page number, starting at 1. Defaults to 1. Example: 1.
querystring- Filter by contact ID, name, email or phone. Example: john@deo.com.
start_atstring- Start of the date range, in YYYY-MM-DD format. Example: 2025-01-01.
highlevel_forms_listList the forms in a sub-account.Read-onlyList Forms
List the forms in a sub-account. Returns each form's ID and name. Use to find a form ID for List Form Submissions.
Inputs
location_idstringrequired- ID of the HighLevel sub-account (formerly called a location) to work in. The connected account is installed on one sub-account; use that sub-account's ID, shown in the HighLevel URL after /location/. Example: ve9EPM428h8vShlRW1KT.
limitnumber- Number of forms per page, up to 50. Defaults to 10. Example: 20.
skipnumber- Number of forms to skip, for paging. Example: 0.
typestring- Only return items of this type, such as folder. Example: folder.
highlevel_invoice_getGet one invoice by ID.Read-onlyGet Invoice
Get one invoice by ID. Returns the invoice's line items, totals, amount due, contact, status, dates and payment details. Use when you have the invoice ID. Use List Invoices to find invoices.
Inputs
alt_idstringrequired- ID of the sub-account (location) that owns the records. The connected account is installed on one sub-account; use that sub-account's ID, shown in the HighLevel URL after /location/. Example: ve9EPM428h8vShlRW1KT.
invoice_idstringrequired- ID of the invoice. Get it with List Invoices. Example: 6578278e879ad2646715ba9c.
alt_typestring- Type of owner ID passed in alt_id. Only location (a sub-account) is supported with a sub-account token, so leave it at the default. One of: location.one of
locationdefaultlocation
highlevel_invoices_listList invoices in a sub-account.Read-onlyList Invoices
List invoices in a sub-account. Returns each invoice's ID, number, name, contact, total, amount due, status and dates, with a total count. Use to find invoices by status, contact, date or text. Use Get Invoice for one invoice.
Inputs
alt_idstringrequired- ID of the sub-account (location) that owns the records. The connected account is installed on one sub-account; use that sub-account's ID, shown in the HighLevel URL after /location/. Example: ve9EPM428h8vShlRW1KT.
limitstringrequired- Maximum number of invoices to return. Example: 10.
offsetstringrequired- Number of invoices to skip, for paging. Use 0 for the first page.
alt_typestring- Type of owner ID passed in alt_id. Only location (a sub-account) is supported with a sub-account token, so leave it at the default. One of: location.one of
locationdefaultlocation contact_idstring- ID of the contact. Find it with Find Duplicate Contact, List Contacts by Business, or in the contact's URL in HighLevel. Example: ocQHyuzHvysMo5N5VsXc.
end_atstring- End of the date range, in YYYY-MM-DD format. Example: 2025-01-31.
payment_modestring- Payment mode to filter by: live or test. Example: live. One of: default, live, test.one of
defaultlivetest searchstring- To search for an invoice by id / name / email / phoneNo. Example: Alex.
sort_fieldstring- The field on which sorting should be applied. One of: issueDate. Example: issueDate.one of
issueDate sort_orderstring- The order of sort which should be applied for the sortField. One of: ascend, descend. Example: descend.one of
ascenddescend start_atstring- Start of the date range, in YYYY-MM-DD format. Example: 2025-01-01.
statusstring- Only return invoices with this status, such as draft, sent, paid, void or partially_paid. Example: paid.
highlevel_location_custom_field_getGet one custom field by ID or field key.Read-onlyGet Custom Field
Get one custom field by ID or field key. Returns the field's name, key, data type, model and options. Use for one field's details. Use List Custom Fields to see all fields.
Inputs
custom_field_idstringrequired- ID of the custom field, or its field key such as contact.first_name. Get it with List Custom Fields. Example: 6dvNaf7VhkQ9snc5vnjJ.
location_idstringrequired- ID of the HighLevel sub-account (formerly called a location) to work in. The connected account is installed on one sub-account; use that sub-account's ID, shown in the HighLevel URL after /location/. Example: ve9EPM428h8vShlRW1KT.
highlevel_location_custom_fields_listList the custom fields defined for contacts or opportunities in a sub-account.Read-onlyList Custom Fields
List the custom fields defined for contacts or opportunities in a sub-account. Returns each field's ID, name, field key, data type, model and options. Use to get custom field IDs and keys before setting custom_fields on a contact or opportunity. Use List Custom Fields by Object for custom objects and businesses.
Inputs
location_idstringrequired- ID of the HighLevel sub-account (formerly called a location) to work in. The connected account is installed on one sub-account; use that sub-account's ID, shown in the HighLevel URL after /location/. Example: ve9EPM428h8vShlRW1KT.
modelstring- Which records' custom fields to return: contact, opportunity or all. One of: contact, opportunity, all.one of
contactopportunityall
highlevel_location_custom_value_getGet one custom value by ID.Read-onlyGet Custom Value
Get one custom value by ID. Returns the custom value's name, field key and value. Use when you have the ID. Use List Custom Values to find IDs.
Inputs
custom_value_idstringrequired- ID of the custom value. Get it with List Custom Values. Example: kOBjMVAJhFuUeYIojVet.
location_idstringrequired- ID of the HighLevel sub-account (formerly called a location) to work in. The connected account is installed on one sub-account; use that sub-account's ID, shown in the HighLevel URL after /location/. Example: ve9EPM428h8vShlRW1KT.
highlevel_location_custom_values_listList the custom values (sub-account-wide merge values) in a sub-account.Read-onlyList Custom Values
List the custom values (sub-account-wide merge values) in a sub-account. Returns each custom value's ID, name, field key and value. Use to read reusable values such as a booking link used in templates. These differ from custom fields, which are per contact.
Inputs
location_idstringrequired- ID of the HighLevel sub-account (formerly called a location) to work in. The connected account is installed on one sub-account; use that sub-account's ID, shown in the HighLevel URL after /location/. Example: ve9EPM428h8vShlRW1KT.
highlevel_location_getGet the details of a sub-account (formerly called a location).Read-onlyGet Sub-Account
Get the details of a sub-account (formerly called a location). Returns the sub-account's name, address, phone, email, website, time zone, business settings and companyId. Use to read the connected sub-account's profile, or to get the companyId needed by Search Users.
Inputs
location_idstringrequired- ID of the HighLevel sub-account (formerly called a location) to work in. The connected account is installed on one sub-account; use that sub-account's ID, shown in the HighLevel URL after /location/. Example: ve9EPM428h8vShlRW1KT.
highlevel_location_tag_getGet one tag by ID.Read-onlyGet Tag
Get one tag by ID. Returns the tag's ID and name. Use when you have the tag ID. Use List Tags to find tags.
Inputs
location_idstringrequired- ID of the HighLevel sub-account (formerly called a location) to work in. The connected account is installed on one sub-account; use that sub-account's ID, shown in the HighLevel URL after /location/. Example: ve9EPM428h8vShlRW1KT.
tag_idstringrequired- ID of the tag. Get it with List Tags. Example: flGwEuzsfJOia1i1ikRN.
highlevel_location_tasks_searchSearch tasks across all contacts in a sub-account.Read-onlySearch Tasks
Search tasks across all contacts in a sub-account. Returns matching tasks with title, body, due date, completion, assignee and contact. Use to find tasks by assignee, contact, completion or text. Use List Contact Tasks for one contact's tasks.
Inputs
location_idstringrequired- ID of the HighLevel sub-account (formerly called a location) to work in. The connected account is installed on one sub-account; use that sub-account's ID, shown in the HighLevel URL after /location/. Example: ve9EPM428h8vShlRW1KT.
assigned_toarray- Only return tasks assigned to these user IDs. Example: ["0004Mtfsd11SBU1mBPgd"].
business_idstring- Only return tasks linked to this business ID. Example: 6348240b98722079e5417332.
completedboolean- Set to true for completed tasks only, or false for open tasks only.
contact_idsarray- Only return tasks on these contact IDs. Example: ["dSMo5jnqkJyh8YeGXM7k"].
limitnumber- Maximum number of tasks to return. Example: 10.
querystring- Text to search task titles. Example: proposal.
skipnumber- Number of tasks to skip, for paging. Example: 0.
highlevel_location_templates_listList the SMS, email and WhatsApp message templates in a sub-account.Read-onlyList Message Templates
List the SMS, email and WhatsApp message templates in a sub-account. Returns each template's ID, name, type and content. Use to find a template ID for Send Message.
Inputs
location_idstringrequired- ID of the HighLevel sub-account (formerly called a location) to work in. The connected account is installed on one sub-account; use that sub-account's ID, shown in the HighLevel URL after /location/. Example: ve9EPM428h8vShlRW1KT.
origin_idstringrequired- ID of the origin the templates belong to; for a sub-account's own templates use the sub-account (location) ID. Example: ve9EPM428h8vShlRW1KT.
deletedboolean- Set to true to include deleted templates.
limitstring- Maximum number of templates to return. Defaults to 25. Example: 25.
skipstring- Number of templates to skip, for paging. Example: 0.
typestring- Only return templates of this type. One of: sms, email, whatsapp.one of
smsemailwhatsapp
highlevel_location_timezones_listList the time zones HighLevel supports for a sub-account.Read-onlyList Timezones
List the time zones HighLevel supports for a sub-account. Returns the list of time zone names. Use to pick a valid timezone value for contacts or availability.
Inputs
location_idstringrequired- ID of the HighLevel sub-account (formerly called a location) to work in. The connected account is installed on one sub-account; use that sub-account's ID, shown in the HighLevel URL after /location/. Example: ve9EPM428h8vShlRW1KT.
highlevel_media_files_listList files and folders in a sub-account's media library.Read-onlyList Media Files
List files and folders in a sub-account's media library. Returns each item's ID, name, type, URL, size and parent folder. Use to find uploaded files and their public URLs, for example to attach to messages.
Inputs
alt_idstringrequired- ID of the sub-account (location) that owns the records. The connected account is installed on one sub-account; use that sub-account's ID, shown in the HighLevel URL after /location/. Example: ve9EPM428h8vShlRW1KT.
sort_bystringrequired- Field to sort by, such as createdAt or name. Example: createdAt.
sort_orderstringrequired- Sort direction: asc or desc. Example: desc.
typestringrequired- What to list: file or folder. Example: file.
alt_typestring- Type of owner ID passed in alt_id. Only location (a sub-account) is supported with a sub-account token, so leave it at the default. One of: location.one of
locationdefaultlocation fetch_allstring- Set to true to list all files and folders at every level.
limitstring- Number of items to return. Example: 10.
offsetstring- Number of items to skip, for paging. Example: 0.
parent_idstring- Only list items inside this folder ID. Example: 65f1c2d3e4a5b6c7d8e9f012.
querystring- Text to search file names. Example: invoice.
highlevel_message_getGet one message by ID.Read-onlyGet Message
Get one message by ID. Returns the message's type, direction, body, status, attachments, contact and conversation IDs and date. Use when you have the message ID. Use List Conversation Messages to read a whole thread.
Inputs
message_idstringrequired- ID of the message. Get it with List Conversation Messages. Example: ve9EPM428h8vShlRW1KT.
highlevel_object_record_getGet one custom object or business record by ID.Read-onlyGet Object Record
Get one custom object or business record by ID. Returns the record's property values, owners and dates. Use when you have the record ID. Use Search Object Records to find records.
Inputs
record_idstringrequired- ID of the record. Get it with Search Object Records. Example: 632c34b4c9b7da3358ac9891.
schema_keystringrequired- Key of the object: custom_objects.<name>, or business. Example: custom_objects.pet.
highlevel_object_records_searchSearch the records of a custom object or of businesses.Read-onlySearch Object Records
Search the records of a custom object or of businesses. Returns matching records with their IDs and property values, plus paging info. Use to find custom object records by their searchable properties. Use Get Object Record for one record by ID.
Inputs
location_idstringrequired- ID of the HighLevel sub-account (formerly called a location) to work in. The connected account is installed on one sub-account; use that sub-account's ID, shown in the HighLevel URL after /location/. Example: ve9EPM428h8vShlRW1KT.
pagenumberrequired- Page number, starting at 1. Example: 1.
page_limitnumberrequired- Number of records per page. Example: 10.
querystringrequired- Text matched against the object's searchable properties (set on the object in HighLevel). Example: Buddy.
schema_keystringrequired- Key of the object to search: custom_objects.<name>, or business. Find keys with List Objects. Example: custom_objects.pet.
search_afterarrayrequired- Paging cursor from the previous page's last record. Pass [] for the first page. Example: [].
highlevel_object_schema_getGet the schema of a standard or custom object.Read-onlyGet Object Schema
Get the schema of a standard or custom object. Returns the object's key, labels, searchable properties and, when requested, all of its fields. Use to learn an object's fields before searching its records.
Inputs
keystringrequired- Key of the object: custom_objects.<name> for a custom object, or a standard key such as contact, opportunity or business. Find keys with List Objects. Example: custom_objects.pet.
location_idstringrequired- ID of the HighLevel sub-account (formerly called a location) to work in. The connected account is installed on one sub-account; use that sub-account's ID, shown in the HighLevel URL after /location/. Example: ve9EPM428h8vShlRW1KT.
fetch_propertiesstring- Set to true to include all of the object's standard and custom fields.
highlevel_objects_listList the objects in a sub-account, both standard (contact, opportunity, business) and custom.Read-onlyList Objects
List the objects in a sub-account, both standard (contact, opportunity, business) and custom. Returns each object's key, labels and type. Use to find custom object keys for Get Object Schema and Search Object Records.
Inputs
location_idstringrequired- ID of the HighLevel sub-account (formerly called a location) to work in. The connected account is installed on one sub-account; use that sub-account's ID, shown in the HighLevel URL after /location/. Example: ve9EPM428h8vShlRW1KT.
highlevel_opportunities_searchSearch opportunities (deals) in a sub-account with filters.Read-onlySearch Opportunities
Search opportunities (deals) in a sub-account with filters. Returns a page of opportunities with name, status, value, pipeline, stage, contact and assignee, plus paging metadata. Use to find or list deals by pipeline, stage, status, contact, assignee or text. Use Get Opportunity when you already have the ID.
Inputs
location_idstringrequired- ID of the HighLevel sub-account (formerly called a location) to work in. The connected account is installed on one sub-account; use that sub-account's ID, shown in the HighLevel URL after /location/. Example: ve9EPM428h8vShlRW1KT.
assigned_tostring- Only return opportunities assigned to this user ID. Example: 082goXVW3lIExEQPOnd3.
campaign_idstring- Only return opportunities from this campaign ID. Example: Y2I9XM7aO1hncuSOlc9L.
contact_idstring- Only return opportunities for this contact. Example: WFwVrSSjZ2CNHbZThQX2.
countrystring- Only return opportunities whose contact is in this country, as a two-letter code. Example: US.
end_datestring- Only return opportunities created on or before this date, in mm-dd-yyyy format. Example: 12-31-2025.
get_calendar_eventsboolean- Set to true to include the contact's calendar events with each opportunity.
get_notesboolean- Set to true to include the contact's notes with each opportunity.
get_tasksboolean- Set to true to include the contact's tasks with each opportunity.
limitnumber- Number of opportunities per page, up to 100. Defaults to 20. Example: 20.
opportunity_idstring- Only return the opportunity with this ID. Example: 123akv4LFn6C9frZoy3e.
orderstring- Sort order of the results, such as added_asc or added_desc. Example: added_desc.
pagenumber- Page number to return, starting at 1. Defaults to 1. Example: 1.
pipeline_idstring- Only return opportunities in this pipeline. Get IDs with List Pipelines. Example: bCkKGpDsyPP4peuKowkG.
pipeline_stage_idstring- Only return opportunities in this pipeline stage. Example: 7915dedc-8f18-44d5-8bc3-77c04e994a10.
querystring- Free-text search across opportunity name and contact details. Example: john@deo.com.
start_afterstring- Paging cursor: the startAfter value from the previous page's meta, a timestamp in milliseconds. Pass it with start_after_id to get the next page. Example: 1628008053263.
start_after_idstring- Paging cursor: the startAfterId value from the previous page's meta. Pass it with start_after to get the next page. Example: UIaE1WjAwWKdlyD7osQI.
start_datestring- Only return opportunities created on or after this date, in mm-dd-yyyy format. Example: 01-01-2025.
statusstring- Only return opportunities with this status. One of: open, won, lost, abandoned, all.one of
openwonlostabandonedall
highlevel_opportunity_getGet one opportunity (deal) by ID.Read-onlyGet Opportunity
Get one opportunity (deal) by ID. Returns the opportunity's name, status, value, pipeline, stage, contact, assignee, custom fields and dates. Use when you have the opportunity ID. Use Search Opportunities to find opportunities.
Inputs
opportunity_idstringrequired- ID of the opportunity. Get it with Search Opportunities. Example: yWQobCRIhRguQtD2llvk.
highlevel_opportunity_lost_reasons_listList the lost reasons configured in a sub-account.Read-onlyList Opportunity Lost Reasons
List the lost reasons configured in a sub-account. Returns each lost reason's ID and name. Use to get a lost reason ID before marking an opportunity lost with Update Opportunity Status.
Inputs
location_idstringrequired- ID of the HighLevel sub-account (formerly called a location) to work in. The connected account is installed on one sub-account; use that sub-account's ID, shown in the HighLevel URL after /location/. Example: ve9EPM428h8vShlRW1KT.
deletedboolean- Set to true to include deleted lost reasons.
get_countboolean- Set to true to include the total count in the response.
limitnumber- Maximum number of lost reasons to return. Defaults to 100. Example: 100.
namestring- Only return lost reasons with this name. Example: Too expensive.
querystring- Text to search lost reason names. Example: price.
skipnumber- Number of lost reasons to skip, for paging. Example: 0.
highlevel_order_getGet one order by ID.Read-onlyGet Order
Get one order by ID. Returns the order's items, amounts, contact, status, payment status, fulfillment and source. Use when you have the order ID. Use List Orders to find orders.
Inputs
alt_idstringrequired- ID of the sub-account (location) that owns the records. The connected account is installed on one sub-account; use that sub-account's ID, shown in the HighLevel URL after /location/. Example: ve9EPM428h8vShlRW1KT.
order_idstringrequired- ID of the order. Get it with List Orders. Example: 653f5e0cde5a1314e62a837c.
location_idstring- Sub-account (location) ID. Usually the same as alt_id. Example: 3SwdhCu3svxI8AKsPJt6.
highlevel_orders_listList orders in a sub-account.Read-onlyList Orders
List orders in a sub-account. Returns each order's ID, contact, amount, currency, status, payment status and date, with a total count. Use to find orders by status, contact, date or text. Use Get Order for one order.
Inputs
alt_idstringrequired- ID of the sub-account (location) that owns the records. The connected account is installed on one sub-account; use that sub-account's ID, shown in the HighLevel URL after /location/. Example: ve9EPM428h8vShlRW1KT.
contact_idstring- ID of the contact. Find it with Find Duplicate Contact, List Contacts by Business, or in the contact's URL in HighLevel. Example: ocQHyuzHvysMo5N5VsXc.
end_atstring- End of the date range, in YYYY-MM-DD format. Example: 2025-01-31.
funnel_product_idsstring- Funnel product ids separated by comma. Example: 61dd0c7dc077f712a5f787ff,61d6afc9d39ac5e35965c017.
limitnumber- Maximum number of records to return in one page. Example: 20.
location_idstring- Sub-account (location) ID. Usually the same as alt_id. Example: 3SwdhCu3svxI8AKsPJt6.
offsetnumber- Number of records to skip before the page starts, for paging. Example: 0.
payment_modestring- Payment mode to filter by: live or test. Example: live.
payment_statusstring- Payment Status of the Order. One of: paid, unpaid, refunded, partially_paid. Example: unpaid.one of
paidunpaidrefundedpartially_paid searchstring- The name of the order for searching. Example: Awesome order.
source_idstring- Source id. Example: 61dd0c7dc077f712a5f787ff.
start_atstring- Start of the date range, in YYYY-MM-DD format. Example: 2025-01-01.
statusstring- Order status. Example: completed.
highlevel_pipelines_listList the opportunity pipelines in a sub-account.Read-onlyList Pipelines
List the opportunity pipelines in a sub-account. Returns each pipeline's ID and name with its ordered stages (stage ID and name). Use to get pipeline and stage IDs before creating, moving or searching opportunities.
Inputs
location_idstringrequired- ID of the HighLevel sub-account (formerly called a location) to work in. The connected account is installed on one sub-account; use that sub-account's ID, shown in the HighLevel URL after /location/. Example: ve9EPM428h8vShlRW1KT.
highlevel_product_getGet one product by ID or slug.Read-onlyGet Product
Get one product by ID or slug. Returns the product's name, description, type, images, variants and settings. Use when you have the product ID. Use List Product Prices for its prices.
Inputs
location_idstringrequired- ID of the HighLevel sub-account (formerly called a location) to work in. The connected account is installed on one sub-account; use that sub-account's ID, shown in the HighLevel URL after /location/. Example: ve9EPM428h8vShlRW1KT.
product_idstringrequired- ID or slug of the product. Get it with List Products. Example: 6578278e879ad2646715ba9c.
send_wishlist_statusboolean- Set to true to include whether the product is on wishlists.
highlevel_product_prices_listList the prices of a product.Read-onlyList Product Prices
List the prices of a product. Returns each price's ID, name, amount, currency, type (one-time or recurring) and recurrence. Use to see what a product costs. Use Get Product for the product itself.
Inputs
location_idstringrequired- ID of the HighLevel sub-account (formerly called a location) to work in. The connected account is installed on one sub-account; use that sub-account's ID, shown in the HighLevel URL after /location/. Example: ve9EPM428h8vShlRW1KT.
product_idstringrequired- ID of the product. Example: 6578278e879ad2646715ba9c.
idsstring- Only return these price IDs, comma-separated. Example: 6241712be68f7a98102ba272,632027d51f7876cd3020213d.
limitnumber- Maximum number of records to return in one page. Example: 20.
offsetnumber- Number of records to skip before the page starts, for paging. Example: 0.
highlevel_products_listList the products in a sub-account.Read-onlyList Products
List the products in a sub-account. Returns each product's ID, name, description, type, images and settings, with a total count. Use to find products by name or collection. Use Get Product for one product and List Product Prices for its prices.
Inputs
location_idstringrequired- ID of the HighLevel sub-account (formerly called a location) to work in. The connected account is installed on one sub-account; use that sub-account's ID, shown in the HighLevel URL after /location/. Example: ve9EPM428h8vShlRW1KT.
available_in_storeboolean- Set to true for products available in the online store.
collection_idsstring- Only return products in these collection IDs, comma-separated. Example: 65d71377c326ea78e1c47df5.
collection_slugstring- Only return products in the collection with this slug. Example: summer-sale.
expandarray- Related data to include with each product: tax, stripe or paypal. Example: ["tax"].
included_in_storeboolean- Set to true for products included in the store, or false for products that are not.
limitnumber- Maximum number of records to return in one page. Example: 20.
offsetnumber- Number of records to skip before the page starts, for paging. Example: 0.
product_idsarray- Only return these product IDs. Example: ["6578278e879ad2646715ba9c"].
searchstring- Text to search product names. Example: Awesome product.
sort_orderstring- Sort order by date. One of: asc, desc.one of
ascdesc store_idstring- Only return products for this store ID. Example: 3SwdhCu3svxI8AKsPJt6.
highlevel_record_relations_listList the records linked to a record through associations.Read-onlyList Record Relations
List the records linked to a record through associations. Returns each relation's ID, association ID and the two linked record IDs. Use to see what a contact or custom object record is linked to. Use Create Relation to add a link.
Inputs
limitnumberrequired- Maximum number of relations to return. Example: 100.
location_idstringrequired- ID of the HighLevel sub-account (formerly called a location) to work in. The connected account is installed on one sub-account; use that sub-account's ID, shown in the HighLevel URL after /location/. Example: ve9EPM428h8vShlRW1KT.
record_idstringrequired- ID of the record (contact, opportunity or custom object record). Example: 632c34b4c9b7da3358ac9891.
skipnumberrequired- Number of relations to skip, for paging. Use 0 for the first page.
association_idsarray- Only return relations for these association IDs. Example: ["ve9EPM428h8vShlRW1KT"].
highlevel_subscription_getGet one payment subscription by ID.Read-onlyGet Subscription
Get one payment subscription by ID. Returns the subscription's amount, currency, status, interval, contact and provider details. Use when you have the subscription ID. Use List Subscriptions to find subscriptions.
Inputs
alt_idstringrequired- ID of the sub-account (location) that owns the records. The connected account is installed on one sub-account; use that sub-account's ID, shown in the HighLevel URL after /location/. Example: ve9EPM428h8vShlRW1KT.
subscription_idstringrequired- ID of the subscription. Get it with List Subscriptions. Example: 6322e9c9e39fc14ab3ed7042.
alt_typestring- Type of owner ID passed in alt_id. Only location (a sub-account) is supported with a sub-account token, so leave it at the default. One of: location.one of
locationdefaultlocation
highlevel_subscriptions_listList payment subscriptions in a sub-account.Read-onlyList Subscriptions
List payment subscriptions in a sub-account. Returns each subscription's ID, contact, amount, currency, status, interval and dates, with a total count. Use to review recurring payments. Use Get Subscription for one subscription.
Inputs
alt_idstringrequired- ID of the sub-account (location) that owns the records. The connected account is installed on one sub-account; use that sub-account's ID, shown in the HighLevel URL after /location/. Example: ve9EPM428h8vShlRW1KT.
alt_typestring- Type of owner ID passed in alt_id. Only location (a sub-account) is supported with a sub-account token, so leave it at the default. One of: location.one of
locationdefaultlocation contact_idstring- ID of the contact. Find it with Find Duplicate Contact, List Contacts by Business, or in the contact's URL in HighLevel. Example: ocQHyuzHvysMo5N5VsXc.
end_atstring- End of the date range, in YYYY-MM-DD format. Example: 2025-01-31.
entity_idstring- Entity id for filtering of subscriptions. Example: 61dd0fe9c077f73e67f78803.
entity_source_typestring- Source of the subscriptions. Example: funnel.
get_payments_collected_countboolean- Set to true to include how many payments each subscription has collected.
limitnumber- Maximum number of records to return in one page. Example: 20.
offsetnumber- Number of records to skip before the page starts, for paging. Example: 0.
payment_modestring- Payment mode to filter by: live or test. Example: live.
searchstring- The name of the subscription for searching. Example: Awesome subscription.
start_atstring- Start of the date range, in YYYY-MM-DD format. Example: 2025-01-01.
subscription_idstring- Only return the subscription with this ID. Example: 64bf78af39118e4011926cba.
highlevel_survey_submissions_listList survey submissions in a sub-account.Read-onlyList Survey Submissions
List survey submissions in a sub-account. Returns each submission's ID, survey ID, contact, answers and date, with paging info. Use to read survey responses. Filter by survey, contact or date range.
Inputs
location_idstringrequired- ID of the HighLevel sub-account (formerly called a location) to work in. The connected account is installed on one sub-account; use that sub-account's ID, shown in the HighLevel URL after /location/. Example: ve9EPM428h8vShlRW1KT.
end_atstring- End of the date range, in YYYY-MM-DD format. Example: 2025-01-31.
limitnumber- Number of submissions per page, up to 100. Defaults to 20. Example: 20.
pagenumber- Page number, starting at 1. Defaults to 1. Example: 1.
querystring- Filter by contact ID, name, email or phone. Example: john@deo.com.
start_atstring- Start of the date range, in YYYY-MM-DD format. Example: 2025-01-01.
survey_idstring- Only return submissions for this survey ID. Get it with List Surveys. Example: jjusM6EOngDExnbo2DbU.
highlevel_surveys_listList the surveys in a sub-account.Read-onlyList Surveys
List the surveys in a sub-account. Returns each survey's ID and name. Use to find a survey ID for List Survey Submissions.
Inputs
location_idstringrequired- ID of the HighLevel sub-account (formerly called a location) to work in. The connected account is installed on one sub-account; use that sub-account's ID, shown in the HighLevel URL after /location/. Example: ve9EPM428h8vShlRW1KT.
limitnumber- Number of surveys per page, up to 50. Defaults to 10. Example: 20.
skipnumber- Number of surveys to skip, for paging. Example: 0.
typestring- Only return items of this type, such as folder. Example: folder.
highlevel_transaction_getGet one payment transaction by ID.Read-onlyGet Transaction
Get one payment transaction by ID. Returns the transaction's amount, currency, status, contact, source and payment provider details. Use when you have the transaction ID. Use List Transactions to find transactions.
Inputs
alt_idstringrequired- ID of the sub-account (location) that owns the records. The connected account is installed on one sub-account; use that sub-account's ID, shown in the HighLevel URL after /location/. Example: ve9EPM428h8vShlRW1KT.
transaction_idstringrequired- ID of the transaction. Get it with List Transactions. Example: 61dd0feac077f72010f78804.
alt_typestring- Type of owner ID passed in alt_id. Only location (a sub-account) is supported with a sub-account token, so leave it at the default.default
location location_idstring- Sub-account (location) ID. Usually the same as alt_id. Example: 3SwdhCu3svxI8AKsPJt6.
highlevel_transactions_listList payment transactions in a sub-account.Read-onlyList Transactions
List payment transactions in a sub-account. Returns each transaction's ID, contact, amount, currency, status, source and date, with a total count. Use to review payments by contact, subscription, source or date. Use Get Transaction for one transaction.
Inputs
alt_idstringrequired- ID of the sub-account (location) that owns the records. The connected account is installed on one sub-account; use that sub-account's ID, shown in the HighLevel URL after /location/. Example: ve9EPM428h8vShlRW1KT.
alt_typestring- Type of owner ID passed in alt_id. Only location (a sub-account) is supported with a sub-account token, so leave it at the default.default
location contact_idstring- ID of the contact. Find it with Find Duplicate Contact, List Contacts by Business, or in the contact's URL in HighLevel. Example: ocQHyuzHvysMo5N5VsXc.
end_atstring- End of the date range, in YYYY-MM-DD format. Example: 2025-01-31.
entity_idstring- Entity id for filtering of transactions. Example: 61dd0fe9c077f73e67f78803.
entity_source_sub_typestring- Source sub-type of the transactions. Example: two_step_order_form.
entity_source_typestring- Source of the transactions. Example: funnel.
limitnumber- Maximum number of records to return in one page. Example: 20.
location_idstring- Sub-account (location) ID. Usually the same as alt_id. Example: 3SwdhCu3svxI8AKsPJt6.
offsetnumber- Number of records to skip before the page starts, for paging. Example: 0.
payment_modestring- Payment mode to filter by: live or test. Example: live.
searchstring- The name of the transaction for searching. Example: Awesome transaction.
start_atstring- Start of the date range, in YYYY-MM-DD format. Example: 2025-01-01.
subscription_idstring- ID of the subscription. Get it with List Subscriptions. Example: 6322e9c9e39fc14ab3ed7042.
highlevel_trigger_links_listList the trigger links in a sub-account.Read-onlyList Trigger Links
List the trigger links in a sub-account. Returns each link's ID, name, redirect URL and field key. Use to find trackable links to put in messages.
Inputs
location_idstringrequired- ID of the HighLevel sub-account (formerly called a location) to work in. The connected account is installed on one sub-account; use that sub-account's ID, shown in the HighLevel URL after /location/. Example: ve9EPM428h8vShlRW1KT.
highlevel_user_getGet one HighLevel user (team member) by ID.Read-onlyGet User
Get one HighLevel user (team member) by ID. Returns the user's name, email, phone, role, permissions and sub-account access. Use when you have the user ID. Use Search Users to find users.
Inputs
user_idstringrequired- ID of a HighLevel user (team member). Look it up with Search Users. Example: 082goXVW3lIExEQPOnd3.
highlevel_users_searchSearch the users (team members) of a HighLevel company or sub-account.Read-onlySearch Users
Search the users (team members) of a HighLevel company or sub-account. Returns each user's ID, name, email, phone, role and permissions, with a total count. Use to find user IDs for assigning contacts, opportunities, tasks and appointments. Use Get User for one user by ID.
Inputs
company_idstringrequired- ID of the HighLevel company (agency) that owns the sub-account. Get it from the companyId field of Get Sub-Account. Example: 5DP41231LkQsiKESj6rh.
enabled_two_way_syncboolean- Set to true to only return users with two-way calendar sync turned on.
idsstring- Only return these user IDs, comma-separated. Example: 5DP4iH6HLkQsiKESj6rh,5DP4iH6HLkQsiKESj34h.
limitstring- Maximum number of users to return. Defaults to 25. Example: 25.
location_idstring- Only return users with access to this sub-account. The connected account is installed on one sub-account; use that sub-account's ID, shown in the HighLevel URL after /location/. Example: ve9EPM428h8vShlRW1KT.
querystring- Text matched against the user's full name, email or phone. Example: John.
rolestring- Only return users with this role, such as admin or user. Example: admin.
skipstring- Number of users to skip, for paging. Example: 0.
sortstring- Field to sort by, such as dateAdded. Defaults to first and last name. Example: dateAdded.
sort_directionstring- Sort direction: asc or desc. Example: asc.
typestring- Only return users of this type, such as agency or account. Example: account.
highlevel_workflows_listList the automation workflows in a sub-account.Read-onlyList Workflows
List the automation workflows in a sub-account. Returns each workflow's ID, name, status and dates. Use to find a workflow ID for Add Contact to Workflow.
Inputs
location_idstringrequired- ID of the HighLevel sub-account (formerly called a location) to work in. The connected account is installed on one sub-account; use that sub-account's ID, shown in the HighLevel URL after /location/. Example: ve9EPM428h8vShlRW1KT.
highlevel_appointment_createBook an appointment for a contact on a calendar.WriteCreate Appointment
Book an appointment for a contact on a calendar. Returns the created appointment with its ID. Use after Get Calendar Free Slots to book a time. Use Update Appointment to reschedule or change status.
Inputs
calendar_idstringrequired- ID of the calendar to book on. Get it with List Calendars. Example: CVokAlI8fgw4WYWoCtQz.
contact_idstringrequired- ID of the contact the appointment is for. Example: 0007BWpSzSwfiuSl0tR2.
location_idstringrequired- ID of the HighLevel sub-account (formerly called a location) to work in. The connected account is installed on one sub-account; use that sub-account's ID, shown in the HighLevel URL after /location/. Example: ve9EPM428h8vShlRW1KT.
start_timestringrequired- Start of the appointment in ISO 8601 format with offset. Example: 2025-06-23T03:30:00+05:30.
addressstring- Free-text meeting address or location shown on the appointment, such as a street address or a meeting link. When set, meeting_location_type defaults to custom. Example: Zoom.
appointment_statusstring- Status of the appointment. One of: new, confirmed, cancelled, showed, noshow, invalid.one of
newconfirmedcancelledshowednoshowinvalid assigned_user_idstring- ID of the HighLevel user the appointment is assigned to. Look it up with Search Users. Example: 0007BWpSzSwfiuSl0tR2.
descriptionstring- Description or agenda for the appointment. Example: Booking a call to discuss the project.
end_timestring- End of the appointment in ISO 8601 format with offset. When left empty, the calendar's slot duration is used. Example: 2025-06-23T04:30:00+05:30.
ignore_date_rangeboolean- Set to true to ignore the calendar's minimum scheduling notice and bookable date range.
ignore_free_slot_validationboolean- Set to true to book even when the time is not a free slot on the calendar (this also skips the date range check).
meeting_location_idstring- ID of a meeting location configured on the calendar, taken from the calendar's locationConfigurations (see Get Calendar). Example: custom_0.
meeting_location_typestring- Kind of meeting location. One of: custom, zoom, gmeet, phone, address, ms_teams, google.one of
customzoomgmeetphoneaddressms_teamsgoogle override_location_configboolean- Set to true when you pass only meeting_location_type, or false when you pass only meeting_location_id, so HighLevel knows whether to override the calendar's location configuration.
rrulestring- Recurrence rule in iCalendar RFC 5545 RRULE format for a recurring appointment. DTSTART is not needed; occurrences are counted from start_time. Example: RRULE:FREQ=WEEKLY;COUNT=4.
titlestring- Title of the appointment shown on the calendar. Example: Discovery call.
to_notifyboolean- Set to false to stop workflows and automations from running for this booking.
highlevel_appointment_note_createAdd a note to an appointment.WriteCreate Appointment Note
Add a note to an appointment. Returns the created note with its ID. Use to record context on a booking. Use Create Contact Note for notes on the contact.
Inputs
appointment_idstringrequired- ID of the appointment. Example: 0TkCdp9PfvLeWKYRRvIz.
bodystringrequired- Text of the note. Example: Customer asked to bring the signed contract.
user_idstring- ID of the user to show as the note's author. Example: GCs5KuzPqTls7vWclkEV.
highlevel_appointment_note_updateUpdate a note on an appointment.WriteUpdate Appointment Note
Update a note on an appointment. Returns the updated note. Use to change a booking note's text. Use List Appointment Notes to find note IDs.
- Idempotent
Inputs
appointment_idstringrequired- ID of the appointment. Example: 0TkCdp9PfvLeWKYRRvIz.
bodystringrequired- New text of the note. Example: Contract received.
note_idstringrequired- ID of the note. Get it with List Appointment Notes. Example: ocQHyuzHvysMo5N5VsXc.
user_idstring- ID of the user to show as the note's author. Example: GCs5KuzPqTls7vWclkEV.
highlevel_appointment_updateUpdate or reschedule an appointment.WriteUpdate Appointment
Update or reschedule an appointment. Returns the updated appointment. Use to change time, status (such as confirmed, cancelled or showed), assignee or details. Use Create Appointment for a new booking.
- Idempotent
Inputs
event_idstringrequired- ID of the appointment (event). For a recurring appointment, pass an instance ID to change one occurrence or the master event ID to change the whole series. Get IDs with List Calendar Events or List Contact Appointments. Example: 0TkCdp9PfvLeWKYRRvIz.
addressstring- Free-text meeting address or location shown on the appointment, such as a street address or a meeting link. When set, meeting_location_type defaults to custom. Example: Zoom.
appointment_statusstring- Status of the appointment. One of: new, confirmed, cancelled, showed, noshow, invalid.one of
newconfirmedcancelledshowednoshowinvalid assigned_user_idstring- ID of the HighLevel user the appointment is assigned to. Look it up with Search Users. Example: 0007BWpSzSwfiuSl0tR2.
calendar_idstring- ID of the calendar to move the appointment to. Example: CVokAlI8fgw4WYWoCtQz.
descriptionstring- Description or agenda for the appointment. Example: Booking a call to discuss the project.
end_timestring- New end of the appointment in ISO 8601 format with offset. Example: 2025-06-23T04:30:00+05:30.
ignore_date_rangeboolean- Set to true to ignore the calendar's minimum scheduling notice and bookable date range.
ignore_free_slot_validationboolean- Set to true to book even when the time is not a free slot on the calendar (this also skips the date range check).
meeting_location_idstring- ID of a meeting location configured on the calendar, taken from the calendar's locationConfigurations (see Get Calendar). Example: custom_0.
meeting_location_typestring- Kind of meeting location. One of: custom, zoom, gmeet, phone, address, ms_teams, google.one of
customzoomgmeetphoneaddressms_teamsgoogle override_location_configboolean- Set to true when you pass only meeting_location_type, or false when you pass only meeting_location_id, so HighLevel knows whether to override the calendar's location configuration.
rrulestring- Recurrence rule in iCalendar RFC 5545 RRULE format for a recurring appointment. DTSTART is not needed; occurrences are counted from start_time. Example: RRULE:FREQ=WEEKLY;COUNT=4.
start_timestring- New start of the appointment in ISO 8601 format with offset. Example: 2025-06-23T03:30:00+05:30.
titlestring- Title of the appointment shown on the calendar. Example: Discovery call.
to_notifyboolean- Set to false to stop workflows and automations from running for this booking.
highlevel_block_slot_createBlock off time on a calendar or for a user so it cannot be booked.WriteCreate Block Slot
Block off time on a calendar or for a user so it cannot be booked. Returns the created block slot with its ID. Use for time off or busy periods. Use Create Appointment to book a contact.
Inputs
calendar_idstringrequired- ID of the calendar to block time on. Set this or assigned_user_id, not both. Example: CVokAlI8fgw4WYWoCtQz.
location_idstringrequired- ID of the HighLevel sub-account (formerly called a location) to work in. The connected account is installed on one sub-account; use that sub-account's ID, shown in the HighLevel URL after /location/. Example: ve9EPM428h8vShlRW1KT.
assigned_user_idstring- ID of the user to block time for. Set this or calendar_id, not both. Example: CVokAlI8fgw4WYWoCtQz.
end_timestring- End date and time in ISO 8601 format with offset. Example: 2025-06-23T04:30:00+05:30.
start_timestring- Start date and time in ISO 8601 format with offset. Example: 2025-06-23T03:30:00+05:30.
titlestring- Label shown on the blocked time. Example: Team offsite.
highlevel_block_slot_updateChange an existing block slot's time, title or owner.WriteUpdate Block Slot
Change an existing block slot's time, title or owner. Returns the updated block slot. Use to move or relabel blocked time. Use List Blocked Slots to find block IDs.
- Idempotent
Inputs
calendar_idstringrequired- ID of the calendar the block is on. Set this or assigned_user_id, not both. Example: CVokAlI8fgw4WYWoCtQz.
event_idstringrequired- ID of the block slot. Get it with List Blocked Slots. Example: 0TkCdp9PfvLeWKYRRvIz.
location_idstringrequired- ID of the HighLevel sub-account (formerly called a location) to work in. The connected account is installed on one sub-account; use that sub-account's ID, shown in the HighLevel URL after /location/. Example: ve9EPM428h8vShlRW1KT.
assigned_user_idstring- ID of the user the block is for. Set this or calendar_id, not both. Example: CVokAlI8fgw4WYWoCtQz.
end_timestring- End date and time in ISO 8601 format with offset. Example: 2025-06-23T04:30:00+05:30.
start_timestring- Start date and time in ISO 8601 format with offset. Example: 2025-06-23T03:30:00+05:30.
titlestring- Label shown on the blocked time. Example: Team offsite.
highlevel_business_createCreate a business (company record) in a sub-account.WriteCreate Business
Create a business (company record) in a sub-account. Returns the created business with its ID. Use to add a company. Use Update Business to change one.
Inputs
location_idstringrequired- ID of the HighLevel sub-account (formerly called a location) to work in. The connected account is installed on one sub-account; use that sub-account's ID, shown in the HighLevel URL after /location/. Example: ve9EPM428h8vShlRW1KT.
namestringrequired- Name of the business. Example: Microsoft.
addressstring- Street address of the business. Example: 1 Market St.
citystring- City of the business. Example: New York.
countrystring- Country of the business, as a two-letter code. Example: US.
descriptionstring- Short description of the business. Example: Enterprise software customer.
emailstring- Email address of the business. Example: info@example.com.
phonestring- Phone number of the business with country code. Example: +18832327657.
postal_codestring- Postal or ZIP code. Example: 35061.
statestring- State or region of the business. Example: New York.
websitestring- Website of the business. Example: www.example.com.
highlevel_business_updateUpdate a business (company record).WriteUpdate Business
Update a business (company record). Returns the updated business. Use to change a company's details. Only the fields you pass are changed.
- Idempotent
Inputs
business_idstringrequired- ID of the business (company record) in the sub-account. Get it with List Businesses. Example: 5DP4iH6HLkQsiKESj6rh.
addressstring- Street address of the business. Example: 1 Market St.
citystring- City of the business. Example: New York.
countrystring- Country of the business, as a two-letter code. Example: US.
descriptionstring- Short description of the business. Example: Enterprise software customer.
emailstring- Email address of the business. Example: info@example.com.
namestring- Name of the business. Example: Microsoft.
phonestring- Phone number of the business with country code. Example: +18832327657.
postal_codestring- Postal or ZIP code. Example: 35061.
statestring- State or region of the business. Example: New York.
websitestring- Website of the business. Example: www.example.com.
highlevel_contact_campaign_addEnroll a contact in a campaign.WriteAdd Contact to Campaign
Enroll a contact in a campaign. Returns a success flag. Use to start a campaign for a contact. Use List Campaigns to find campaign IDs; use Add Contact to Workflow for workflows.
Inputs
campaign_idstringrequired- ID of the campaign. Get it with List Campaigns. Example: Y2I9XM7aO1hncuSOlc9L.
contact_idstringrequired- ID of the contact. Find it with Find Duplicate Contact, List Contacts by Business, or in the contact's URL in HighLevel. Example: ocQHyuzHvysMo5N5VsXc.
highlevel_contact_createCreate a new contact in a HighLevel sub-account.WriteCreate Contact
Create a new contact in a HighLevel sub-account. Returns the created contact with its new ID. Use to add a person who is not in HighLevel yet. Use Upsert Contact to create or update by email or phone in one call, and Update Contact to change an existing contact.
Inputs
location_idstringrequired- ID of the HighLevel sub-account (formerly called a location) to work in. The connected account is installed on one sub-account; use that sub-account's ID, shown in the HighLevel URL after /location/. Example: ve9EPM428h8vShlRW1KT.
address1string- Street address line. Example: 3535 1st St N.
assigned_tostring- ID of the HighLevel user this record is assigned to. Look it up with Search Users. Example: 082goXVW3lIExEQPOnd3.
citystring- City name. Example: Dolomite.
company_namestring- Name of the company the contact works for. Example: DGS VolMAX.
countrystring- Two-letter ISO country code. Example: US.
custom_fieldsarray- Custom field values to set on the contact, as a list. Each entry names the field by its id (or by its key) and gives the value in field_value: text, number, an option label, or a list of option labels for multi-select fields. Find field IDs and keys with List Custom Fields. Example: [{"id": "6dvNaf7VhkQ9snc5vnjJ", "field_value": "My Text"}, {"key": "my_custom_field", "field_value": ["test", "test2"]}].
date_of_birthstring- Contact's date of birth. Accepted formats include YYYY-MM-DD, MM/DD/YYYY and YYYY/MM/DD. Example: 1990-09-25.
dndboolean- Set to true to turn on Do Not Disturb for every channel for this contact, or false to turn it off.
dnd_settingsobject- Per-channel Do Not Disturb settings. Keys are channels (Call, Email, SMS, WhatsApp, GMB, FB); each value is an object whose status is active, inactive or permanent, with an optional message and code. Example: {"SMS": {"status": "active", "message": "Opted out by request"}, "Email": {"status": "inactive"}}.
emailstring- Email address. Example: rosan@deos.com.
first_namestring- Contact's first name. Example: Rosan.
genderstring- Contact's gender as free text. Example: male.
inbound_dnd_settingsobject- Inbound Do Not Disturb setting that blocks messages from the contact on all channels. Give an object under the key all whose status is active or inactive, with an optional message. Example: {"all": {"status": "active", "message": "Blocked"}}.
last_namestring- Contact's last name. Example: Deo.
namestring- Contact's full name, used when first and last name are not given separately. Example: Rosan Deo.
phonestring- Phone number, preferably in E.164 format with country code. Example: +18888888888.
postal_codestring- Postal or ZIP code. Example: 35061.
sourcestring- Where the contact came from, as free text shown in HighLevel. Example: public api.
statestring- State or region. Example: AL.
tagsarray- List of tag names to put on the new contact. Example: ["vip", "newsletter"].
timezonestring- IANA time zone name. Example: America/Chicago.
websitestring- Website URL. Example: https://www.example.com.
highlevel_contact_followers_addAdd users as followers of a contact.WriteAdd Contact Followers
Add users as followers of a contact. Returns the followers that were added and the full follower list. Use so team members get notified about a contact.
Inputs
contact_idstringrequired- ID of the contact. Find it with Find Duplicate Contact, List Contacts by Business, or in the contact's URL in HighLevel. Example: ocQHyuzHvysMo5N5VsXc.
followersarrayrequired- List of HighLevel user IDs to add as followers. Look users up with Search Users. Example: ["082goXVW3lIExEQPOnd3"].
highlevel_contact_note_createAdd a note to a contact.WriteCreate Contact Note
Add a note to a contact. Returns the created note with its ID. Use to record context on a contact. Use Create Appointment Note for notes on a booking.
Inputs
bodystringrequired- Text of the note. Example: Called the customer, they want a quote next week.
contact_idstringrequired- ID of the contact. Find it with Find Duplicate Contact, List Contacts by Business, or in the contact's URL in HighLevel. Example: ocQHyuzHvysMo5N5VsXc.
colorstring- Note color as a hex code. Example: #FFAA00.
pinnedboolean- Set to true to pin the note at the top of the contact's notes.
titlestring- Optional title of the note. Example: Follow-up summary.
user_idstring- ID of the HighLevel user to show as the note's author. Look it up with Search Users. Example: GCs5KuzPqTls7vWclkEV.
highlevel_contact_note_updateUpdate a note on a contact.WriteUpdate Contact Note
Update a note on a contact. Returns the updated note. Use to change a note's text, title, color or pinned state. Use Create Contact Note to add a new note.
- Idempotent
Inputs
contact_idstringrequired- ID of the contact. Find it with Find Duplicate Contact, List Contacts by Business, or in the contact's URL in HighLevel. Example: ocQHyuzHvysMo5N5VsXc.
note_idstringrequired- ID of the note to update. Get it with List Contact Notes. Example: ocQHyuzHvysMo5N5VsXc.
bodystring- New text of the note. Example: Quote sent on Monday.
colorstring- Note color as a hex code. Example: #FFAA00.
pinnedboolean- Set to true to pin the note at the top of the contact's notes.
titlestring- New title of the note. Example: Follow-up summary.
user_idstring- ID of the HighLevel user to show as the note's author. Example: GCs5KuzPqTls7vWclkEV.
highlevel_contact_task_completeMark a contact's task as completed or reopen it.WriteSet Contact Task Completion
Mark a contact's task as completed or reopen it. Returns the updated task. Use to close or reopen a task. Use Update Contact Task to change other task fields.
- Idempotent
Inputs
completedbooleanrequired- Set to true to mark the task completed, or false to reopen it.
contact_idstringrequired- ID of the contact. Find it with Find Duplicate Contact, List Contacts by Business, or in the contact's URL in HighLevel. Example: ocQHyuzHvysMo5N5VsXc.
task_idstringrequired- ID of the task. Get it with List Contact Tasks. Example: ocQHyuzHvysMo5N5VsXc.
highlevel_contact_task_createCreate a task on a contact.WriteCreate Contact Task
Create a task on a contact. Returns the created task with its ID. Use to add a to-do for a contact. Use Update Contact Task to change an existing task.
Inputs
completedbooleanrequired- Whether the task starts out completed. Usually false for a new task.
contact_idstringrequired- ID of the contact. Find it with Find Duplicate Contact, List Contacts by Business, or in the contact's URL in HighLevel. Example: ocQHyuzHvysMo5N5VsXc.
due_datestringrequired- Due date and time in ISO 8601 format. Example: 2025-10-25T11:00:00Z.
titlestringrequired- Title of the task. Example: Send proposal.
assigned_tostring- ID of the HighLevel user this record is assigned to. Look it up with Search Users. Example: 082goXVW3lIExEQPOnd3.
bodystring- Details of the task. Example: Email the pricing proposal before Friday.
highlevel_contact_task_updateUpdate a task on a contact.WriteUpdate Contact Task
Update a task on a contact. Returns the updated task. Use to change a task's title, body, due date, assignee or completion. Use Set Contact Task Completion to change only the completed flag.
- Idempotent
Inputs
contact_idstringrequired- ID of the contact. Find it with Find Duplicate Contact, List Contacts by Business, or in the contact's URL in HighLevel. Example: ocQHyuzHvysMo5N5VsXc.
task_idstringrequired- ID of the task to update. Get it with List Contact Tasks. Example: ocQHyuzHvysMo5N5VsXc.
assigned_tostring- ID of the HighLevel user this record is assigned to. Look it up with Search Users. Example: 082goXVW3lIExEQPOnd3.
bodystring- New details of the task. Example: Email the pricing proposal before Friday.
completedboolean- Whether the task is completed (true) or still open (false).
due_datestring- Due date and time in ISO 8601 format. Example: 2025-10-25T11:00:00Z.
titlestring- New title of the task. Example: Send proposal.
highlevel_contact_updateUpdate fields on an existing HighLevel contact.WriteUpdate Contact
Update fields on an existing HighLevel contact. Returns the updated contact. Use when you have the contact ID and want to change details. Only the fields you pass are changed; tags passed here replace all existing tags, so use Add Contact Tags or Remove Contact Tags for single tag changes.
- Idempotent
Inputs
contact_idstringrequired- ID of the contact. Find it with Find Duplicate Contact, List Contacts by Business, or in the contact's URL in HighLevel. Example: ocQHyuzHvysMo5N5VsXc.
address1string- Street address line. Example: 3535 1st St N.
assigned_tostring- ID of the HighLevel user this record is assigned to. Look it up with Search Users. Example: 082goXVW3lIExEQPOnd3.
citystring- City name. Example: Dolomite.
countrystring- Two-letter ISO country code. Example: US.
custom_fieldsarray- Custom field values to set on the contact, as a list. Each entry names the field by its id (or by its key) and gives the value in field_value: text, number, an option label, or a list of option labels for multi-select fields. Find field IDs and keys with List Custom Fields. Example: [{"id": "6dvNaf7VhkQ9snc5vnjJ", "field_value": "My Text"}, {"key": "my_custom_field", "field_value": ["test", "test2"]}].
date_of_birthstring- Contact's date of birth. Accepted formats include YYYY-MM-DD, MM/DD/YYYY and YYYY/MM/DD. Example: 1990-09-25.
dndboolean- Set to true to turn on Do Not Disturb for every channel for this contact, or false to turn it off.
dnd_settingsobject- Per-channel Do Not Disturb settings. Keys are channels (Call, Email, SMS, WhatsApp, GMB, FB); each value is an object whose status is active, inactive or permanent, with an optional message and code. Example: {"SMS": {"status": "active", "message": "Opted out by request"}, "Email": {"status": "inactive"}}.
emailstring- Email address. Example: rosan@deos.com.
first_namestring- Contact's first name. Example: Rosan.
inbound_dnd_settingsobject- Inbound Do Not Disturb setting that blocks messages from the contact on all channels. Give an object under the key all whose status is active or inactive, with an optional message. Example: {"all": {"status": "active", "message": "Blocked"}}.
last_namestring- Contact's last name. Example: Deo.
namestring- Contact's full name, used when first and last name are not given separately. Example: Rosan Deo.
phonestring- Phone number, preferably in E.164 format with country code. Example: +18888888888.
postal_codestring- Postal or ZIP code. Example: 35061.
sourcestring- Where the contact came from, as free text shown in HighLevel. Example: public api.
statestring- State or region. Example: AL.
tagsarray- List of tag names to set on the contact. This replaces all of the contact's current tags; to add or remove single tags use Add Contact Tags or Remove Contact Tags. Example: ["vip", "newsletter"].
timezonestring- IANA time zone name. Example: America/Chicago.
websitestring- Website URL. Example: https://www.example.com.
highlevel_contact_upsertCreate a contact, or update the matching contact if one already exists.WriteUpsert Contact
Create a contact, or update the matching contact if one already exists. Returns the contact and whether it was newly created. Use when you have an email or phone but not a contact ID and want one call that never makes a duplicate. Matching follows the sub-account's Allow Duplicate Contact setting (email first, then phone).
Inputs
location_idstringrequired- ID of the HighLevel sub-account (formerly called a location) to work in. The connected account is installed on one sub-account; use that sub-account's ID, shown in the HighLevel URL after /location/. Example: ve9EPM428h8vShlRW1KT.
address1string- Street address line. Example: 3535 1st St N.
assigned_tostring- ID of the HighLevel user this record is assigned to. Look it up with Search Users. Example: 082goXVW3lIExEQPOnd3.
citystring- City name. Example: Dolomite.
company_namestring- Name of the company the contact works for. Example: DGS VolMAX.
countrystring- Two-letter ISO country code. Example: US.
create_new_if_duplicate_allowedboolean- Only matters when the sub-account allows duplicate contacts. Set to true to always create a new contact, or false (the default behavior) to update the existing match.
custom_fieldsarray- Custom field values to set on the contact, as a list. Each entry names the field by its id (or by its key) and gives the value in field_value: text, number, an option label, or a list of option labels for multi-select fields. Find field IDs and keys with List Custom Fields. Example: [{"id": "6dvNaf7VhkQ9snc5vnjJ", "field_value": "My Text"}, {"key": "my_custom_field", "field_value": ["test", "test2"]}].
date_of_birthstring- Contact's date of birth. Accepted formats include YYYY-MM-DD, MM/DD/YYYY and YYYY/MM/DD. Example: 1990-09-25.
dndboolean- Set to true to turn on Do Not Disturb for every channel for this contact, or false to turn it off.
dnd_settingsobject- Per-channel Do Not Disturb settings. Keys are channels (Call, Email, SMS, WhatsApp, GMB, FB); each value is an object whose status is active, inactive or permanent, with an optional message and code. Example: {"SMS": {"status": "active", "message": "Opted out by request"}, "Email": {"status": "inactive"}}.
emailstring- Email address. Example: rosan@deos.com.
first_namestring- Contact's first name. Example: Rosan.
genderstring- Contact's gender as free text. Example: male.
inbound_dnd_settingsobject- Inbound Do Not Disturb setting that blocks messages from the contact on all channels. Give an object under the key all whose status is active or inactive, with an optional message. Example: {"all": {"status": "active", "message": "Blocked"}}.
last_namestring- Contact's last name. Example: Deo.
namestring- Contact's full name, used when first and last name are not given separately. Example: Rosan Deo.
phonestring- Phone number, preferably in E.164 format with country code. Example: +18888888888.
postal_codestring- Postal or ZIP code. Example: 35061.
sourcestring- Where the contact came from, as free text shown in HighLevel. Example: public api.
statestring- State or region. Example: AL.
tagsarray- List of tag names to set on the contact. This replaces all of the contact's current tags; to add or remove single tags use Add Contact Tags or Remove Contact Tags. Example: ["vip", "newsletter"].
timezonestring- IANA time zone name. Example: America/Chicago.
websitestring- Website URL. Example: https://www.example.com.
highlevel_contact_workflow_addEnroll a contact in an automation workflow.WriteAdd Contact to Workflow
Enroll a contact in an automation workflow. Returns a success flag. Use to trigger a workflow for a contact. Use List Workflows to find workflow IDs; use Add Contact to Campaign for campaigns.
Inputs
contact_idstringrequired- ID of the contact. Find it with Find Duplicate Contact, List Contacts by Business, or in the contact's URL in HighLevel. Example: ocQHyuzHvysMo5N5VsXc.
workflow_idstringrequired- ID of the workflow. Get it with List Workflows. Example: 78559bb3-b920-461e-b010-7b2a2816d2a9.
event_start_timestring- Optional start time for the workflow's event, in ISO 8601 format with offset, for workflows that wait on an event date. Example: 2025-06-23T03:30:00+01:00.
highlevel_conversation_createStart a new conversation with a contact.WriteCreate Conversation
Start a new conversation with a contact. Returns the created conversation with its ID. Use when a contact has no conversation yet. To send a message, Send Message works without creating a conversation first.
Inputs
contact_idstringrequired- ID of the contact. Find it with Find Duplicate Contact, List Contacts by Business, or in the contact's URL in HighLevel. Example: ocQHyuzHvysMo5N5VsXc.
location_idstringrequired- ID of the HighLevel sub-account (formerly called a location) to work in. The connected account is installed on one sub-account; use that sub-account's ID, shown in the HighLevel URL after /location/. Example: ve9EPM428h8vShlRW1KT.
highlevel_conversation_updateUpdate a conversation's unread count or starred state.WriteUpdate Conversation
Update a conversation's unread count or starred state. Returns the updated conversation. Use to mark a thread read (unread_count 0) or star it.
- Idempotent
Inputs
conversation_idstringrequired- ID of the conversation. Get it with Search Conversations. Example: tDtDnQdgm2LXpyiqYvZ6.
location_idstringrequired- ID of the HighLevel sub-account (formerly called a location) to work in. The connected account is installed on one sub-account; use that sub-account's ID, shown in the HighLevel URL after /location/. Example: ve9EPM428h8vShlRW1KT.
feedbackobject- Free-form feedback object to store on the conversation. Example: {"rating": 5}.
starredboolean- Set to true to star the conversation, or false to unstar it.
unread_countnumber- Number of unread messages to set on the conversation. Use 0 to mark it read. Example: 0.
highlevel_invoice_sendSend an existing invoice to its contact by email, SMS, both, or mark it as sent manually.WriteSend Invoice
Send an existing invoice to its contact by email, SMS, both, or mark it as sent manually. Returns the sent invoice. Use after an invoice exists in HighLevel. Use List Invoices to find the invoice ID.
Inputs
actionstringrequired- How to deliver the invoice. One of: sms_and_email, send_manually, email, sms.one of
sms_and_emailsend_manuallyemailsms alt_idstringrequired- ID of the sub-account (location) that owns the records. The connected account is installed on one sub-account; use that sub-account's ID, shown in the HighLevel URL after /location/. Example: ve9EPM428h8vShlRW1KT.
invoice_idstringrequired- ID of the invoice. Get it with List Invoices. Example: 6578278e879ad2646715ba9c.
live_modebooleanrequired- Set to true to send in live payment mode, or false for test mode.
user_idstringrequired- ID of the HighLevel user sending the invoice; it must be a user with access to this sub-account. Look it up with Search Users. Example: 6578278e879ad2646715ba9c.
alt_typestring- Type of owner ID passed in alt_id. Only location (a sub-account) is supported with a sub-account token, so leave it at the default. One of: location.one of
locationdefaultlocation sent_fromobject- Sender name and email to use for the email notification, given as fromName and fromEmail. Not used when action is send_manually. Example: {"fromName": "Alex", "fromEmail": "alex@example.com"}.
highlevel_location_custom_value_createCreate a custom value (a sub-account-wide merge value).WriteCreate Custom Value
Create a custom value (a sub-account-wide merge value). Returns the created custom value with its ID and field key. Use to add a reusable value for templates and workflows. Use Update Custom Value to change one.
Inputs
location_idstringrequired- ID of the HighLevel sub-account (formerly called a location) to work in. The connected account is installed on one sub-account; use that sub-account's ID, shown in the HighLevel URL after /location/. Example: ve9EPM428h8vShlRW1KT.
namestringrequired- Name of the custom value. Example: Booking Link.
valuestringrequired- The value to store. Example: https://example.com/book.
highlevel_location_custom_value_updateUpdate a custom value's name and value.WriteUpdate Custom Value
Update a custom value's name and value. Returns the updated custom value. Use to change a reusable value. Both name and value must be given.
- Idempotent
Inputs
custom_value_idstringrequired- ID of the custom value. Get it with List Custom Values. Example: kOBjMVAJhFuUeYIojVet.
location_idstringrequired- ID of the HighLevel sub-account (formerly called a location) to work in. The connected account is installed on one sub-account; use that sub-account's ID, shown in the HighLevel URL after /location/. Example: ve9EPM428h8vShlRW1KT.
namestringrequired- Name of the custom value. Example: Booking Link.
valuestringrequired- New value to store. Example: https://example.com/book-now.
highlevel_location_tag_createCreate a tag in a sub-account.WriteCreate Tag
Create a tag in a sub-account. Returns the created tag with its ID. Use to add a tag to the sub-account's list. Add Contact Tags also creates missing tags automatically.
Inputs
location_idstringrequired- ID of the HighLevel sub-account (formerly called a location) to work in. The connected account is installed on one sub-account; use that sub-account's ID, shown in the HighLevel URL after /location/. Example: ve9EPM428h8vShlRW1KT.
namestringrequired- Name of the tag. Example: vip.
highlevel_location_tag_updateRename a tag in a sub-account.WriteUpdate Tag
Rename a tag in a sub-account. Returns the updated tag. Use to change a tag's name. Use List Tags to find tag IDs.
- Idempotent
Inputs
location_idstringrequired- ID of the HighLevel sub-account (formerly called a location) to work in. The connected account is installed on one sub-account; use that sub-account's ID, shown in the HighLevel URL after /location/. Example: ve9EPM428h8vShlRW1KT.
namestringrequired- New name of the tag. Example: vip-customer.
tag_idstringrequired- ID of the tag. Get it with List Tags. Example: flGwEuzsfJOia1i1ikRN.
highlevel_message_inbound_addRecord a message the contact sent through an external channel provider.WriteAdd Inbound Message
Record a message the contact sent through an external channel provider. Returns the new message ID and conversation ID. Use for custom conversation providers that deliver inbound messages to HighLevel. Use Send Message to send outbound.
Inputs
contact_idstringrequired- ID of the contact. Find it with Find Duplicate Contact, List Contacts by Business, or in the contact's URL in HighLevel. Example: ocQHyuzHvysMo5N5VsXc.
conversation_idstringrequired- ID of the conversation. Get it with Search Conversations. Example: tDtDnQdgm2LXpyiqYvZ6.
conversation_provider_idstringrequired- ID of the conversation provider (your marketplace app's channel). Example: 61d6d1f9cdac7612faf80753.
typestringrequired- Channel of the inbound message. One of: SMS, RCS, Email, WhatsApp, GMB, IG, FB, Custom, WebChat, Live_Chat, Call, IVR_Call, Campaign_Call, Campaign_VoiceMail, TIKTOK, ALL_IN_ONE_CHAT, FORM_SUBMISSION.one of
SMSRCSEmailWhatsAppGMBIGFBCustomWebChatLive_ChatCallIVR_CallCampaign_CallCampaign_VoiceMailTIKTOKALL_IN_ONE_CHATFORM_SUBMISSION alt_idstring- The external provider's own message ID. Example: 61d6d1f9cdac7612faf80753.
attachmentsarray- List of public URLs of attached files. Example: ["https://example.com/photo.jpg"].
callobject- Phone call details for call types: the receiver's number in to, the dialer's number in from, and status (pending, completed, answered, busy, no-answer, failed, canceled or voicemail). Example: {"to": "+15037081210", "from": "+15037081211", "status": "completed"}.
datestring- When the message was received, in ISO 8601 format. Example: 2025-06-23T03:30:00Z.
directionstring- Direction to record for the message. The API default is outbound, so set inbound for messages from the contact.one of
outboundinbound email_bccarray- List of email address to BCC. Example: ["john1@doe.com", "john2@doe.com"].
email_ccarray- List of email address to CC. Example: ["john1@doe.com", "john2@doe.com"].
email_fromstring- Email address to send from. This field is associated with the contact record and cannot be dynamically changed. Example: sender@company.com.
email_message_idstring- ID of the email message this one replies to, to keep it in the same thread. Example: rnGyqh2F6uBrIjhkL1tI.
email_tostring- Recipient email address, which must match the contact record. Example: support@company.com.
htmlstring- HTML body, for email messages. Example: <p>Can I reschedule?</p>.
messagestring- Text of the inbound message. Example: Can I reschedule to Friday?
subjectstring- Subject line, for email messages. Example: Reschedule request.
highlevel_message_outbound_call_addRecord an outbound phone call made through an external calling provider.WriteLog Outbound Call
Record an outbound phone call made through an external calling provider. Returns the new message ID and conversation ID. Use for custom calling providers that log calls into a HighLevel conversation.
Inputs
conversation_idstringrequired- ID of the conversation. Get it with Search Conversations. Example: tDtDnQdgm2LXpyiqYvZ6.
conversation_provider_idstringrequired- ID of the conversation provider (your marketplace app's channel). Example: 61d6d1f9cdac7612faf80753.
typestringrequired- Message type. Only Call is allowed. One of: Call.one of
Call alt_idstring- The external provider's own call ID. Example: 61d6d1f9cdac7612faf80753.
attachmentsarray- List of public URLs, such as a call recording. Example: ["https://example.com/recording.mp3"].
callobject- Phone call details: the receiver's number in to, the dialer's number in from, and status (pending, completed, answered, busy, no-answer, failed, canceled or voicemail). Example: {"to": "+15037081210", "from": "+15037081211", "status": "completed"}.
datestring- When the call happened, in ISO 8601 format. Example: 2025-06-23T03:30:00Z.
highlevel_message_sendSend a message to a contact over SMS, email, WhatsApp, Facebook, Instagram, live chat or a custom channel.WriteSend Message
Send a message to a contact over SMS, email, WhatsApp, Facebook, Instagram, live chat or a custom channel. Returns the new message ID and conversation ID. Use to send outbound messages; set scheduled_timestamp to send later. Use Add Inbound Message to record a message received outside HighLevel.
Inputs
contact_idstringrequired- ID of the contact receiving the message. Example: abc123def456.
statusstringrequired- Message status, which the API requires on this call. One of: delivered, failed, pending, read.one of
deliveredfailedpendingread typestringrequired- Channel to send on. One of: SMS, RCS, Email, WhatsApp, IG, FB, Custom, Live_Chat, TIKTOK.one of
SMSRCSEmailWhatsAppIGFBCustomLive_ChatTIKTOK appointment_idstring- ID of an appointment to link the message to. Example: 0TkCdp9PfvLeWKYRRvIz.
attachmentsarray- List of public URLs of files to attach. Example: ["https://example.com/file1.pdf"].
conversation_provider_idstring- ID of the conversation provider, for custom channels. Example: 61d6d1f9cdac7612faf80753.
custom_subtype_idstring- Custom subtype ID for email unsubscribe preferences. Email only. Example: 507f1f77bcf86cd799439011.
email_bccarray- List of BCC email addresses. Example: ["bcc1@company.com"].
email_ccarray- List of CC email addresses. Example: ["cc1@company.com"].
email_fromstring- Sender email address for email messages. Example: sender@company.com.
email_reply_modestring- Whether an email reply goes to the sender only or to everyone on the thread. One of: reply, reply_all.one of
replyreply_all email_tostring- Recipient email when it differs from the contact's primary email; it must be an email on the contact. Example: recipient@company.com.
forwardobject- Email forwarding settings. Set isForwarded to true, choose whether to forward the whole thread, and give the IDs of the message being forwarded. Example: {"isForwarded": true, "forwardWholeThread": false, "messageId": "t22c6DQcTDf3MjRhwf77"}.
from_numberstring- Phone number to send from, for SMS. Example: +14994992990.
htmlstring- HTML body, for email messages. Example: <p>Hello Rosan</p>.
messagestring- Text of the message, for SMS, WhatsApp, chat and other text channels. Example: Hi Rosan, your appointment is confirmed for tomorrow.
optimization_periodstring- Window for AI send-time optimization, used with uses_native_scheduling_ai. One of: 24h, 48h, 72h.one of
24h48h72h reply_message_idstring- ID of the message being replied to. Example: msg123.
scheduled_timestampnumber- UTC Unix timestamp in seconds at which to send the message. Leave empty to send now. Example: 1769287863.
sub_typestring- Message subtype. The GitHub OpenAPI spec lists it as required while the docs site does not list it at all, so leave it empty unless the API asks for it. Example: Email.
subjectstring- Subject line, for email messages. Example: Your appointment.
template_idstring- ID of a message template to use. Get IDs with List Message Templates. Example: template123.
thread_idstring- ID of the email thread, for email replies. Example: thread123.
to_numberstring- Phone number to send to, when it differs from the contact's phone. Example: +14394992990.
uses_native_scheduling_aiboolean- Set to true to let HighLevel's AI pick the best send time for a scheduled email.
highlevel_opportunity_createCreate an opportunity (deal) for a contact in a pipeline.WriteCreate Opportunity
Create an opportunity (deal) for a contact in a pipeline. Returns the created opportunity with its ID. Use to open a new deal. Use List Pipelines first to get pipeline and stage IDs. Use Upsert Opportunity to create or update in one call.
Inputs
contact_idstringrequired- ID of the contact the opportunity belongs to. Example: mTkSCb1UBjb5tk4OvB69.
location_idstringrequired- ID of the HighLevel sub-account (formerly called a location) to work in. The connected account is installed on one sub-account; use that sub-account's ID, shown in the HighLevel URL after /location/. Example: ve9EPM428h8vShlRW1KT.
namestringrequired- Name of the opportunity. Example: Website redesign deal.
pipeline_idstringrequired- ID of the opportunity pipeline. Get pipeline IDs with List Pipelines. Example: VDm7RPYC2GLUvdpKmBfC.
statusstringrequired- Status of the opportunity. One of: open, won, lost, abandoned, all.one of
openwonlostabandonedall assigned_tostring- ID of the HighLevel user this record is assigned to. Look it up with Search Users. Example: 082goXVW3lIExEQPOnd3.
custom_fieldsarray- Custom field values to set on the opportunity, as a list. Each entry names the field by its id (or by its key) and gives the value in field_value: text, number, an option label, or a list of option labels for multi-select fields. Find field IDs and keys with List Custom Fields. Example: [{"id": "6dvNaf7VhkQ9snc5vnjJ", "field_value": "My Text"}, {"key": "my_custom_field", "field_value": ["test", "test2"]}].
monetary_valuenumber- Deal value of the opportunity in the sub-account's currency. Example: 220.
pipeline_stage_idstring- ID of the stage within the pipeline. List Pipelines returns each pipeline's stages. Example: 7915dedc-8f18-44d5-8bc3-77c04e994a10.
highlevel_opportunity_followers_addAdd users as followers of an opportunity.WriteAdd Opportunity Followers
Add users as followers of an opportunity. Returns the followers that were added and the full follower list. Use so team members get notified about a deal.
Inputs
followersarrayrequired- List of HighLevel user IDs to add as followers. Look users up with Search Users. Example: ["082goXVW3lIExEQPOnd3"].
opportunity_idstringrequired- ID of the opportunity. Get it with Search Opportunities. Example: yWQobCRIhRguQtD2llvk.
highlevel_opportunity_status_updateChange only the status of an opportunity (open, won, lost or abandoned).WriteUpdate Opportunity Status
Change only the status of an opportunity (open, won, lost or abandoned). Returns a success flag. Use to mark a deal won or lost. Pass a lost reason ID from List Opportunity Lost Reasons when marking it lost. Use Update Opportunity for other fields.
- Idempotent
Inputs
opportunity_idstringrequired- ID of the opportunity. Get it with Search Opportunities. Example: yWQobCRIhRguQtD2llvk.
statusstringrequired- New status of the opportunity. One of: open, won, lost, abandoned, all.one of
openwonlostabandonedall lost_reason_idstring- ID of the lost reason, when the status is lost. Get IDs with List Opportunity Lost Reasons. Example: CLu7BaljjqrEjBGKTNNe.
highlevel_opportunity_updateUpdate an existing opportunity (deal).WriteUpdate Opportunity
Update an existing opportunity (deal). Returns the updated opportunity. Use to change name, value, stage, pipeline, status, assignee or custom fields. Use Update Opportunity Status to change only the status.
- Idempotent
Inputs
opportunity_idstringrequired- ID of the opportunity. Get it with Search Opportunities. Example: yWQobCRIhRguQtD2llvk.
assigned_tostring- ID of the HighLevel user this record is assigned to. Look it up with Search Users. Example: 082goXVW3lIExEQPOnd3.
custom_fieldsarray- Custom field values to set on the opportunity, as a list. Each entry names the field by its id (or by its key) and gives the value in field_value: text, number, an option label, or a list of option labels for multi-select fields. Find field IDs and keys with List Custom Fields. Example: [{"id": "6dvNaf7VhkQ9snc5vnjJ", "field_value": "My Text"}, {"key": "my_custom_field", "field_value": ["test", "test2"]}].
monetary_valuenumber- Deal value of the opportunity in the sub-account's currency. Example: 220.
namestring- New name of the opportunity. Example: Website redesign deal.
pipeline_idstring- ID of the pipeline to move the opportunity to. Get IDs with List Pipelines. Example: bCkKGpDsyPP4peuKowkG.
pipeline_stage_idstring- ID of the stage within the pipeline. List Pipelines returns each pipeline's stages. Example: 7915dedc-8f18-44d5-8bc3-77c04e994a10.
statusstring- Status of the opportunity. One of: open, won, lost, abandoned, all.one of
openwonlostabandonedall
highlevel_opportunity_upsertCreate an opportunity, or update it when an opportunity ID is given or one already matches.WriteUpsert Opportunity
Create an opportunity, or update it when an opportunity ID is given or one already matches. Returns the opportunity and whether it was newly created. Use for a single create-or-update call that also manages followers. Use Create Opportunity or Update Opportunity for simple cases.
Inputs
followersarrayrequired- List of user IDs to add to or remove from the opportunity's followers, depending on followers_action_type. Pass [] to leave followers unchanged. Example: ["082goXVW3lIExEQPOnd3"].
followers_action_typestringrequired- Whether the users in followers are added or removed. One of: add, remove.one of
addremove is_remove_all_followersbooleanrequired- Set to true to remove every existing follower before applying followers, or false to keep them.
location_idstringrequired- ID of the HighLevel sub-account (formerly called a location) to work in. The connected account is installed on one sub-account; use that sub-account's ID, shown in the HighLevel URL after /location/. Example: ve9EPM428h8vShlRW1KT.
pipeline_idstringrequired- ID of the opportunity pipeline. Get pipeline IDs with List Pipelines. Example: VDm7RPYC2GLUvdpKmBfC.
assigned_tostring- ID of the HighLevel user this record is assigned to. Look it up with Search Users. Example: 082goXVW3lIExEQPOnd3.
lost_reason_idstring- ID of the lost reason, when the status is lost. Example: CLu7BaljjqrEjBGKTNNe.
monetary_valuenumber- Deal value of the opportunity. Example: 220.
namestring- Name of the opportunity. Example: Website redesign deal.
opportunity_idstring- ID of the opportunity to update. Leave empty to create or match. Example: yWQobCRIhRguQtD2llvk.
pipeline_stage_idstring- ID of the stage within the pipeline. List Pipelines returns each pipeline's stages. Example: 7915dedc-8f18-44d5-8bc3-77c04e994a10.
statusstring- Status of the opportunity. One of: open, won, lost, abandoned, all.one of
openwonlostabandonedall
highlevel_relation_createLink two records through an association, such as a contact and a custom object record.WriteCreate Relation
Link two records through an association, such as a contact and a custom object record. Returns the created relation with its ID. Use after List Associations to get the association ID. The first and second records must match the association's first and second objects.
Inputs
association_idstringrequired- ID of the association. Get it with List Associations. Example: ve9EPM428h8vShlRW1KT.
first_record_idstringrequired- ID of the record for the association's first object. For a contact-to-pet association created with contact first, this is the contact ID. Example: ocQHyuzHvysMo5N5VsXc.
location_idstringrequired- ID of the HighLevel sub-account (formerly called a location) to work in. The connected account is installed on one sub-account; use that sub-account's ID, shown in the HighLevel URL after /location/. Example: ve9EPM428h8vShlRW1KT.
second_record_idstringrequired- ID of the record for the association's second object. For a contact-to-pet association, this is the pet record ID. Example: 632c34b4c9b7da3358ac9891.
highlevel_message_schedule_cancelCancel a message that was scheduled to send later.DestructiveCancel Scheduled Message
Cancel a message that was scheduled to send later. Returns a success status. Use to stop a scheduled SMS or message before it goes out.
- Idempotent
Inputs
message_idstringrequired- ID of the scheduled message. Example: ve9EPM428h8vShlRW1KT.
No tools match.