This article explains how webhooks work within Canibuild & how they automatically send real-time data to external systems when key actions occur. Webhooks notify connected platforms instantly when important events happen in the application.
Webhooks can track address look-ups, design placements, contact creation, document generation, quote status updates, LeadConvertor enquiries, payments, & login activity. Each event sends a structured payload with project, contact, & user information, enabling seamless integration with CRMs, analytics platforms, & third-party automation tools.
Webhook events are grouped into the following categories:
-
PRO App Events (SiteCheck)
-
LeadConvertor Events
-
HubSpot Events
What Are Webhooks In Canibuild?
- Webhooks trigger automatically when specific actions occur in the Canibuild platform.
- Each trigger sends a structured JSON payload to a configured endpoint so external systems can receive, interpret, & act on the data immediately.
- These events provide context about the user, project, address, design, builder, & system state at the moment the action occurs.
CRM & Third-Party Integrations
Webhook data can be mapped directly into external systems such as HubSpot, allowing:
- Contact creation & updates.
- Payment success tracking.
- Lifecycle stage automation.
- Revenue & attribution reporting.
Below is a colour coded break down to help you understand what is happening in each JSON Payload.
-
π¦ Event Metadata β what happened & when
-
π© User Info β who performed the action
-
π¨ Address / Project Info β where the action occurred
-
πͺ Design / Document Info β what was worked on
-
π₯ System / Status Info β state changes or outcomes
PRO App Webhook Events
Event: Address Look-up
Trigger
- Triggered when a user performs an address look-up in any way.
- Using the search bar, right-clicking on the map, unlocking a deal, or any action that creates a new look-up.
Functionality
- Sends an event once an address look-up has occurred.
What Happens
- A webhook is fired as soon as the address look-up is created.
- The payload contains address details, lookup identifiers, user information, & timestamps.
- This event is commonly used to track early user intent & property interest.
A user searches for or creates an address lookup in Canibuild (via search, map interaction, or deal unlock). This webhook records intent β it tells external systems βa user is now interested in this propertyβ and creates a reference (lookup_id) that future actions can attach to.
Sample Payload
{
π¦ "event": "address_lookup",
π¦ "timestamp": "2025-06-05T12:34:56Z",
π© "user_email": "user@canibuild.com",
π© "ip": "103.186.68.230",
π¨ "lookup_id": "LKP-123456",
π¨ "deal_id": "DL-987654",
π¨ "address": "41854 Calle Californios Lancaster, CA 93536, USA",
π¨ "addressStreet": "41854 Calle Californios",
π¨ "city": "Lancaster",
π¨ "state": "CA",
π¨ "zip": "93536",
π¨ "country": "USA"
}
Event: Design Added
Trigger
- Triggered when a user places a design on a lot after completing an address look-up in the PRO app.
Functionality
- Sends an event once a design has been placed on the selected address.
What Happens
- The webhook links the selected design to the original address look-up.
- Design name, build type, lookup link, & user details are included.
- This event signals qualified design interest & progression in the workflow.
After an address has been looked up, the user places a design on the lot. This webhook confirms active engagement β not just interest in land, but interest in a specific home design for that site.
Sample Payload
{
π¦ "event": "design_added",
π¦ "timestamp": "2025-06-05T12:35:00Z",
π© "user_email": "user@canibuild.com",
π© "ip": "103.186.68.230",
π¨ "lookup_id": "13984",
π¨ "deal_id": "DL-987654",
π¨ "address": "Lot 426, Stage 4, Oakden Rise, SA 5086, Australia",
π¨ "lookup_link": "https://app.canibuild.com/lookup/DL-987654",
πͺ "design_name": "Windermere Street 12>12",
πͺ "build_type": "house and land packages"
}
Event: Contact Added
Trigger
- Triggered when a user adds a contact in the CRM after placing a design.
Functionality
- Sends contact and project details once a contact is created.
What Happens
- Contact details such as name, email, phone number, billing address, & primary contact status are captured.
- The contact is linked to the relevant lookup, design, & user.
- This event supports CRM synchronisation & sales follow-up workflows.
The user moves into the CRM stage and adds a contact against the lookup. This converts anonymous activity into a named lead, allowing sales teams and CRMs to take ownership of the opportunity.
Sample Payload
{
π¦ "event": "contact_added",
π¦ "timestamp": "2025-06-05T12:35:00Z",
π© "user_email": "user@canibuild.com",
π© "ip": "103.186.68.230",
π© "contact_name": "John Smith",
π© "contact_phonenumber": "+1 987-(654)-0091",
π© "contact_email": "John987654@gmail.com",
π© "contact_primary": "true/false",
π© "contact_billingaddress": "380 Gibbs Ave, Newport, RI 02840, USA",
π¨ "address": "380 Gibbs Ave, Newport, RI 02840, USA",
π¨ "lookup_link": "https://app.canibuild.com/lookup/987654",
πͺ "design_name": "Windermere Street 12>12",
πͺ "build_type": "house and land packages"
}
Event: Document Generate Requested
Trigger
- Triggered when a user generates a document via the Generate option in the left panel.
Functionality
- Sends details of the generated document and associated project data.
What Happens
- A webhook is fired for every document type, including Quotes, Flyers, Site Plans, & custom documents.
- The payload includes document type, contact details, address, design, build type, & lookup link.
- This event tracks document demand & downstream engagement.
The user actively requests a generated document (quote, flyer, site plan, etc.). This webhook signals commercial intent β the lead has moved from browsing to requesting formal material.
Sample Payload
{
π¦ "event": "document_generate_requested",
π¦ "timestamp": "2025-06-05T12:35:00Z",
π© "user_email": "user@canibuild.com",
π© "ip": "103.186.68.230",
π© "contact_name": "John Smith",
π© "contact_phonenumber": "+1 987-(654)-0031",
π© "contact_email": "john@gmail.com",
π¨ "address": "380 Gibbs Ave, Newport, RI 02840, USA",
π¨ "lookup_link": "https://app.canibuild.com/lookup/987654",
πͺ "document_type": "Quote / Flyer / Siteplan",
πͺ "design_name": "Windermere Street 12>12",
πͺ "build_type": "house and land packages"
}
Event: Quote Status Updated
Trigger
- Triggered when a generated quote changes status to signature requested or signature done.
Functionality
- Sends updated quote status and pricing details.
What Happens
- The webhook reports the new quote status along with sent date, signed date, total price, & quote link (if available).
- Contact, address, design, & user context is included.
- This event is critical for tracking sales progression & contract completion.
A previously generated quote changes state β either sent for signature or fully signed.
This webhook marks a critical sales milestone and is commonly used to:
-
trigger follow-ups
-
update CRM deal stages
-
notify sales or finance teams
Sample Payload
{
π¦ "event": "quote_status_updated",
π¦ "timestamp": "2025-06-05T12:35:00Z",
π© "user_email": "user@canibuild.com",
π© "contact_name": "John Smith",
π© "contact_email": "John987654@gmail.com",
π¨ "address": "380 Gibbs Ave, Newport, RI 02840, USA",
π¨ "lookup_link": "https://app.canibuild.com/lookup/987654",
πͺ "design_name": "Windermere Street 12>12",
πͺ "build_type": "house and land packages",
π₯ "quote_status": "signature_requested / signature_done",
π₯ "quote_sent_date": "",
π₯ "quote_signed_date": "",
π₯ "quote_total_price": "",
π₯ "quote_link": "Quote PDF link"
}
LeadConvertor Webhook Events
Event: Enquire (Contact Form Submitted)
- Payload (Design Found)
- Payload (No Design Found β New LC)
- Payload (Plan to Rebuild & Existing Owner Disabled)
Trigger
- Triggered when the contact form is submitted via the LeadConvertor widget.
Functionality
- Sends enquiry details including contact information, address, selected design, and tracking data.
Effect
- A new lead is logged & builders can be notified to follow up.
What Happens
Payload (Design Found)
- A visitor submits the Canibuild enquiry form after finding a matching design.
- This webhook captures lead intent, builder attribution, rebuild context, & marketing tracking, allowing builders or CRMs to immediately action the enquiry.
Payload (No Design Found β New LC)
- A visitor submits the Canibuild enquiry form after finding a matching design.
- This webhook captures lead intent, builder attribution, rebuild context, & marketing tracking, allowing builders or CRMs to immediately action the enquiry.
Payload (Plan to Rebuild & Existing Owner Disabled)
- The LeadCapture configuration does not include rebuild ownership questions, so those values are intentionally
null. - This webhook confirms config-driven payload behaviour.
Sample Payload (Design Found)
{
π¦ "status": "complete",
π¦ "date": "2025-02-06T03:46:29.785Z",
π¦ "ip": "49.36.180.197",
π© "firstname": "John",
π© "lastname": "Doe",
π© "email": "johndoe@gmail.com",
π© "phone": "9012391230",
π¨ "address": "44 W Altadena Dr, Altadena, CA 91001, USA",
π¨ "addressStreet": "44 W Altadena Dr",
π¨ "city": "Altadena",
π¨ "state": "CA",
π¨ "zip": "91001",
π¨ "country": "USA",
π¨ "lookupLink": "https://app.canibuild.com/lookup/12345",
πͺ "designName": "Valencia",
πͺ "message": "I'm interested in Valencia for my home rebuild...",
πͺ "planToRebuild": "Yes",
πͺ "existingOwner": "Yes",
π₯ "builderId": 6,
π₯ "builderName": "ACME Homes",
π₯ "widgetReferenceName": "ACME Construction ",
π₯ "idTenant": 1,
π₯ "idLead": 462,
π₯ "idWidgetConfig": 2,
π₯ "book_consult": true
}
Sample Payload (No Design Found β New LC)
{
π¦ "status": "complete",
π¦ "date": "2025-12-10T00:34:43.484Z",
π¦ "ip": "49.43.224.225",
π© "firstname": "John",
π© "email": "Smith",
π© "phone": "000000000",
π¨ "address": "804 W Altadena Dr, Altadena, CA 91001, USA",
π¨ "lookupLink": "https://web.nonprod.cloud.verumtek.com.au/lookup/80195",
πͺ "message": "I couldn't find any matching designs...",
πͺ "designName": "",
πͺ "planToRebuild": "yes",
πͺ "existingOwner": true,
π₯ "widgetReferenceName": "ACME Construction",
π₯ "idTenant": 528,
π₯ "idLead": 1184,
π₯ "idWidgetConfig": 122
}
{
π¦ "status": "complete",
π¦ "date": "2025-12-10T00:42:13.887Z",
π© "firstname": "John",
π© "email": "John1234@gmail.com",
π¨ "address": "840 W Altadena Dr, Altadena, CA 91001, USA",
π¨ "lookupLink": "https://web.nonprod.cloud.verumtek.com.au/lookup/80199",
πͺ "designName": "",
πͺ "message": "I couldn't find any matching designs...",
πͺ "planToRebuild": null,
πͺ "existingOwner": null,
π₯ "widgetReferenceName": "token usa",
π₯ "idTenant": 528,
π₯ "idLead": 1185,
π₯ "idWidgetConfig": 122
}
Trigger
- Triggered when a user looks up an address and places a design via the LeadConvertor.
Functionality
- Sends widget-based address and design activity.
What Happens
- A widget user looks up an address and places a design.
- This event signals qualified design interest tied to a builder-branded widget.
Sample Payload
{
π¦ "date": "2024-12-19T05:43:22.526Z",
π¦ "ip": "103.186.68.230",
π¨ "address": "41854 Calle Californios Lancaster, CA 93536, USA",
π¨ "lookupLink": "https://app.canibuild.com/lookup/12345",
πͺ "designName": "Asilo - Modern",
πͺ "buildType": "House & Land",
π₯ "builderId": 6,
π₯ "builderName": "Test Builder 1",
π₯ "widgetReferenceName": "Test Token 123",
π₯ "idTenant": 1,
π₯ "idWidgetConfig": 2
}
Event: Payment
Trigger
- Triggered when a payment is made via the Bottom CTA.
Functionality
- Sends payment confirmation or cancellation details.
What Happens
- A user completes (or cancels) a payment via the widget CTA.
- This webhook confirms transaction success, linking revenue to leads, designs, & zones.
{
π¦ "status": "paid",
π¦ "date": "2025-02-06T03:46:55.386Z",
π© "userEmail": "johndoe@gmail.com",
π© "userName": "John Doe",
π¨ "address": "9 Bridgeview Cct, Bella Vista, NSW 2153, Australia",
π¨ "lookupLink": "https://app.canibuild.com/lookup/12345",
πͺ "serviceText": "Buy a Feasibility Study",
πͺ "designName": "Design X",
π₯ "amount": 10,
π₯ "currency": "aud",
π₯ "paymentIntentId": "pi_3QXcb1RBkrzbfvlU0GEDvlaR",
π₯ "idLead": 1746,
π₯ "idTenant": 1
}
Event: Login (Upcoming)
Trigger
- Triggered after a successful login via Google, OTP, One Tap Login, or other supported login methods.
Functionality
- Sends login session details with optional design and address information.
What Happens
- A user successfully logs in via Google, OTP, or widget-triggered actions.
- This webhook links authentication behaviour with designs, lookups, & lead creation.
{
π¦ "userLoggedIn": true,
π¦ "trigger": "add_to_favourites",
π© "email": "dsmith@gmail.com",
π© "name": "DaveSmith",
π© "phone": "+109090909090",
π¨ "address": "720 SOUTH 5TH TEXOMA TX 79086 USA",
π¨ "lookupLink": "https://app.canibuild.com/lookup/1487441",
πͺ "designName": "TestRandomHouse",
π₯ "source": "login",
π₯ "isNewLead": true,
π₯ "device": "macOS",
π₯ "idLead": 14530,
π₯ "idTenant": 821
}
HubSpot Webhook Events
Event: Enquire
Trigger
- Triggered when a LeadConvertor enquiry is submitted and sent to HubSpot.
What Happens
- A Canibuild enquiry is mapped into HubSpot contact properties, enabling CRM workflows.
{
π© "email": "john.doe@gmail.com",
π© "properties": {
"firstname": "John",
"lastname": "Doe",
"phone": "+1234567890",
"address": "123 Main St",
"city": "New York",
"state": "NY",
"zip": "10001",
"country": "USA",
"tracking_url": "utm_source=google.com"
}
}
Event: Payment Success
Trigger
- Triggered when a payment is completed successfully.
What Happens
- A successful payment updates HubSpot with revenue, product, & deal context.
{
π₯ "properties": {
"order_amount": 99.99,
"hs_currency_code": "USD",
"email": "john.doe@gmail.com",
"service_availed": "Premium Subscription",
"design_name": "Custom Design #123",
"address": "123 Main St, New York, NY 10001"
}
}
Event: Login
Trigger
- Triggered when a user logs in and HubSpot tracking is enabled
What Happens
- A login event is passed into HubSpot using existing contact identifiers, tying user authentication to lifecycle tracking.
{
π¦ "Lookup Link": "https://app.canibuild.com/lookup/1487441",
π© "Client Name": "davesmith",
π© "Client Email": "dsmith@gmail.com",
π© "Client Phone": "+109090909090",
π¨ "Address": "720 S 5th Texoma, Texhoma, Texas, 79086, USA",
πͺ "Design Name": "Test - Random House",
π₯ "Client Message": "undefined",