Skip to main content

Webhooks

The Webhook node fires an HTTP POST to a URL when the conversation ends. Use it to send transcripts, trigger CRM updates, create support tickets, or notify external systems. The Webhook node is a post-processing node — it runs after the conversation ends and receives the full conversation data. You can chain it after Structured Output to also send extracted fields.

Adding a Webhook node

  1. Drag the Webhook node from the sidebar (Post-Processing category) onto the canvas
  2. Connect the End node’s output to the Webhook node’s in handle
  3. Set the transferTarget URL

Parameters

ParameterTypeRequiredDescription
transferTargetstringThe HTTP endpoint URL to POST to

Payload

The webhook receives a POST request with this JSON body:
{
  "conversation": [
    {
      "type": "user",
      "text": "I need help with my bill",
      "timestamp": "2025-01-01T12:00:00.000Z"
    },
    {
      "type": "assistant",
      "text": "I'd be happy to help with your billing question.",
      "timestamp": "2025-01-01T12:00:01.000Z"
    }
  ]
}
When chained after a Structured Output node, the payload also includes the extracted fields:
{
  "structuredOutput": {
    "customerName": "Jane Smith",
    "issueType": "billing",
    "resolved": false
  }
}

Response handling

Voiceblox checks the HTTP response status. The call proceeds regardless of the webhook response — failures are logged but don’t crash the session.

Typical patterns

Transcript only:
[End] ──▶ [Webhook]
Structured data + transcript:
[End] ──▶ [Structured Output] ──▶ [Webhook]

Common use cases

  • CRM update — POST conversation summary to Salesforce or HubSpot
  • Support ticket — Create a Zendesk ticket with the transcript
  • Analytics — Send conversation data to your data warehouse
  • Notifications — Alert your team via Slack or email webhook