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.