> ## 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.

# Twilio Webhook Setup Guide

> Configure Twilio 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/twilio#getting-started) on the Twilio connector page.

<section data-guide-section data-guide-scopes="">
  <h2>How Event Streams is configured</h2>

  <p>No configuration is required in Twilio. StackOne creates a Sink and a Subscription for<br />each event type you enable, and removes them when you disconnect the account.</p>

  <Steps>
    <Step title="Do not edit or delete them in Twilio">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>They are listed under <strong>Monitor > Event Streams</strong>, with "StackOne" in the<br />description. Deleting one, or changing its destination, stops those events until<br />you reconnect the account.</p>
      </div>
    </Step>
  </Steps>
</section>

<section data-guide-section data-guide-scopes="">
  <h2>Before you enable events</h2>

  <p>Two things determine whether the subscription can be created.</p>

  <Steps>
    <Step title="Confirm your region">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Check the region of the Twilio account or API Key used on this connection. Event<br />Streams runs in US1 (United States) only, so a connection based in Ireland (IE1)<br />or Australia (AU1) cannot receive events.</p>
      </div>
    </Step>

    <Step title="Credentials used to create the subscription">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>StackOne uses the credentials already on the connection, so nothing further is<br />needed.</p>

        <ul>
          <li><strong>Account SID and Auth Token</strong> — used directly.</li>
          <li><strong>API Key</strong> — the Key SID and Secret are used, and the key must belong to US1.</li>
          <li><strong>OAuth 2.0</strong> — the access token is used. Twilio does not publish the scopes Event Streams requires, so if setup fails with a permissions error, review the Event Streams scopes granted to your OAuth application.</li>
        </ul>
      </div>
    </Step>
  </Steps>
</section>

<section data-guide-section data-guide-scopes="">
  <h2>How events are delivered</h2>

  <p>Twilio delivers events in CloudEvents format, as a JSON array in which each element is<br />one event.</p>

  <ul>
    <li>Each event carries a unique `id`, which you can use to discard duplicates.</li>
    <li>Delivery is at-least-once, so an event may arrive more than once.</li>
    <li>Twilio retries a failed delivery for up to four hours.</li>
    <li>Twilio expects a response within five seconds and treats a slower reply as a failure.</li>
    <li>Events are sent from the Twilio IP ranges `35.90.102.128/25`</li>
  </ul>
</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.