Skip to main content
A webhook tells your systems when something happens on a call. Fluents sends a JSON POST to a URL you own, and carries on. Nothing waits for your answer. Use one to log calls, push transcripts into a warehouse, sync results to a CRM, or kick off work of your own after a call ends.

Create a webhook

Go to Webhooks and click Create Webhook. Click Add to save.

Attach it to an agent

Creating a webhook is not enough on its own. Open the agent, go to Advanced Settings, and add the webhook there.
An agent has one webhook. If you need one endpoint for transcripts and another for post-call results, subscribe the single webhook to both events and branch on the type field at your end.

What you can subscribe to

Post-Call Processing Completed is the one most people actually want. Phone Call Ended fires when the call stops, which is before the insights and results exist. If you read call results on Ended, they will often be empty.

What arrives

A POST with a JSON body. The top level is consistent across events.
Only payload changes shape between event types. Branch on type and read payload accordingly.

Securing your endpoint

Fluents does not sign webhook requests. There is no HMAC and no shared secret, so your endpoint cannot prove a request came from us. Treat the URL as publicly reachable by anyone who learns it.The Signature Secret field on Actions does not change this. It is stored and never used.
What to do instead:
  • Put a long random token in the URL and treat it as the credential.
  • Validate everything you receive, and ignore anything unexpected.
  • Make handling idempotent, so a repeated event does not double-charge or double-book anything.
  • Put your own auth in front of the endpoint if the systems behind it are sensitive.

Webhooks or actions

A webhook notifies. An action asks a question and waits for the answer. If the agent needs to say something based on the response, you want an action. If you just need your systems to know what happened, you want a webhook.

Where to go next

  • Call your API mid-conversation instead: Actions
  • What post-call processing produces: Post-call
  • Read the calls yourself: Calls
  • Keys for your backend: Get API key