> ## Documentation Index
> Fetch the complete documentation index at: https://docs.stackone.com/llms.txt
> Use this file to discover all available pages before exploring further.

# ElevenLabs Webhook Setup Guide

> Configure ElevenLabs to deliver events to StackOne.

## Prerequisites

The connector should already be set up, with a Connector Profile and a Linked Account. See [Getting Started](/connectors/elevenlabs#getting-started) on the ElevenLabs connector page.

<section data-guide-section data-guide-scopes="">
  <h2>Register the StackOne webhook in ElevenLabs</h2>

  <p>This connector uses manual webhooks. You create one webhook endpoint in ElevenLabs that points at StackOne, subscribe it to the workspace events you need, and select it as the post-call webhook for agent events. ElevenLabs sends no verification ping; events are delivered as soon as the endpoint exists.</p>

  <Steps>
    <Step title="Retrieve the StackOne Native Webhook URL">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>The <strong>Native Webhook URL</strong> is generated once your ElevenLabs account has been linked in StackOne.</p>

        <ul>
          <li>Open the linked account in StackOne.</li>
          <li>Copy the value from <strong>Native Webhook URL</strong>. It is unique to this account, so copy it exactly.</li>
        </ul>
      </div>
    </Step>

    <Step title="Open Webhooks in ElevenLabs">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Sign in to your <a href="https://elevenlabs.io/app/sign-in" target="_blank" rel="noopener noreferrer">ElevenLabs account</a>, switch to <strong>ElevenAPI</strong> with the platform switcher, then click <strong>Webhooks</strong> in the sidebar and click <strong>Add endpoint</strong>.</p>

        <img src="https://mintcdn.com/stackone-60/W0fV4KStEczYCt6v/connectors/elevenlabs/images/events-open-webhooks.png?fit=max&auto=format&n=W0fV4KStEczYCt6v&q=85&s=009a7314da36835b690508c2b06c0d2e" alt="ElevenAPI Webhooks page with Webhooks in the sidebar and the Add endpoint button highlighted" width="1280" height="800" data-path="connectors/elevenlabs/images/events-open-webhooks.png" />
      </div>
    </Step>

    <Step title="Add the endpoint and select events">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>In the <strong>Add endpoint</strong> dialog, paste the StackOne <strong>Native Webhook URL</strong> into <strong>Endpoint URL</strong> and optionally add a <strong>Description</strong>. Under <strong>Select events to listen to</strong>, tick the workspace events you want delivered, then click <strong>Add endpoint</strong>.</p>

        <ul>
          <li><strong>Voice removal notice</strong> delivers the voice removal events.</li>
          <li><strong>Transcription completed</strong> delivers asynchronous speech-to-text results.</li>
          <li><strong>Image & Video API generation completed</strong> delivers image and video generation results.</li>
        </ul>

        <img src="https://mintcdn.com/stackone-60/W0fV4KStEczYCt6v/connectors/elevenlabs/images/events-add-endpoint.png?fit=max&auto=format&n=W0fV4KStEczYCt6v&q=85&s=8036988fa920121c3ccc27e56cc1ba09" alt="Add endpoint dialog with the Endpoint URL field and the three event options highlighted" width="1280" height="800" data-path="connectors/elevenlabs/images/events-add-endpoint.png" />
      </div>
    </Step>

    <Step title="Save the webhook secret">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>ElevenLabs then shows the <strong>Webhook secret</strong> dialog. Click <strong>Copy to Clipboard</strong> and store the secret securely for use later. ElevenLabs signs every delivery with it in the `ElevenLabs-Signature` header.</p>

        <ul>
          <li>The webhook secret is only displayed once and cannot be retrieved later.</li>
        </ul>

        <img src="https://mintcdn.com/stackone-60/W0fV4KStEczYCt6v/connectors/elevenlabs/images/events-webhook-secret.png?fit=max&auto=format&n=W0fV4KStEczYCt6v&q=85&s=64de76cfc7b0a5ca7fc12f200ba4716e" alt="Webhook secret dialog with the secret hidden and the Copy to Clipboard button highlighted" width="1280" height="800" data-path="connectors/elevenlabs/images/events-webhook-secret.png" />
      </div>
    </Step>

    <Step title="Check the endpoint is enabled">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>The new endpoint appears in the <strong>Webhooks</strong> list. Make sure the <strong>ENABLED</strong> toggle is on.</p>

        <img src="https://mintcdn.com/stackone-60/W0fV4KStEczYCt6v/connectors/elevenlabs/images/events-endpoint-enabled.png?fit=max&auto=format&n=W0fV4KStEczYCt6v&q=85&s=9014b5cda6085b13886c86e77957c8c1" alt="Webhooks list with the new endpoint and its ENABLED toggle highlighted" width="1280" height="800" data-path="connectors/elevenlabs/images/events-endpoint-enabled.png" />
      </div>
    </Step>
  </Steps>
</section>

<section data-guide-section data-guide-scopes="">
  <h2>Send agent post-call events to StackOne</h2>

  <p>Agent call events use the workspace post-call webhook, which is set in the ElevenAgents settings rather than in the endpoint's event list. Skip this section if you do not use ElevenLabs agents.</p>

  <Steps>
    <Step title="Open the post-call webhook setting">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Switch to <strong>ElevenAgents</strong> with the platform switcher and open the agents <strong>Settings</strong> page. In <strong>Post-Call Webhook</strong>, click <strong>Select Webhook</strong> and choose the endpoint you created.</p>

        <ul>
          <li>Agents can override the workspace post-call webhook on their Security tab.</li>
        </ul>

        <img src="https://mintcdn.com/stackone-60/W0fV4KStEczYCt6v/connectors/elevenlabs/images/events-post-call-webhook.png?fit=max&auto=format&n=W0fV4KStEczYCt6v&q=85&s=f3aa5005c5385967c077befe797fadae" alt="Agents settings page with the Select Webhook button in the Post-Call Webhook section highlighted" width="1280" height="800" data-path="connectors/elevenlabs/images/events-post-call-webhook.png" />
      </div>
    </Step>

    <Step title="Select the post-call events">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Under <strong>Webhook Events</strong>, tick the events to send. At least one event must be selected. The change saves automatically.</p>

        <ul>
          <li><strong>Transcript</strong> sends conversation analysis and metadata.</li>
          <li><strong>Audio</strong> sends a secondary webhook with the audio data for each conversation.</li>
          <li><strong>Call Initiation Failures</strong> sends an event when telephony calls fail to initiate or are rejected by concurrency or daily call limits.</li>
          <li><strong>Answering Machine Detection</strong> is not mapped by StackOne, so leave it unticked.</li>
        </ul>

        <img src="https://mintcdn.com/stackone-60/W0fV4KStEczYCt6v/connectors/elevenlabs/images/events-post-call-events.png?fit=max&auto=format&n=W0fV4KStEczYCt6v&q=85&s=a217317e9deb49198a1f5f2e6a3a0823" alt="Post-Call Webhook section with Transcript, Audio and Call Initiation Failures checked" width="1280" height="800" data-path="connectors/elevenlabs/images/events-post-call-events.png" />
      </div>
    </Step>
  </Steps>
</section>

<section data-guide-section data-guide-scopes="">
  <h2>Available webhook events</h2>

  <p>The following ElevenLabs events are delivered to StackOne. Only events you select in ElevenLabs are sent; ElevenLabs does not deliver events you did not subscribe to.</p>

  <Steps>
    <Step title="Agent events">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Events sent through the post-call webhook when an agent conversation ends.</p>

        <ul>
          <li><strong>Post-Call Transcription</strong> (`post_call_transcription`) — Fired when an agent call has finished and analysis is complete, with the transcript, analysis and metadata</li>
          <li><strong>Post-Call Audio</strong> (`post_call_audio`) — Fired with the full audio of a finished agent call as base64-encoded MP3</li>
          <li><strong>Call Initiation Failure</strong> (`call_initiation_failure`) — Fired when an outbound agent call fails to start, with the failure reason</li>
        </ul>
      </div>
    </Step>

    <Step title="Voice events">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Events sent when a Voice Library voice used in the workspace changes status.</p>

        <ul>
          <li><strong>Voice Removal Notice</strong> (`voice_removal_notice`) — Fired when a shared library voice you use is scheduled for removal</li>
          <li><strong>Voice Removal Notice Withdrawn</strong> (`voice_removal_notice_withdrawn`) — Fired when a scheduled shared voice removal is canceled</li>
          <li><strong>Voice Removed</strong> (`voice_removed`) — Fired when a shared library voice has been removed and can no longer be used</li>
        </ul>
      </div>
    </Step>

    <Step title="Speech to text and generation events">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Events sent when asynchronous work finishes.</p>

        <ul>
          <li><strong>Speech to Text Transcription</strong> (`speech_to_text_transcription`) — Fired when an asynchronous speech-to-text request made with the webhook parameter finishes</li>
          <li><strong>Image and Video Generation</strong> (`flows_generation`) — Fired when an Image & Video API generation completes or fails</li>
        </ul>
      </div>
    </Step>
  </Steps>
</section>

<section data-guide-section data-guide-scopes="">
  <h2>Delivery format</h2>

  <p>Details of how ElevenLabs delivers events to StackOne.</p>

  <Steps>
    <Step title="One event per request">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Each request carries a single JSON event with `type`, `event_timestamp` and `data`. StackOne routes it to the matching event handler by `type`.</p>
      </div>
    </Step>

    <Step title="Retries and auto-disable">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>A delivery that does not return 200 is retried with increasing delays. ElevenLabs disables a webhook after 10 or more consecutive failures when the last successful delivery was more than 7 days ago, so check the <strong>ENABLED</strong> toggle if events stop arriving.</p>
      </div>
    </Step>
  </Steps>
</section>

## Verify

Your Connector should now be able to receive and process events. Try triggering an event and you should see an Event appear in the Connector logs.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.