Qondor supports webhooks so you can pipe events from the platform straight into the tools your team uses. This article covers every available webhook, what fires it, and a few ways people actually use them.
Webhooks are set up by the Qondor team. When you get in touch, send us:
The endpoint URL you want Qondor to POST to
Which topics you need (one or several)
Whether it should cover all your offices, a specific office group, or a single office
An authentication header key and value if your endpoint requires it
HOW WEBHOOKS WORK
Each webhook is an HTTP POST to your endpoint with a JSON body. Payloads use camelCase and always include three fields at the top:
webhookId: a unique UUID per event, useful for deduplication if your endpoint receives the same event more than oncetimestamp: when the event occurred, in UTCtopic: the webhook type, for exampleOfferSentV1
Delivery is async, so expect a short delay between the event in Qondor and the POST arriving at your endpoint.
AVAILABLE WEBHOOKS
OFFER SENT
Triggered when an offer is sent to a customer.
Common uses: log the send event in your CRM and start a follow-up task; notify your sales team in Slack or Teams; update a deal stage to "Offer sent".
Request body
{
"webhookId": "84f48600-cdfc-477e-8257-916f9f3f7094",
"timestamp": "2024-10-18T07:32:12.3678338Z",
"topic": "OfferSentV1",
"projectId": 1,
"projectNo": "[Project No]",
"projectName": "[Project Name]",
"projectMainCustomerContactPersonEmail": "[Customer ContactPerson Email]",
"offerId": 1,
"offerHeading": "[Offer Heading]",
"offerLanguage": "nb-NO",
"offerValidUntil": "2024-11-01T08:32:12.3678146",
"offerLink": "https://app.qondor.com/CustomerWeb/Home?projectId=1",
"directLink": "https://app.qondor.com/CustomerWeb/Home?projectId=1&offerId=1",
"customerId": 1,
"customerName": "[Customer Name]",
"customerExternalReference": "[Customer External Reference]"
}
OFFER ANSWERED
Triggered when a customer responds to an offer.
Common uses: alert the account manager and trigger an approval workflow; update the deal to "Accepted" or "Declined" in your CRM; kick off onboarding steps automatically.
Request body
{
"webhookId": "859c49b3-55ba-46b6-95b2-038a34352e56",
"timestamp": "2024-10-18T07:30:27.6387497Z",
"topic": "OfferAnsweredV1",
"projectId": 1,
"projectNo": "[Project No]",
"projectName": "[Project Name]",
"projectMainCustomerContactPersonEmail": "[Customer ContactPerson Email]",
"offerId": 1,
"offerHeading": "[Offer Heading]",
"offerLanguage": "nb-NO",
"offerValidUntil": "2024-11-01T08:30:27.6387301",
"offerLink": "https://app.qondor.com/CustomerWeb/Home?projectId=1",
"directLink": "https://app.qondor.com/CustomerWeb/Home?projectId=1&offerId=1",
"customerId": 1,
"customerName": "[Customer Name]",
"customerExternalReference": "[Customer External Reference]"
}
OFFER COMMENT TO CUSTOMER CREATED
Triggered when a comment is sent to a customer from Adminweb.
Common uses: forward comments to a team channel so account managers stay in the loop; log the touchpoint on the CRM timeline.
Request body
{
"webhookId": "db44e0f6-b06a-4070-9740-efd89ceaedfb",
"timestamp": "2024-10-18T07:29:14.7362436Z",
"topic": "OfferCommentToCustomerCreatedV1",
"projectId": 1,
"projectNo": "[Project No]",
"projectName": "[Project Name]",
"projectMainCustomerContactPersonEmail": "[Customer ContactPerson Email]",
"offerId": 1,
"offerHeading": "[Offer Heading]",
"offerLanguage": "nb-NO",
"offerLink": "https://app.qondor.com/CustomerWeb/Home?projectId=1",
"directLink": "https://app.qondor.com/CustomerWeb/Home?projectId=1&offerId=1#feedback?rootItemId=1",
"customerId": 1,
"customerName": "[Customer Name]",
"customerExternalReference": "[Customer External Reference]",
"commentedOn": "[Product or Group Name]",
"commentText": "[Comment Text]"
}
PROJECT CREATED
Triggered when a new project is created in Qondor.
Common uses: create a matching record in your ERP or CRM; provision a Slack or Teams space for the project team; set up folder structures or task boards.
Request body
{
"webhookId": "7930960d-66c4-4db0-8f73-cb0564fa854b",
"timestamp": "2024-10-18T07:32:46.3737922Z",
"topic": "ProjectCreatedV1",
"officeId": 1,
"officeInternalName": "[Office Name]",
"officeExternalReference": "[Office External Reference]",
"projectId": 1,
"projectNo": "[Project No]",
"projectName": "[Project Name]"
}
PROJECT STATUS CHANGED
Triggered when the status of a project changes. Possible values: Pending (1), Confirmed (2), Finished (3), Cancelled (4).
Common uses: when a project is confirmed, trigger invoicing or send a welcome pack; when finished, archive records and send a customer satisfaction survey; when cancelled, release resources and update your CRM.
Request body
{
"webhookId": "ae8532f2-b332-4161-943e-25fdc8d9f7e8",
"timestamp": "2024-10-18T07:33:04.8506613Z",
"topic": "ProjectStatusChangedV1",
"officeId": 1,
"officeInternalName": "[Office Name]",
"officeExternalReference": "[Office External Reference]",
"projectId": 1,
"projectNo": "[Project No]",
"projectName": "[Project Name]",
"oldStatus": 1,
"oldStatusText": "Pending",
"newStatus": 2,
"newStatusText": "Confirmed",
"customerId": 1,
"customerName": "[Customer Name]",
"customerExternalReference": "[Customer External Reference]"
}
PING
Sends a minimal payload with no event data. Use this to confirm your endpoint is reachable and correctly configured before subscribing to live events.
Request body
{
"webhookId": "ab744426-839a-4d4d-97aa-514e06870bb8",
"timestamp": "2024-10-18T07:32:30.3857483Z",
"topic": "PingV1"
}