GoHighLevel
Push leads to GoHighLevel: create a contact in GoHighLevel, optionally an opportunity in a pipeline stage, with tags.
Authenticated with ?privateKey=YOUR_KEY (see Authentication).
| POST | /admin/automations | Create a new automation |
| GET | /admin/automations | Get all automations for a website |
| PATCH | /admin/automations/{id} | Enable or disable an automation |
| GET | /v3/crm/owners | List CRM owners |
| GET | /v3/crm/pipelines | List CRM deal pipelines |
| POST | /v3/crm/push | Push contact to CRM |
| GET | /v3/crm/{crm}/mappings | Get CRM field mappings |
| PUT | /v3/crm/{crm}/mappings | Set CRM field mappings |
/admin/automationscurl -X POST "https://rest-dash.revealid.xyz/admin/automations?privateKey=YOUR_KEY" \ -H "Content-Type: application/json" \ -d '{ "name": "Docs example: send-to-gohighlevel", "isActive": true, "website": "64b7f0a1c2d3e4f5a6b7c8d9", "when": "new-lead-is-identified", "then": "send-to-gohighlevel", "interval": "immediately", "actions": { "sentToGoHighLevel": { "createOpportunity": true, "pipelineId": "PIPELINE_ID", "pipelineStageId": "STAGE_ID", "opportunityStatus": "open", "tags": [ "website-visitor" ], "assignContactsTo": "OWNER_ID" } }}'What each field accepts
| Field | Type | Limits and format | Accepted values |
|---|---|---|---|
| name* | string | — | any |
| isActive* | boolean | — | any |
| website* | string | — | any |
| filter | object | — | any |
| trigger | string | default "only-on-first-visit" | only-on-first-visiton-every-visitnone |
| when* | string | — | Show all 7 valuesnew-lead-is-identifiednew-intent-data-triggerednew-prospector-leadnew-web-scraping-signalnew-scout-leadnew-linkedin-engagementnew-tag-added-to-lead |
| then* | string | — | Show all 16 valuessend-to-slacksend-to-hubspotsend-to-pipedrivesend-to-salesforcesend-to-zohosend-to-gohighleveltrigger-webhooksend-to-zapiersend-to-claysend-to-emailCampaignsend-to-linkedinCampaignsend-email-alertsend-csv-on-emailsend-to-googleAdsCampaignsend-to-linkedinAdsAudiencesend-to-metaAdsAudience |
| interval | string | default "daily" | immediatelyafter-sessiondailyweeklymonthly |
| contactPersona | object | — | any |
| contactPersona.roles | string[] | — | any |
| contactPersona.excludedRoles | string[] | — | any |
| emailVerification | object | — | any |
| emailVerification.allowOnlyValidEmails | boolean | default false | any |
| emailVerification.allowCatchAllEmails | boolean | default false | any |
| emailVerification.allowGuessedEmails | boolean | default true | any |
| emailVerification.allowWithoutEmails | boolean | default false | any |
| contactSelectionStrategy | string | default "exact-job-titles" | exact-job-titlesflexible-job-titlesflexible-find-at-least-one-job-titles |
| maxContactsToSend | integer | min 1 · whole number · default 5 | any |
| actions | object | — | any |
| actions.sentToSlack | object | — | any |
| actions.sentToSlack.sendMessagesTo | string | — | any |
| actions.sentToSlack.messageTemplate | string | — | any |
| actions.sentToSlack.howManyToAdd | integer | whole number | any |
| actions.sentToWebhook | object | — | any |
| actions.sentToWebhook.url | string | — | any |
| actions.sentToWebhook.whenToPush | string | — | every-timeonly-with-suggested-contacts |
| actions.sendToClay | object | — | any |
| actions.sendToClay.url | string | — | any |
| actions.sendToClay.whenToPush | string | — | every-timeonly-with-suggested-contacts |
| actions.sentToEmailCampaign | object | — | any |
| actions.sentToEmailCampaign.emailCampaign | string | — | any |
| actions.sentToEmailCampaign.emailAccounts | string[] | — | any |
| actions.sentToHubspot | object | — | any |
| actions.sentToHubspot.action | string | — | create-a-contact |
| actions.sentToHubspot.assignContactsTo | string | — | any |
| actions.sentToHubspot.createDeal | boolean | — | any |
| actions.sentToHubspot.pipelineId | string | — | any |
| actions.sentToHubspot.dealStageId | string | — | any |
| actions.sentToHubspot.dealAmount | number | — | any |
| actions.sentToPipedrive | object | — | any |
| actions.sentToPipedrive.assignContactsTo | string | — | any |
| actions.sentToSalesforce | object | — | any |
| actions.sentToSalesforce.assignContactsTo | string | — | any |
| actions.sentToZoho | object | — | any |
| actions.sentToZoho.assignContactsTo | string | — | any |
| actions.sentToGoHighLevel | object | — | any |
| actions.sentToGoHighLevel.assignContactsTo | string | — | any |
| actions.sentToGoHighLevel.createOpportunity | boolean | — | any |
| actions.sentToGoHighLevel.pipelineId | string | — | any |
| actions.sentToGoHighLevel.pipelineStageId | string | — | any |
| actions.sentToGoHighLevel.opportunityStatus | string | — | openwonlostabandoned |
| actions.sentToGoHighLevel.tags | string[] | — | any |
Use case: Pick the owner
GET /v3/crm/owners?crm=gohighlevel lists the users of your GoHighLevel; use one's id as assignContactsTo.
Use case: Also create an opportunity
With createOpportunity: true, give the pipelineId and pipelineStageId where it should land (GET /v3/crm/pipelines?crm=gohighlevel lists your pipelines with the ids of their stages) and, if you like, opportunityStatus (open, won, lost or abandoned; open is the usual choice). Leave createOpportunity out to create the contact only. tags are added to the contact.
Use case: Push one lead now
POST /v3/crm/push with crm: "gohighlevel", websiteId, a leadId and contactData (its email) sends that lead right away, without an automation.