Send estimate requests
Send estimate requests
Three ways in: the website form endpoint, webhooks, and CSV import. All three are set up in Settings › Connections.
Website form endpoint
Settings › Connections gives you an endpoint URL and a snippet for your estimate form. Each submission becomes a new estimate request on the board, with its source recorded. The test button sends a sample so you can watch it arrive.
Send only what the form asked for: name, phone, email, address or town, the job, and the page it came from. Submissions are checked for duplicates, rate-limited, and rejected if the secret is wrong. The snippet sets no cookies and loads nothing from a third party.
Example submission
POST <your endpoint URL from Settings › Connections>
Content-Type: application/json
{
"name": "Dana Miller",
"phone": "(317) 555-0142",
"email": "dana@example.com",
"town": "Carmel",
"job": "Garage floor coating",
"page": "/garage-floors"
}The endpoint's host, path and field names come from Settings › Connections once the platform ships them. The example shows the fields the Developer Terms allow, not final names.
Webhooks
Post estimate requests from Zapier, Make, your CRM or your own code. A webhook takes the same fields as the website form, plus a source label, and answers with a success or an error code.
How requests are handled
- Every request carries the webhook's secret in the header shown in Settings › Connections. Requests without it are dropped.
- Send each request once. If you retry after a timeout, send the same request id so the duplicate is ignored.
- We don't call your systems back.
- Payloads we can't read are rejected with a reason, and the last few are kept for a short time so you can see what went wrong.
Example request
POST <your webhook URL from Settings › Connections>
Content-Type: application/json
<secret header>: <your webhook secret>
{
"source": "zapier",
"requestId": "zap-48213",
"name": "Dana Miller",
"phone": "(317) 555-0142",
"job": "Roof replacement quote"
}CSV import
Upload a CSV of past estimate requests and jobs from Settings › Connections. The import maps your columns to ours, shows a preview, and merges duplicates by phone and email.
Imported rows are your records. They don't count toward the guarantee or your bill.
Columns
name,phone,email,town,job,date,outcome
Dana Miller,(317) 555-0142,dana@example.com,Carmel,Garage floor,2026-09-14,bookedUsing these means you agree to the Developer Terms. Questions: support@xtimates.com.