Field Types
Every field on a lead — standard or custom — has a type defined in the workspace. The value sent in an API payload must conform to that type. Values that don't match the type are silently dropped.
Field type definitions are shared across the Async API and the Sync API. The same rules apply whether the field belongs to a lead or to a custom action.
Quick reference
| Type | Accepts | Example |
|---|---|---|
| text | string | "Jane Doe" |
| string (valid email) | "jane.doe@example.com" | |
| phone | string (country code + number) | "919999999999" |
| number | numeric value | 156 |
| date | epoch ms or workspace-format string | 1672561800000 or "01/01/2023" |
| dropdown | string (option label) | "Website" |
| tags | array of strings | ["VIP", "Returning"] |
| money | numeric string in workspace currency | "1000" |
| website | URL string | "https://example.com" |
| medialink | publicly accessible URL | "https://cdn.example.com/file.pdf" |
| activeUsers | string (team member email) | "agent@company.com" |
| rating | integer 1-5 | 3 |
| status | string (status label) | "Fresh" |
| lostReason | string (lost reason label) | "No Need" |
text
Free-form string. Used for names, notes, addresses, and any custom text field.
- No length limit unless the workspace defines one on the field.
- Whitespace is preserved as sent.
json
"name": "Jane Doe"email
A valid email address.
- Must follow standard email syntax (
local@domain.tld). - Used by the standard
emaillead field, theassigneefield, and any custom email field.
json
"email": "jane.doe@example.com"phone
Phone number including country code.
- Recommended format: country code + national number, no spaces or symbols (e.g.
919999999999for India). - The leading
+is accepted but optional. - If the country code is missing, the workspace's default country code is applied.
json
"phone": "919999999999"number
Numeric value (integer or decimal).
- Use
moneyinstead for currency amounts so workspace formatting is preserved.
json
"deal_size": 156date
Two formats are accepted:
- Unix timestamp in milliseconds (e.g.
1672561800000). - String in the workspace-configured date format, with optional time component (e.g.
"01/01/2023 10:30:00").
If the time component is omitted, it defaults to 00:00:00 in the workspace timezone.
WARNING
Values in any other format (including ISO 8601) may be silently dropped or stored incorrectly. Find the workspace's date format under Settings → Lead Fields → click the date field → Properties → Date format.
json
"follow_up_date": "01/01/2023 10:30:00"json
"follow_up_date": 1672561800000dropdown
Single-select dropdown value, matched against the predefined options for the field in the workspace.
- If the value does not match any existing option, a new option is created automatically.
- Maximum 1000 options per dropdown field.
- Each option label is capped at 40 characters.
json
"contact_source": "Website"tags
Multi-select tags field. Each entry is matched against the predefined tags for the field.
- Input must be an array of strings. Comma-separated strings are not accepted.
- If a value does not match any existing tag, a new tag is created automatically.
- Maximum 1000 tags per field.
- Each tag label is capped at 40 characters.
json
"interests": ["VIP", "Returning"]money
Currency amount as a numeric string in the workspace's default currency.
- Decimal separator is
.. - Do not include currency symbols or thousands separators.
json
"budget": "1000"website
URL string. The protocol (http:// or https://) is recommended but not required.
json
"company_website": "https://example.com"medialink
URL pointing to media (image, video, document) hosted on a publicly accessible location.
- telecrm does not host the file; only the link is stored.
- The URL must remain publicly reachable for the link to be useful in the dashboard.
json
"contract_file": "https://cdn.example.com/contract.pdf"activeUsers
Email of an active team member in the workspace.
- The email must match a current member's email exactly.
- Invalid or unknown emails cause the field to be dropped.
json
"assigned_specialist": "agent@company.com"rating
Integer between 1 and 5, inclusive (5 is highest).
- Values outside this range are rejected.
json
"rating": 3status
Lead status label. Must exactly match one of the active statuses defined in the workspace's lead stage pipeline (case-sensitive).
- Defaults to
Freshwhen omitted on lead creation. - Statuses are configured under Settings → Lead Stages.
json
"status": "Fresh"lostReason
Reason a lead was marked Lost. Must exactly match one of the active lost reasons defined in the workspace's lead stage pipeline (case-sensitive).
- Only meaningful when the lead's status belongs to a
LOSTstage. - Defaults to
Unknown Reasonwhen omitted. - Lost reasons are configured under Settings → Lead Stages.
json
"lost_reason": "No Need"