Webhooks
RoadmapEvent-driven delivery of quote lifecycle events to your agent. Listen instead of poll.
Status
Webhooks are on the roadmap. The intent is to ship in lockstep with the REST API GA. If your integration plan depends on event-driven delivery before the public release, talk to us. Engagements with that requirement get prioritized.
Planned event surface
quote.created: a new quote was created (UI or API).quote.line_item_changed: line items added, removed, or quantity-changed.quote.approval_requested: discount or term crossed an approval threshold, routed to a specific approver role.quote.approved: approver decided. Payload includes the (approver, decision, scope) tuple.quote.sent: quote was sent to the customer (document generated, eSignature link issued).quote.signed: customer signed.quote.expired: quote passed its expiration without being signed.
Delivery model
- HMAC signature on every payload (SHA-256 of body with per-tenant signing secret), so your agent verifies authenticity.
- Retries with exponential backoff for non-2xx responses, up to 24 hours.
- Idempotency key in every payload, so your agent dedupes by event ID, not by payload hash.
- Ordered per quote: events for the same quote ID are delivered in causal order. Cross-quote events may interleave.
Why this matters for agent-fronted mode
External agents that pre-load quotes for reps in Slack don’t want to poll the API every minute. They want to know when a quote crossed an approval threshold so they can ping the right approver in real time, or when a quote got signed so they can update the CRM and start the provisioning workflow. Webhooks make that work without each agent re-implementing a polling loop.
Request a webhook design partner
We’re scoping the v1 event payload schemas with early customers. If you’re building an agent that would benefit from being a design partner, start a conversation.