Pagination & Data
Lists return the most recent records
Section titled “Lists return the most recent records”The read endpoints (GET /api/zapier/triggers/* and GET /api/zapier/search/customers) exist to feed polling automation tools. They return a bare JSON array of the most recent records, newest first — no envelope, no page numbers, no cursor.
GET /api/zapier/triggers/leads?limit=20[ { "id": 10421, "name": "Jordan Ellis", "status": "New", "status_stage": "open", "created_at": "2026-09-09T09:14:07.000000Z", "…": "…" }, { "id": 10420, "name": "Amelia Clarke", "status": "Contacted", "status_stage": "open", "created_at": "2026-09-09T08:51:33.000000Z", "…": "…" }]| Parameter | Applies to | Default | Maximum |
|---|---|---|---|
limit |
All six trigger endpoints | 50 |
100 |
search_term |
search/customers (required) |
— | 100 characters; up to 25 matches returned |
There is no way to page further back than the newest limit records, and no date filter. This suits polling — Zapier and n8n deduplicate on id and only act on records they have not seen — but it means a burst of more than limit new records between two polls will miss the oldest ones. Poll often enough for your volume, or ask for limit=100.
An empty result is [], never null.
Identifiers
Section titled “Identifiers”id fields are integers today, unique within their record type within a workspace. Treat them as opaque: do not assume they are sequential, small, or meaningful, and be prepared for them to become strings in a future version (that change would be announced in the changelog with a deprecation period).
Timestamps
Section titled “Timestamps”All timestamps are ISO 8601 in UTC, with a Z suffix — for example 2026-09-09T09:14:07.000000Z. Parse them as ISO 8601 and convert to the workspace’s local time for display. Fractional seconds may be present; do not depend on their precision.
Fields ending in _at are instants. Some fields carry a date or a date-time the shop entered (next_follow_up, scheduled_on, estimated_delivery, received_at); check the reference for each field’s exact format.
Other conventions
Section titled “Other conventions”| Convention | Rule |
|---|---|
| Field names | snake_case, everywhere |
| Booleans | JSON true / false |
| Absent values | null, and the field is still present |
| Empty lists | [] |
| Amounts | Numbers as stored in the workspace’s currency. Currency is not repeated per record; it is the workspace’s configured currency. |
| Names of things | Readable labels — "status": "Waiting for Parts", "device_brand": "Dell", "assigned_to": "Alex Morgan" — never internal ids |
| Unknown fields | Ignore any response field you do not recognise; new ones may appear at any time |
Phone numbers
Section titled “Phone numbers”mobile_number is the national number as entered, and mobile_country_code is the dialling code (for example "+1" or "+44"). They are separate fields on both input and output. When you create a lead, send both if you know the country; a lead’s duplicate check compares the pair.

