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.accepted

    A client accepted a quote through their no-login link.

  • opportunity.stage_changed

    A deal moved stage — including the moment it's won, once the project has been created.

  • project.status_changed

    A project moved between planning, active, on hold, or completed.

  • task.completed

    A task was marked done. Only completion fires — not every intermediate move, which subscribers would just filter out anyway.

  • support_ticket.received

    A 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.

For AI agents/webhook-docs