Skip to content
TriedDocs
Integrations

Get CRM schema

List a CRM's contact fields and the Tried contact fields you can map to them.

GEThttps://api.tried.com.au/get-crm-schema/{provider}

Needs keys Live field lists need a token for the CRM. Without one (or with no connection) you get a built-in default field list and mock: true.

Returns the contact fields defined in the CRM and the contact fields in your workspace. Use both lists to build config.field_mapping for Update CRM config.

Request#

Path parameter Type Required Description
provider string Yes One of hubspot, salesforce, dynamics365, gohighlevel, zoho.

Example request#

curl https://api.tried.com.au/get-crm-schema/hubspot \
  -H "Authorization: Bearer $TRIED_API_KEY"
const res = await fetch("https://api.tried.com.au/get-crm-schema/hubspot", {
  headers: { Authorization: `Bearer ${process.env.TRIED_API_KEY}` },
});
const schema = await res.json();
import os, requests

res = requests.get(
    "https://api.tried.com.au/get-crm-schema/hubspot",
    headers={"Authorization": f"Bearer {os.environ['TRIED_API_KEY']}"},
)
schema = res.json()

Response#

200 OK

This example is the mock schema for HubSpot:

{
  "provider": "hubspot",
  "object": "contact",
  "mock": true,
  "fields": [
    { "name": "firstname", "label": "First name", "type": "string" },
    { "name": "lastname", "label": "Last name", "type": "string" },
    { "name": "email", "label": "Email", "type": "string" },
    { "name": "phone", "label": "Phone", "type": "string" },
    { "name": "lifecyclestage", "label": "Lifecycle stage", "type": "enumeration" },
    { "name": "hs_lead_status", "label": "Lead status", "type": "enumeration" }
  ],
  "contact_fields": ["first_name", "last_name", "email", "phone_number", "memory", "lead_status"]
}
Field Type Description
mock boolean true when the fields are the built-in defaults rather than read from the CRM.
fields object[] CRM contact fields. name is the key to use in field_mapping. type is the CRM's own type name. With live credentials, Salesforce returns only createable fields and GoHighLevel adds the location's custom fields to the defaults.
contact_fields string[] first_name, last_name, email, phone_number, memory, then custom field keys found on up to 2000 of your contacts.

Errors#

Status When
400 provider is not a supported CRM.
401 Missing or invalid API key.
403 The key's IP allowlist or scopes reject the request. This route needs the admin scope.
429 Rate limit exceeded. See Rate limits.
500 The CRM rejected the field lookup with live credentials.

See Errors for the body format.

Retell compatibility#

Retell uses GET /get-crm-schema with an optional app_id query parameter. Tried takes the CRM in the path and adds object, mock and contact_fields.