- Events with the same error code on the same Twilio account merge into one alert, for example a run of
11200errors caused by your application URL returning 404 - Warning-level events do not create alerts
In Flashduty On-call
You can get the integration push URL in either of the following ways.Use a dedicated integration
- In the Flashduty console, go to Channels and open a channel
- Select Configuration → Integrations → Private integration, then click Add integration
- Select Twilio and click Save
- Open the generated integration card and copy the Push URL
Use a shared integration
- In the Flashduty console, go to Integration Center → Alert Events
- Select Twilio and enter an integration name
- Configure the default route and select a channel. You can add more rules under Routing after creation
- Click Save and copy the generated Push URL
Configure Twilio
1
Set the Error webhook in Twilio
Where: Twilio Console › Monitor › Error webhookTwilio’s documentation places this setting under Monitor in the Console. Newer consoles may have moved it to Develop › Troubleshoot › Error Webhook; that location is not confirmed by Twilio’s official documentation. If you cannot find it, search the Console for “Error webhook”.
Save.
2
Turn on the auto-resolve timeout
Where: Flashduty console › Channels › Configuration › Settings › Advanced Settings
Debugger events are one-time log entries. Twilio sends nothing when an error stops occurring, so these alerts never recover on their own. Closing the incident also closes its alerts; if the error is still occurring, the next event opens the alert again. See auto-resolve timeout.
3
Produce a real Error event and verify
Where: Twilio Console › Phone NumbersThe Error webhook has no “send test notification” button, so verify with a real Error event:
- Under Phone Numbers, open a number and set the A call comes in URL to an address that returns 404, such as
https://example.com/not-found - Call the number. Twilio fails to fetch the URL and logs error
11200in the Debugger - After a few seconds, an alert titled
Twilio error 11200: ...appears in Flashduty
Payload
Twilio sends one Debugger event per request. The body isapplication/x-www-form-urlencoded, and Payload is JSON:
Every alert also carries the label
source=twilio, and its description links to the error code in the Twilio error dictionary (https://www.twilio.com/docs/errors/<error code>). Example title: Twilio error 11200: An attempt to retrieve content from https://app.example.com/voice returned the HTTP status code 404.
Alert key
Flashduty computes the Alert Key fromAccountSid and Payload.error_code, not from the event ID Sid:
- Events with the same error code on the same account merge into one alert. The alert’s title, description, and labels show the latest event
- Different error codes, and different accounts (including different subaccounts), are different alerts
- This matches how Twilio Alarms count errors per account and per error code
Status and severity
An Error event is rejected if it lacks
AccountSid or Payload.error_code, or if Payload is not valid JSON.
FAQ
Why don't Warning events create alerts?
Why don't Warning events create alerts?
Twilio logs problems it could still process as warnings, such as TwiML validation warnings. They are frequent and rarely need the on-call engineer right away, so Flashduty accepts them without creating an alert. You can still see them in the Twilio Debugger.
The same error keeps occurring. Why is there only one alert?
The same error keeps occurring. Why is there only one alert?
Events with the same error code on the same account merge into one alert, whose event count grows instead of a new alert opening for each failure. With the auto-resolve timeout on, the incident closes after the timeout; if the error is still occurring, the next event opens a new alert.
Do I need to verify X-Twilio-Signature?
Do I need to verify X-Twilio-Signature?
No. Flashduty identifies the integration by the
integration_key in the push URL and does not verify the X-Twilio-Signature header. Keep the push URL as secret as a key.Troubleshooting
- Errors appear in the Twilio Debugger but not in Flashduty: make sure the URL in the Error webhook setting (see the location note in step 1) is complete (including
integration_key) and that the event level is Error - Requests are rejected (4xx): make sure the push URL belongs to a Twilio integration, not another integration
- Alerts never close: turn on the auto-resolve timeout in the channel