WordPress
Add the widget to any WordPress page with one shortcode. UTM tags and ad click IDs reach every lead.
Version 1.1.2, GPLv2 or later.
Put the widget on your website with the WordPress plugin, the website code or your homeowner link. Then send each lead to your CRM with a webhook. The plugin is native. GoHighLevel, Jobber and Zapier run on the webhook.
Each page has the setup steps, the fields you can map and what doesn't sync.
Add the widget to any WordPress page with one shortcode. UTM tags and ad click IDs reach every lead.
Version 1.1.2, GPLv2 or later.
Each lead starts a HighLevel workflow through its Inbound Webhook trigger, which creates or updates the contact.
Zapier turns each lead into a Jobber client and request. Or send homeowners to your Jobber request form.
A Catch Hook trigger receives each lead as JSON. Send it on to your CRM, a sheet or a text to your crew.
Install once, choose your widgets and send a test lead.
Tell us which CRM, booking or invoicing software you use. We build the connection on the built-in pieces and keep it working.
Paste a webhook address into your widget's settings under New-lead alerts. From then on, each new lead is posted there as JSON.
The webhook carries the contact details, the range, the trade and the source. The measured quantities are in the new-lead email. The lead in your dashboard has those, plus the homeowner's answers, the line-item dollars and the map of what was measured.
Every field is listed on the Zapier page.
{
"leadId": "5b0e2c1a-8f3d-4c7e-9a61-2d4f7b8c9e10",
"brand": "sierra-gutter-co",
"brandName": "Sierra Gutter Co.",
"service": "gutters",
"guardProduct": {
"id": "sample-mesh",
"name": "Micro-mesh aluminum"
},
"quoteId": "9c4d7e2f-1a3b-4c5d-8e6f-7a8b9c0d1e2f",
"formattedAddress": "412 Sample Ridge Ct, Roseville, CA 95661, USA",
"name": "Jordan Example",
"phone": "(916) 555-0114",
"email": "jordan@example.com",
"preferredTime": "Weekday mornings",
"estimateLow": 1500,
"estimateHigh": 2025,
"smsConsent": false,
"smsConsentText": null,
"utm": {
"utm_source": "google",
"utm_medium": "cpc",
"utm_campaign": "sample-guards",
"gclid": "sample-click",
"referrer": "https://example.com/gutter-guards"
},
"property": {
"source": "rentcast",
"stories": 1,
"yearBuilt": 1998,
"propertyType": "single_family"
},
"receivedAt": "2026-09-25T16:42:07.000Z",
"firstName": "Jordan",
"lastName": "Example",
"street": "412 Sample Ridge Ct",
"city": "Roseville",
"state": "CA",
"zip": "95661"
}Built in on every plan.
external_id and set “Send lead updates to” in widget settings to receive signed stage and price changes.{ external_id, status, value } to the form leads URL with /status on the end to send changes back. Value is in dollars.{
"event": "lead.updated",
"widget": "your-widget-id",
"lead": {
"id": "measured-bid-lead-id",
"external_ids": [
"your-lead-id"
],
"status": "won",
"value": 1775,
"updated_at": "2026-09-26T12:00:00.000Z"
}
}Use the WordPress plugin to embed your widget, or install the CRM app to send contacts and measurements directly. The lead webhook also connects to Jobber, Zapier and other tools.
All of them, including the free trial. Each widget has its own webhook address, so a company with several brands or locations can send each one to a different place.
Yes. The webhook posts plain JSON to any https address. Anything that can receive a webhook, such as a Make custom webhook or an n8n Webhook node, can take the lead from there.
The new-lead webhook is one way. It sends each widget lead out once, and nothing comes back through it. Leads you send in through a widget's form leads URL with an external_id can sync stage and price both ways: we post changes to your system, and your system can post its changes back.
Start a free trial, set your rates and add a webhook. 14 days or 25 estimates free, no card.