PlatformDocs

Connect & map fields

Connect HubSpot, Pipedrive, Zoho, Salesforce or GoHighLevel, map the fields, and let an automation send the leads that match.

Authenticated with ?privateKey=YOUR_KEY (see Authentication).

POST/v3/crm/pushPush contact to CRM
GET/v3/crm/ownersList CRM owners
GET/v3/crm/variablesList CRM variables
GET/v3/crm/{crm}/mappingsGet CRM field mappings
PUT/v3/crm/{crm}/mappingsSet CRM field mappings
GET
Try:
Parameters
CrmOne of: hubspot, pipedrive, salesforce, zoho, gohighlevel.
Website IdWebsite ID from list_websites; the CRM must be connected on this website.
curl -X GET "https://rest-dash.revealid.xyz/v3/crm/owners?privateKey=YOUR_KEY&websiteId=64b7f0a1c2d3e4f5a6b7c8d9&crm=hubspot"
Response
Press Send request to try it with sample data.

What each field accepts

FieldTypeLimits and formatAccepted values
crm*string—hubspotpipedrivesalesforcezohogohighlevel
websiteId*string—any

Use case: Push one lead now

POST /v3/crm/push with crm (hubspot, pipedrive, salesforce, zoho or gohighlevel), websiteId and contactData (email is required; firstName, lastName, position optional). Pass leadId to take the person's details from that lead and mark it as added to the CRM. HubSpot, Zoho and Pipedrive also need ownerId, from GET /v3/crm/owners?crm=…. Answers 401 when the CRM login has expired (reconnect under Integrations → CRMs).

Use case: Read and change the field mapping

GET /v3/crm/variables?websiteId=… lists the lead and company fields you can map (name, email, job title, company size, pages visited, score…), each with its key (what goes in variable), label, an example and its category. GET /v3/crm/{crm}/mappings?websiteId=…&objectType=contact (or company) returns the current mapping; PUT /v3/crm/{crm}/mappings with objectType and the full mappings list replaces it. Each row has crmField (the CRM field name) and is filled from a lead field (valueType: "variable", variable: a key from the list above) or with fixed text (valueType: "static", staticValue); enabled: false skips it. A list where no row has a crmField is refused, so a mistake can't wipe your mapping; an empty list clears it.

On this page