Webhooks
List supported webhook events and manage the delivery portal.
AgentStack supports these event types: contact.created, contact.updated, conversation.note_created, and form.submitted. When an integration needs the current list of event types, retrieve the public event-type endpoint. Then configure delivery through the portal URL for that agent. You need an admin-scoped REST key to create this portal URL. Generate the key only from a trusted backend, or from an administrative tool.
POST /agents/{id}/webhooks/portal-url returns 404 AGENT_NOT_FOUND when the agent is unavailable to the organization or scheduled for deletion. A failure to generate the managed portal URL returns 500 INTERNAL_ERROR. Retry a 500 with backoff. Do not replace the agent ID only because the portal provider failed.
The agent's webhook application provisions delivery only when needed. The application sends each event immediately. It does not wait for the source operation to finish. The source operation does not wait for delivery to finish either.
As a result, a contact or a form submission can succeed even when a downstream endpoint later fails. Monitor delivery in the portal. Make each receiving endpoint retry safely on its own.
Event payloads use a { type, timestamp, data } envelope. Contact data varies by source. Inspect real test deliveries. Do not assume that one schema fits every contact.
A form.submitted payload includes the form name, submission time, values, and a verified flag. Treat the verified flag as server-side webhook information, not as proof from a browser callback. Before you change downstream records, verify requests with the mechanism that the delivery provider supports.