Skip to contentSkip to navigationSkip to topbar
On this page
Looking for more inspiration?Visit the
(information)
You're in the right place! Segment documentation is now part of Twilio Docs. The content you are used to is still here—just in a new home with a refreshed look.

Extensible Webhook Destination


Destination Info
  • Accepts Page, Alias, Group, Identify and Track calls.
  • Refer to it as Extensible Webhook in the Integrations object
  • This integration is partner owned. Please reach out to the partner's support for any issues.

Segment's Extensible Webhook destination lets you send custom data payloads to any webhook endpoint. With support for flexible payload configuration, multiple authentication methods, and real-time data flow, Extensible Webhooks can help you integrate with internal systems or tools not covered by Segment's standard destinations.

Segment maintains this destination. For any issues, contact Segment Support.


Overview

overview page anchor

To set up and use Extensible Webhooks, you'll follow these four main stages:

  1. Create the new destination: Add the Extensible Webhook destination to your workspace and link it to a source.
  2. Set up authentication: Configure the required authentication settings to activate the destination.
  3. Map and configure data: Define how data flows from Segment to your webhook endpoints by mapping fields and customizing the payload.
  4. Enable the destination: Complete the setup by enabling the destination to start sending data.

1. Create a new Extensible Webhooks destination

1-create-a-new-extensible-webhooks-destination page anchor
  1. From your workspace's Destination catalog page(link takes you to an external page) search for "Extensible Webhook."
  2. Select Extensible Webhook and Click Add destination.
  3. Select an existing source to connect to the destination.
  4. Enter a name for the destination and click Create destination.

By default, the new destination is disabled. You'll enable it in the next section.


2. Set up authentication

2-set-up-authentication page anchor

Before you can enable the new destination, you'll first need to choose an authentication option:

  1. On the new destination's page, navigate to Settings > Authentication.
  2. Choose one of the following authentication options:
    • No authentication: Segment doesn't manage authentication.
    • Bearer token: Segment automatically includes a bearer token in the API request header.
    • OAuth 2.0: Segment manages the OAuth token lifecycle, including fetching and refreshing tokens.
  3. For OAuth 2.0, select one of the following flows:
    • Authorization code, which requires the following fields:
      • Client ID
      • Client secret
      • Authorize URL
      • Access Token URL
      • Refresh Token URL (usually the same as the Access Token URL)
      • Scopes
    • Use client credentials, which requires the following:
      • Client ID
      • Client Secret
      • Access Token URL
      • Refresh Token URL (usually the same as the Access Token URL)
      • Scopes
  4. Save the settings, then click Connect to activate the connection.

You've now completed setup, and your destination is ready for event mapping and data configuration.


3. Mapping and data configuration

3-mapping-and-data-configuration page anchor

With authentication in place, you can now define how data flows from Segment to your webhook endpoints. Follow these steps to configure mappings and test the setup:

  1. From your destination's settings page, click Mappings, then +New Mapping.
  2. On the Activate data screen, select the action you want to use.
  3. Define your event trigger, then click Load Test Event From Source.
  4. In the Map field section, define the API endpoint (URL) and the HTTP method (POST, PATCH, PUT).
  5. Map payload fields:
    • Map individual fields or select a specific object from a test event. Segment supports batching the entire payload but not specific objects within the payload.
    • (Optional) Use a destination insert function to transform the payload according to the API specification.
  6. Configure optional parameters:
    • Batch size: Specify the batch size if the API supports batching entire payloads.
    • Headers: Add required headers (for example, content-type, which is required, defaults to application/json).
  7. Send a test event to validate the setup. Segment logs the response from your destination so that you can debug any errors (which are usually related to the payload configuration or authentication issues).
  8. Click Save, then click Next.
  9. Give your mapping a name, then click Save and enable.

Your mapping is now enabled. Go to the next section to finish setup.


4. Enable the destination

4-enable-the-destination page anchor

Follow these steps to enable your new destination:

  1. Return to Basic Settings in your destination's Settings tab.
  2. Toggle Enable Destination to on, then click Save Changes.

Your Extensible Webhook destination is now set up and ready to send data to your webhook endpoints.


Integrations with Extensible Webhook destination

integrations-with-extensible-webhook-destination page anchor

The following recipes show how to integrate external tools with your Segment workspace using the Extensible Webhook destination. Each guide walks you through configuring your extensible webhook destination and how to set up your custom destinations.


You can send computed traits and audiences generated using Engage to this destination as a user property. To learn more about Engage, schedule a demo(link takes you to an external page).

For user-property destinations, an identify call is sent to the destination for each user being added and removed. The property name is the snake_cased version of the audience name, with a true/false value to indicate membership. For example, when a user first completes an order in the last 30 days, Engage sends an Identify call with the property order_completed_last_30days: true. When the user no longer satisfies this condition (for example, it's been more than 30 days since their last order), Engage sets that value to false.

When you first create an audience, Engage sends an Identify call for every user in that audience. Later audience syncs only send updates for users whose membership has changed since the last sync.

(information)

Real-time to batch destination sync frequency

Real-time audience syncs to Extensible Webhook may take six or more hours for the initial sync to complete. Upon completion, a sync frequency of two to three hours is expected.


Segment lets you change these destination settings from the Segment app without having to touch any code.

Property nameTypeRequiredDescription
Shared Secretpassword

Optional

If set, Segment will sign requests with an HMAC in the "X-Signature" request header. The HMAC is a hex-encoded SHA1 hash generated using this shared secret and the request body.