Skip to contentSkip to navigationSkip to topbar
Page tools
Useful for sharing or LLM
Accelerate development with AI

On this page
Looking for more inspiration?Visit the

Slack destination


(new)

Beta

Data Destinations is currently available as a Private Beta product and the information contained in this document is subject to change. Data Destinations is not a HIPAA Eligible Service or PCI compliant and should not be enabled in workflows that are subject to HIPAA or PCI. To learn more, see Private beta legal information.

Slack(link takes you to an external page) is a team messaging platform. This destination posts events into a Slack channel through a Slack Incoming Webhook, for real-time, human-readable notifications.

Destination overview

destination-overview page anchor
  • Category: Customer success, Communication
  • Release status: Beta
  • Authentication: Incoming webhook URL
  • Regional availability: US1
Join the Data Destinations private beta

Get early access to native destinations for data warehouses, observability tools, and event pipelines.

Sign up(link takes you to an external page)

Eligible events

eligible-events page anchor

You can send all Event Types supported by Event Streams to Slack. There's no user-identifier restriction for this destination.

(warning)

Warning

Slack limits Incoming Webhooks to roughly 1 request per second, and this destination sends exactly one message per event with no batching. Use it for low-volume, high-signal alerting, not for high-throughput event streams.


Before you set up a Slack destination, make sure you have:

  • A Slack workspace where you can create an app.
  • A Slack app with the Incoming Webhooks feature turned on, and a webhook added to your workspace that points to the channel you want to receive events. Slack generates a unique Webhook URL (https://hooks.slack.com/services/T.../B.../XXXX...) when you do this. This destination doesn't require an OAuth install or bot token.

(information)

Info

See Set up a destination for the full UI and Destinations API setup flow common to every destination type.

To create a Slack destination in the Twilio Console:

  1. From your Slack account, gather the settings listed in Destination settings.
  2. In the Twilio Console, go to Data > Data Destinations > Destinations > Add destination subscription.
  3. Complete the Add destination subscription wizard.

To create a Slack destination through the Destinations API, send a POST request to the Destinations endpoint and set destinationType to slack. For authentication and the other request body fields, see Create a destination.

Create a destination

create-a-destination page anchor
POST "https://destinations.twilio.com/v1/ControlPlane/Destinations"

Set the config object in the request body as follows:

NameTypeDescription
credentials.credentialType
(Required)
stringSet to API_KEY.
credentials.webhookUrl
(Required)
stringYour Slack incoming webhook URL, for example https://hooks.slack.com/services/T000/B000/XXXX. The URL determines the destination channel.

The following example shows a request body. Replace the uppercase placeholder values with your own.

1
{
2
"destinationType": "slack",
3
"name": "My Slack destination",
4
"config": {
5
"credentials": {
6
"credentialType": "API_KEY",
7
"webhookUrl": "WEBHOOK_URL"
8
}
9
}
10
}

Use slack as the destinationType.

FieldDescriptionRequiredDefault or choices
Webhook URLYour Slack Incoming Webhook URL. Encodes the destination channel; Twilio posts directly to this URL with no additional authentication. Sensitive; stored encrypted.YesNone

Twilio posts to your Webhook URL with no separate authentication step. The URL itself is the credential, and it also determines which channel receives the messages. Twilio doesn't support overriding the channel, username, or icon per message. A Slack Incoming Webhook always posts under the identity it was created with.


FieldSlack field
Full event payloadMessage text (JSON, truncated to 4,000 characters)

Twilio sends the complete event as a JSON string in the Slack message's text field, with no field extraction or filtering. If the serialized event exceeds the Slack 4,000-character message limit, Twilio truncates it and appends a notice that the message was truncated.

(warning)

Warning

This destination posts the entire raw event as a Slack message, not a curated summary. Some event types can carry sensitive data (such as phone numbers, IP addresses, or geolocation) directly in the message text. Consider which subscriptions you route to Slack and who has access to the destination channel.


Verification and troubleshooting

verification-and-troubleshooting page anchor

When you save a Slack destination, Twilio posts a real, visible confirmation message to your Slack channel to validate the webhook. Unlike some destinations, Slack has no read-only way to check an Incoming Webhook, so every save posts a message. Expect to see a confirmation message each time you save the destination's settings.

Twilio doesn't currently offer a way to manually trigger a test event for this destination, from either the Console or the CLI. To confirm delivery is working, wait for a real event of a subscribed type to fire.

CauseWhat you'll seeFix
Webhook URL is missing, malformed, or uses the wrong schemeValidation fails with a configuration errorConfirm the URL was copied correctly from Slack
Webhook URL is invalid or was never activatedValidation fails with an auth errorRe-check the URL in your Slack app's Incoming Webhooks settings
Webhook was deleted, or its channel was archivedValidation fails with an auth errorCreate a new Incoming Webhook for an active channel and update the destination
Slack rate-limiting your webhook (429)Delivery errors reported in the DebuggerReduce your event volume. This destination isn't intended for high-throughput streams
Slack platform error (5xx) or unreachableDelivery errors reported in the DebuggerRetry is automatic. Check the Slack status page

If Twilio can't deliver events to your channel, Twilio sends an error notification to the Debugger (available in US1 region only). If Twilio continues to encounter delivery errors, Twilio notifies you every 20 minutes after the initial error.