- Documentation
- Integrations
- Apps
- GoHighLevel integration
GoHighLevel integration
Run CRM, pipeline, conversation, calendar, and task operations across your clients' GoHighLevel sub-accounts.
What it does
The GoHighLevel integration lets your agency operate inside a client's sub-account without leaving TaskJuice. Connect a client's GoHighLevel Location once and you can create and update contacts, push deals through pipelines, book appointments, log notes and tasks, enrol contacts in campaigns and workflows, and send SMS through the client's own Conversations channel — then react to 27 marketplace webhook events as they happen.
Every call targets the Location ID recorded on the connection, so a workflow you build for one client runs unmodified against the next sub-account you onboard.
Connect a GoHighLevel account
- Open your workspace in TaskJuice and navigate to Connections.
- Choose GoHighLevel and click Connect.
- The GoHighLevel marketplace prompts the account owner to pick a Location (sub-account). The chosen Location ID is what TaskJuice will use as the API tenant for every call on this connection.
- Approve the requested scopes (contacts, opportunities, conversations, calendars, campaigns, workflows, locations).
- TaskJuice returns to the workspace with the connection ready to use in any workflow.
To revoke access, the account owner can open the GoHighLevel marketplace and uninstall the TaskJuice app from that Location. The full grant flow is documented in the GoHighLevel marketplace authorization guide.
Triggers
Contacts
gohighlevel/contact-created— a contact is created.gohighlevel/contact-updated— any field on a contact changes.gohighlevel/contact-deleted— a contact is deleted.gohighlevel/contact-tag-updated— a contact's tags change.gohighlevel/contact-dnd-updated— a contact's Do-Not-Disturb settings change on any channel.
Opportunities
gohighlevel/opportunity-created— an opportunity is created.gohighlevel/opportunity-updated— any field on an opportunity changes.gohighlevel/opportunity-status-updated— an opportunity's status changes (for exampleopentowon).gohighlevel/opportunity-stage-changed— an opportunity moves to a different pipeline stage. This is a separate GoHighLevel event from the status change above; use this one for "moved to Proposal" style automations.gohighlevel/opportunity-assignee-changed— an opportunity is reassigned to a different user.gohighlevel/opportunity-value-changed— an opportunity's monetary value changes.gohighlevel/opportunity-deleted— an opportunity is deleted.
Tasks and notes
gohighlevel/task-created— a task is added to a contact.gohighlevel/task-completed— a task is marked complete.gohighlevel/task-deleted— a task is deleted.gohighlevel/note-created— a note is added to a contact.gohighlevel/note-updated— a note is edited.gohighlevel/note-deleted— a note is deleted.
Conversations and messaging
gohighlevel/inbound-message— a contact sends a message on any channel (SMS, email, live chat, Facebook, Instagram, GMB, call, voicemail).gohighlevel/outbound-message— a message is sent to a contact on any channel.gohighlevel/conversation-unread-updated— a conversation's unread count changes.gohighlevel/email-event-received— an email delivery event is recorded (delivered, opened, clicked, bounced, complained).
Calendars and campaigns
gohighlevel/appointment-created— an appointment is booked.gohighlevel/appointment-updated— an appointment is rescheduled or edited.gohighlevel/appointment-deleted— an appointment is deleted.gohighlevel/campaign-status-updated— a contact's status in a campaign changes.gohighlevel/plan-changed— a sub-account moves between SaaS plans.
How deliveries reach your workflow
GoHighLevel webhooks are configured once on the marketplace app, not per sub-account: there is no webhook-subscription API. Every installed Location delivers to the same endpoint, and TaskJuice attributes each delivery to the right connection using the locationId field in the payload — the same Location ID recorded when the account was connected. You do not need to configure anything per client.
Actions
Contacts
gohighlevel/create-contact,gohighlevel/upsert-contact,gohighlevel/update-contact,gohighlevel/get-contact,gohighlevel/list-contacts,gohighlevel/delete-contactcover the contact lifecycle, including tags and attribution source.gohighlevel/add-contact-tagsandgohighlevel/remove-contact-tagschange a contact's tags without rewriting the record.gohighlevel/add-noteattaches a note to a contact.
Opportunities
gohighlevel/create-opportunitycreates an opportunity in a pipeline stage, attached to a contact, with optional monetary value and owner.gohighlevel/get-opportunity,gohighlevel/update-opportunity,gohighlevel/delete-opportunitymanage an existing opportunity.gohighlevel/update-opportunity-statusmoves an opportunity betweenopen,won,lost, andabandonedwithout touching its other fields.gohighlevel/search-opportunitiesfilters opportunities by pipeline, stage, status, assignee, and contact.gohighlevel/list-pipelinesreturns every opportunity pipeline and its stages, so authors can map a human-readable pipeline name to thepipelineIdandpipelineStageIdvalues the write actions require.
Tasks
gohighlevel/add-task,gohighlevel/list-tasks,gohighlevel/get-task,gohighlevel/update-task,gohighlevel/delete-taskmanage tasks on a contact, with a title, body, due date, and optional assignee.
Campaigns and workflows
gohighlevel/add-contact-to-campaignandgohighlevel/remove-contact-from-campaignenrol or withdraw a contact from a campaign, picked from a dropdown.gohighlevel/remove-contact-from-all-campaignswithdraws a contact from every campaign at once.gohighlevel/add-contact-to-workflowandgohighlevel/remove-contact-from-workflowdo the same for workflows.
Calendars and messaging
gohighlevel/get-free-slotsreturns bookable slots for a calendar over a date range.gohighlevel/book-appointmentbooks an appointment for a contact on a selected calendar.gohighlevel/send-smssends an SMS through the GoHighLevel Conversations channel, using a Twilio number provisioned in the sub-account.
Known limitations
- Webhook deliveries are not signature-verified. GoHighLevel signs deliveries asymmetrically — Ed25519 in the
x-ghl-signatureheader, verified against GoHighLevel's published public key (the legacy RSAx-wh-signaturewas retired on 1 September 2026). No shared secret is issued to the installing account, and TaskJuice's inbound verifier currently implements shared-secret schemes only, so deliveries are accepted and attributed bylocationIdwithout a cryptographic check. This matches the posture of our other asymmetrically-signed integrations. If your workflows act on GoHighLevel events in a high-trust context, treat the payload as unauthenticated input and re-read the record through an action before acting on it. - One connection per Location. A connection is scoped to a single GoHighLevel sub-account. To run workflows across multiple client sub-accounts, create one connection per Location.
- Sub-account scope only. The connection uses a Sub-Account (Location) access token from the marketplace
chooselocationflow. Agency-level surfaces — SaaS plan administration, snapshots, custom menus, company management — require an Agency token and are not exposed. - Commerce and custom-object events are not available as triggers. GoHighLevel delivers invoice, order, product, price, custom-record, relation, and association webhooks as bare objects with no event-name field in the payload, so a delivery cannot be attributed to a specific trigger. Poll the corresponding read actions instead.
- Pipeline stage and assignee are free-text on some actions. GoHighLevel returns stages nested inside pipelines and marks its users endpoint deprecated, so
pipelineStageIdandassignedToare entered as values rather than picked from a dropdown. Usegohighlevel/list-pipelinesupstream to resolve a stage ID. - Rate limits. GoHighLevel enforces per-Location rate limits on the v2 API. When the API returns 429, TaskJuice surfaces a retryable error and respects
Retry-After. - API versions. The integration targets the LeadConnector v2 REST API. Contact, opportunity, task, campaign, and workflow endpoints use
Version: 2021-07-28; conversation and calendar endpoints useVersion: 2021-04-15. gohighlevel/send-smsrequires a Twilio number provisioned inside the GoHighLevel sub-account. Without one, the Conversations API returns a 422 validation error.