Developers
Webhooks
The API is how you talk to Waymarq. Webhooks are how Waymarq talks to you — a signed HTTP request to a URL you control, sent the moment something happens, so another system can stay in step without asking us for changes.
Events
quote.acceptedA client accepted a quote through their no-login link.
opportunity.stage_changedA deal moved stage — including the moment it's won, once the project has been created.
project.status_changedA project moved between planning, active, on hold, or completed.
task.completedA task was marked done. Only completion fires — not every intermediate move, which subscribers would just filter out anyway.
support_ticket.receivedA client submitted a request through their support intake link, before anyone has looked at it.
Suggested use cases
Post a Slack/Teams message when a client accepts a quote
Subscribe to quote.accepted and post straight to a channel — no polling, and the win is announced the moment it happens.
Sync finished work into your own billing or accounting system
Subscribe to task.completed (or watch statements through the API) to keep an external ledger in step without a nightly export.
Trigger a build or deploy pipeline
Fire a webhook into a CI system when a specific task completes — the same mechanism that would post to Slack can just as easily hit a build trigger.
Route a new support ticket straight to your inbox or ticketing tool
Subscribe to support_ticket.received instead of polling GET /support/tickets — you find out the moment a client reports something.
Anything that accepts a URL works, including Zapier, Make and n8n — usually the quickest route to connecting Waymarq to something we don't integrate with natively.
Delivery and signing
Every delivery is signed with HMAC-SHA256 (an X-Waymarq-Signature header) so you can verify it genuinely came from Waymarq, retried with a growing delay if your endpoint is briefly unreachable, and logged in full — request and response both — so you can see exactly what was sent and what came back. Ten consecutive failures switches the endpoint off automatically rather than retrying a dead URL forever. Plain http:// is accepted for local addresses, so you can develop against your own machine without a tunnel.
Set them up under Organisation settings → Integrations, including a "Send test" button that goes through the exact same delivery path as a real event.
Read the full reference
Payload shapes for every event, and signature verification with working code in PHP, Node and Python.