Back to documentation

Outbound webhooks

Send the currently supported quote approval event to an HTTPS endpoint configured by a workspace administrator.

Current event

The backend currently sends quote.approved after a quote is approved. Event subscriptions and other event types are not implemented on this endpoint.

{
  "event": "quote.approved",
  "timestamp": "<ISO-8601 timestamp>",
  "payload": {
    "id": 123,
    "quote_number": "<quote number>",
    "title": "<quote title>",
    "total_amount": 0,
    "currency": "<currency>",
    "customer_email": "<customer email>",
    "customer_name": "<customer name>",
    "approved_at": "<ISO-8601 timestamp>"
  }
}

Delivery limits

  • Delivery is a best-effort HTTPS POST with a 10-second timeout.
  • There is no durable retry queue, delivery history, event subscription list, or signing secret.
  • The connectivity test sends a separate test.ping payload; it does not simulate quote approval.
  • Do not use an unsigned webhook payload as an authenticated instruction. Verify consequential actions against an authenticated Fortifiers record.

Configure an endpoint

Workspace administrators can save an HTTPS destination in the Webhooks page. Before each request, Fortifiers resolves the hostname, rejects non-public addresses, and pins the connection to the checked addresses; redirects are disabled and TLS verification stays enabled. Use the test action to check endpoint reachability before enabling it.

A connectivity test is not a delivery guarantee. The recipient should handle duplicate notifications safely and verify any follow-up action against an authenticated Fortifiers record.