elevenlabs · AsyncAPI Specification

ElevenLabs Webhook Events

Version 1.0

The ElevenLabs Webhook system delivers event notifications to configured endpoints when specific actions occur within the platform. This includes post-call webhooks from Conversational AI conversations delivering transcripts and audio recordings, and workspace-level event notifications. Webhook payloads are signed with HMAC-SHA256 for verification.

View Spec View on GitHub AsyncAPIWebhooksEvents

Channels

/post-call-transcription
publish receivePostCallTranscription
Post-call transcription webhook
Webhook channel for receiving conversation transcription data after a Conversational AI call ends. Delivers the full transcript of the conversation.
/post-call-audio
publish receivePostCallAudio
Post-call audio webhook
Webhook channel for receiving conversation audio recordings after a Conversational AI call ends. Audio is delivered as a streaming HTTP request with chunked transfer encoding.
/call-initiation-failure
publish receiveCallInitiationFailure
Call initiation failure webhook
Webhook channel for receiving notifications when a Conversational AI call fails to initiate.
/workspace-events
publish receiveWorkspaceEvent
Workspace event webhook
Webhook channel for workspace-level events such as usage alerts, subscription changes, and administrative notifications.

Messages

PostCallTranscriptionEvent
Post-Call Transcription
Conversation transcript delivered after call completion
PostCallAudioEvent
Post-Call Audio
Conversation audio recording delivered after call completion
CallInitiationFailureEvent
Call Initiation Failure
Notification that a call failed to start
WorkspaceEvent
Workspace Event
Workspace-level event notification

Servers

https
webhookReceiver {webhookUrl}
The customer's webhook endpoint that receives event notifications from ElevenLabs.

AsyncAPI Specification

Raw ↑
asyncapi: 2.6.0
info:
  title: ElevenLabs Webhook Events
  description: >-
    The ElevenLabs Webhook system delivers event notifications to configured
    endpoints when specific actions occur within the platform. This includes
    post-call webhooks from Conversational AI conversations delivering
    transcripts and audio recordings, and workspace-level event
    notifications. Webhook payloads are signed with HMAC-SHA256 for
    verification.
  version: '1.0'
  contact:
    name: ElevenLabs Support
    url: https://help.elevenlabs.io
servers:
  webhookReceiver:
    url: '{webhookUrl}'
    protocol: https
    description: >-
      The customer's webhook endpoint that receives event notifications
      from ElevenLabs.
    variables:
      webhookUrl:
        description: >-
          The URL configured by the customer to receive webhook events.
    security:
      - hmacSignature: []
channels:
  /post-call-transcription:
    description: >-
      Webhook channel for receiving conversation transcription data after
      a Conversational AI call ends. Delivers the full transcript of the
      conversation.
    publish:
      operationId: receivePostCallTranscription
      summary: Post-call transcription webhook
      description: >-
        Delivered after a Conversational AI conversation ends, containing
        the full conversation transcript with speaker roles and timestamps.
      message:
        $ref: '#/components/messages/PostCallTranscriptionEvent'
  /post-call-audio:
    description: >-
      Webhook channel for receiving conversation audio recordings after
      a Conversational AI call ends. Audio is delivered as a streaming
      HTTP request with chunked transfer encoding.
    publish:
      operationId: receivePostCallAudio
      summary: Post-call audio webhook
      description: >-
        Delivered after a Conversational AI conversation ends, containing
        the audio recording of the conversation. Uses chunked transfer
        encoding for large audio files.
      message:
        $ref: '#/components/messages/PostCallAudioEvent'
  /call-initiation-failure:
    description: >-
      Webhook channel for receiving notifications when a Conversational AI
      call fails to initiate.
    publish:
      operationId: receiveCallInitiationFailure
      summary: Call initiation failure webhook
      description: >-
        Delivered when a Conversational AI call fails to start,
        providing error details and context.
      message:
        $ref: '#/components/messages/CallInitiationFailureEvent'
  /workspace-events:
    description: >-
      Webhook channel for workspace-level events such as usage alerts,
      subscription changes, and administrative notifications.
    publish:
      operationId: receiveWorkspaceEvent
      summary: Workspace event webhook
      description: >-
        Delivered when workspace-level events occur, such as usage
        threshold alerts or configuration changes.
      message:
        $ref: '#/components/messages/WorkspaceEvent'
components:
  securitySchemes:
    hmacSignature:
      type: httpApiKey
      in: header
      name: ElevenLabs-Signature
      description: >-
        HMAC-SHA256 signature for webhook payload verification. The
        signature is computed using the shared secret generated when
        the webhook is created. Verify this header to ensure the
        webhook was sent by ElevenLabs.
  messages:
    PostCallTranscriptionEvent:
      name: post_call_transcription
      title: Post-Call Transcription
      summary: Conversation transcript delivered after call completion
      description: >-
        Contains the full transcript of a completed Conversational AI
        conversation, including speaker roles, timestamps, and metadata.
        The webhook must return a 200 status code to be considered
        successful. Webhooks that repeatedly fail are automatically
        disabled after 10 consecutive failures.
      payload:
        $ref: '#/components/schemas/PostCallTranscriptionPayload'
    PostCallAudioEvent:
      name: post_call_audio
      title: Post-Call Audio
      summary: Conversation audio recording delivered after call completion
      description: >-
        Contains the audio recording of a completed conversation. Delivered
        as a streaming HTTP request with the transfer-encoding chunked
        header. Ensure the receiving endpoint can handle streaming requests
        and has sufficient storage capacity.
      payload:
        $ref: '#/components/schemas/PostCallAudioPayload'
    CallInitiationFailureEvent:
      name: call_initiation_failure
      title: Call Initiation Failure
      summary: Notification that a call failed to start
      description: >-
        Sent when a Conversational AI call could not be initiated,
        including the error reason and agent context.
      payload:
        $ref: '#/components/schemas/CallInitiationFailurePayload'
    WorkspaceEvent:
      name: workspace_event
      title: Workspace Event
      summary: Workspace-level event notification
      description: >-
        Generic workspace event notification for administrative and
        operational events.
      payload:
        $ref: '#/components/schemas/WorkspaceEventPayload'
  schemas:
    PostCallTranscriptionPayload:
      type: object
      properties:
        event_type:
          type: string
          const: post_call_transcription
          description: >-
            The type of webhook event.
        conversation_id:
          type: string
          description: >-
            The unique identifier of the conversation.
        agent_id:
          type: string
          description: >-
            The identifier of the agent involved in the conversation.
        transcript:
          type: array
          description: >-
            The full conversation transcript.
          items:
            type: object
            properties:
              role:
                type: string
                description: >-
                  The speaker role.
                enum:
                  - agent
                  - user
              message:
                type: string
                description: >-
                  The spoken message text.
              timestamp:
                type: number
                description: >-
                  Timestamp in seconds from conversation start.
        metadata:
          type: object
          description: >-
            Additional metadata about the conversation.
          properties:
            duration_seconds:
              type: number
              description: >-
                Total conversation duration in seconds.
            started_at:
              type: string
              format: date-time
              description: >-
                Timestamp when the conversation started.
            ended_at:
              type: string
              format: date-time
              description: >-
                Timestamp when the conversation ended.
    PostCallAudioPayload:
      type: object
      properties:
        event_type:
          type: string
          const: post_call_audio
          description: >-
            The type of webhook event.
        conversation_id:
          type: string
          description: >-
            The unique identifier of the conversation.
        agent_id:
          type: string
          description: >-
            The identifier of the agent involved in the conversation.
        audio_format:
          type: string
          description: >-
            The format of the audio data.
        audio_data:
          type: string
          description: >-
            The audio recording data, delivered via chunked transfer
            encoding.
    CallInitiationFailurePayload:
      type: object
      properties:
        event_type:
          type: string
          const: call_initiation_failure
          description: >-
            The type of webhook event.
        agent_id:
          type: string
          description: >-
            The identifier of the agent that failed to start a call.
        error:
          type: string
          description: >-
            Description of the error that prevented call initiation.
        timestamp:
          type: string
          format: date-time
          description: >-
            Timestamp when the failure occurred.
    WorkspaceEventPayload:
      type: object
      properties:
        event_type:
          type: string
          description: >-
            The type of workspace event.
        workspace_id:
          type: string
          description: >-
            The identifier of the workspace.
        data:
          type: object
          description: >-
            Event-specific data payload.
          additionalProperties: true
        timestamp:
          type: string
          format: date-time
          description: >-
            Timestamp when the event occurred.