No code: Zapier, Make, n8n
Connect the tool you already use. Five steps, no developer required.
- 1Pick the trigger in your app
New order, appointment completed, invoice paid, booking checked out. Whatever means "the job is done".
- 2Add the action "Webhooks by Zapier"
Choose the event "Custom Request". Set Method to POST and paste the URL.
URLhttps://yourdomain.com/api/v1/enquiries
- 3Add two headers
In the Headers section, one per line: key on the left, value on the right.
HeadersAuthorization: Bearer lk_YOUR_API_KEY Content-Type: application/json
- 4Map the data
Set Data Pass-Through to false and paste the JSON. Replace the values with fields from your trigger. send_after_days is optional: 0 sends now, 2 waits two days.
Data (JSON){ "name": "{{first_name}} {{last_name}}", "email": "{{email}}", "ref": "{{order_id}}", "send_after_days": 1 } - 5Test, then publish
Zapier shows a 202 with "status": "queued". Turn the Zap on and every new event sends an enquiry.
Every request needs an API key from the API section. Keys are per business; revoke and regenerate any time. Customers contacted in the last 30 days are skipped automatically.
Every request carries your business's API key as a Bearer token. Replace lk_YOUR_API_KEY with a key generated above.
Authorization: Bearer lk_YOUR_API_KEY
/api/v1/enquiries— Send one enquiryCall it right after the sale, visit or appointment. Loops emails the enquiry, classifies the answer and handles the review ask automatically.
| Field | Type | Description |
|---|---|---|
email* | string | The customer's email address. |
name | string | Used to personalize the email ("Hi Maria,"). |
ref | string | Your own reference (order id, visit id…). Stored on the contact. |
force | boolean | Send even if this customer was contacted in the last 30 days. |
send_after_days | integer | Wait this many whole days before the first email (0–365, default 0). Useful right after a booking: ask once the visit is over. Shows as "sends in N days" on your board, where it can be stopped. |
curl -X POST https://yourdomain.com/api/v1/enquiries \
-H "Authorization: Bearer lk_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"name": "Maria Silva", "email": "maria@example.com", "send_after_days": 1}'{ "status": "queued", "id": "jh7…" }/api/v1/enquiries— Send in bulkSame endpoint — send an array instead of a single object. Up to 500 customers per call, each processed with the same rules (30-day dedupe included).
| Field | Type | Description |
|---|---|---|
customers* | array | Up to 500 objects, each with email (required), name, ref and send_after_days — same meaning as the single call. |
force | boolean | Applies to every customer in the batch. |
send_after_days | integer | Default delay for every customer in the batch; a per-customer value wins. |
curl -X POST https://yourdomain.com/api/v1/enquiries \
-H "Authorization: Bearer lk_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"customers": [
{"name": "Maria Silva", "email": "maria@example.com"},
{"name": "João Pereira", "email": "joao@example.com"}
]
}'{
"status": "accepted",
"summary": { "queued": 2, "already_invited": 1 },
"results": [
{ "email": "maria@example.com", "status": "queued", "id": "jh7…" },
{ "email": "joao@example.com", "status": "queued", "id": "jh7…" },
{ "email": "rui@example.com", "status": "already_invited" }
]
}202Accepted — emails go out within seconds. Bulk responses include a per-customer breakdown.409Customer already got an enquiry in the last 30 days (single call). Pass "force": true to send anyway.401API key missing, invalid or revoked.402No active subscription for this business.413Bulk batch larger than 500 customers — split it.422Invalid email address or empty customer list.What happens next
- 1Enquiry email
Sent within seconds, under your business name, with the one-tap scale embedded.
- 2Classification
The first tap is normalized to the 0–10 NPS scale and the customer lands on your board.
- 3Follow-up
A warm thank-you with a direct link to your review page, plus a private feedback box for anyone who wasn't happy.
- 4Reminder
One reminder to people who didn't answer, after the number of days you set. Then it stops.
Customers already contacted in the last 30 days are skipped unless you pass force. Unsubscribes are honoured automatically, and every email carries a one-click unsubscribe header.
Get an API key in the dashboard
Keys are per business, shown once, and revocable any time from the API tab.
Start in 5 minutes