SaaS webhooks / Communications

Twilio webhook events.

16 events emitted by Twilio in the team-ops webhook catalog. Each event below carries the canonical event name, payload schema (field names and types only), auth method, signature header, retry policy, and a link back to Twilio's docs.

Auth mix: 16 hmac-sha1 · Source extraction: 2026-05-13

v1 verification gap

Twilio Conversations subset has the audit gap: docs URLs returned 404/redirect or were too thin to cross-check on 2026-05-13. Plausible but unconfirmed. Planned re-extraction in v1.1.

All 16 events

Direct anchors. Each event header links to its own URL.

message.delivered

An outbound SMS/MMS is confirmed delivered to the recipient's handset.

namespace: messaging / extraction: llm assisted (confidence 0.95)

Auth

Auth method
hmac-sha1
Signature header
X-Twilio-Signature
Signature detail
HMAC-SHA1 computed over the full callback URL concatenated with sorted POST parameters (or raw body for JSON). Uses the Auth Token as the HMAC key.

Delivery

Guarantees
at-least-once
Backoff
Twilio retries failed webhook deliveries with exponential backoff for up to 24 hours.
Retry window
PT24H

Payload schema (field names + types only)

MessageSid string required
Unique message SID (e.g. SM...).
SmsSid string
Legacy alias for MessageSid.
AccountSid string required
Twilio account SID.
From string
Sender phone number in E.164 format.
To string
Recipient phone number in E.164 format.
Body string | null
Message body text (included on inbound only).
MessageStatus string (enum) required
Current delivery status of the message.
SmsStatus string
Legacy alias for MessageStatus.
ErrorCode string | null
Error code if delivery failed.
ErrorMessage string | null
Human-readable error description.
NumMedia string
Number of media items attached (as string).
NumSegments string
Number of SMS segments used.
MessagingServiceSid string | null
SID of the messaging service used.
Notes: Scope: Conversations events + Messaging status callbacks. Voice TwiML callbacks and Studio events deferred to v2.

Vendor docs

message.failed

An outbound SMS/MMS delivery fails; ErrorCode indicates the reason.

namespace: messaging / extraction: llm assisted (confidence 0.95)

Auth

Auth method
hmac-sha1
Signature header
X-Twilio-Signature
Signature detail
HMAC-SHA1 computed over the full callback URL concatenated with sorted POST parameters (or raw body for JSON). Uses the Auth Token as the HMAC key.

Delivery

Guarantees
at-least-once
Backoff
Twilio retries failed webhook deliveries with exponential backoff for up to 24 hours.
Retry window
PT24H

Payload schema (field names + types only)

MessageSid string required
Unique message SID (e.g. SM...).
SmsSid string
Legacy alias for MessageSid.
AccountSid string required
Twilio account SID.
From string
Sender phone number in E.164 format.
To string
Recipient phone number in E.164 format.
Body string | null
Message body text (included on inbound only).
MessageStatus string (enum) required
Current delivery status of the message.
SmsStatus string
Legacy alias for MessageStatus.
ErrorCode string | null
Error code if delivery failed.
ErrorMessage string | null
Human-readable error description.
NumMedia string
Number of media items attached (as string).
NumSegments string
Number of SMS segments used.
MessagingServiceSid string | null
SID of the messaging service used.
Notes: Scope: Conversations events + Messaging status callbacks. Voice TwiML callbacks and Studio events deferred to v2.

Vendor docs

message.queued

An outbound SMS/MMS is accepted and placed in the send queue.

namespace: messaging / extraction: llm assisted (confidence 0.90)

Auth

Auth method
hmac-sha1
Signature header
X-Twilio-Signature
Signature detail
HMAC-SHA1 computed over the full callback URL concatenated with sorted POST parameters (or raw body for JSON). Uses the Auth Token as the HMAC key.

Delivery

Guarantees
at-least-once
Backoff
Twilio retries failed webhook deliveries with exponential backoff for up to 24 hours.
Retry window
PT24H

Payload schema (field names + types only)

MessageSid string required
Unique message SID (e.g. SM...).
SmsSid string
Legacy alias for MessageSid.
AccountSid string required
Twilio account SID.
From string
Sender phone number in E.164 format.
To string
Recipient phone number in E.164 format.
Body string | null
Message body text (included on inbound only).
MessageStatus string (enum) required
Current delivery status of the message.
SmsStatus string
Legacy alias for MessageStatus.
ErrorCode string | null
Error code if delivery failed.
ErrorMessage string | null
Human-readable error description.
NumMedia string
Number of media items attached (as string).
NumSegments string
Number of SMS segments used.
MessagingServiceSid string | null
SID of the messaging service used.
Notes: Scope: Conversations events + Messaging status callbacks. Voice TwiML callbacks and Studio events deferred to v2.

Vendor docs

message.received

An inbound SMS or MMS is received on a Twilio phone number.

namespace: messaging / extraction: llm assisted (confidence 0.95)

Auth

Auth method
hmac-sha1
Signature header
X-Twilio-Signature
Signature detail
HMAC-SHA1 computed over the full callback URL concatenated with sorted POST parameters (or raw body for JSON). Uses the Auth Token as the HMAC key.

Delivery

Guarantees
at-least-once
Backoff
Twilio retries failed webhook deliveries with exponential backoff for up to 24 hours.
Retry window
PT24H

Payload schema (field names + types only)

MessageSid string required
Unique message SID.
AccountSid string required
Account SID.
From string required
Sender number in E.164 format.
To string required
Recipient number (your Twilio number).
Body string required
Message body text.
NumMedia string
Number of media items attached.
MediaContentType0 string | null
MIME type of the first media item.
MediaUrl0 string | null
URL of the first media item.
FromCity string | null
FromState string | null
FromZip string | null
FromCountry string | null
ToCity string | null
ToState string | null
ToCountry string | null
Notes: Scope: Conversations events + Messaging status callbacks. Voice TwiML callbacks and Studio events deferred to v2.

Vendor docs

message.sent

An outbound SMS/MMS is successfully handed off to the carrier.

namespace: messaging / extraction: llm assisted (confidence 0.95)

Auth

Auth method
hmac-sha1
Signature header
X-Twilio-Signature
Signature detail
HMAC-SHA1 computed over the full callback URL concatenated with sorted POST parameters (or raw body for JSON). Uses the Auth Token as the HMAC key.

Delivery

Guarantees
at-least-once
Backoff
Twilio retries failed webhook deliveries with exponential backoff for up to 24 hours.
Retry window
PT24H

Payload schema (field names + types only)

MessageSid string required
Unique message SID (e.g. SM...).
SmsSid string
Legacy alias for MessageSid.
AccountSid string required
Twilio account SID.
From string
Sender phone number in E.164 format.
To string
Recipient phone number in E.164 format.
Body string | null
Message body text (included on inbound only).
MessageStatus string (enum) required
Current delivery status of the message.
SmsStatus string
Legacy alias for MessageStatus.
ErrorCode string | null
Error code if delivery failed.
ErrorMessage string | null
Human-readable error description.
NumMedia string
Number of media items attached (as string).
NumSegments string
Number of SMS segments used.
MessagingServiceSid string | null
SID of the messaging service used.
Notes: Scope: Conversations events + Messaging status callbacks. Voice TwiML callbacks and Studio events deferred to v2.

Vendor docs

message.undelivered

An outbound SMS/MMS is not delivered after carrier attempts.

namespace: messaging / extraction: llm assisted (confidence 0.90)

Auth

Auth method
hmac-sha1
Signature header
X-Twilio-Signature
Signature detail
HMAC-SHA1 computed over the full callback URL concatenated with sorted POST parameters (or raw body for JSON). Uses the Auth Token as the HMAC key.

Delivery

Guarantees
at-least-once
Backoff
Twilio retries failed webhook deliveries with exponential backoff for up to 24 hours.
Retry window
PT24H

Payload schema (field names + types only)

MessageSid string required
Unique message SID (e.g. SM...).
SmsSid string
Legacy alias for MessageSid.
AccountSid string required
Twilio account SID.
From string
Sender phone number in E.164 format.
To string
Recipient phone number in E.164 format.
Body string | null
Message body text (included on inbound only).
MessageStatus string (enum) required
Current delivery status of the message.
SmsStatus string
Legacy alias for MessageStatus.
ErrorCode string | null
Error code if delivery failed.
ErrorMessage string | null
Human-readable error description.
NumMedia string
Number of media items attached (as string).
NumSegments string
Number of SMS segments used.
MessagingServiceSid string | null
SID of the messaging service used.
Notes: Scope: Conversations events + Messaging status callbacks. Voice TwiML callbacks and Studio events deferred to v2.

Vendor docs

onConversationAdded

A new conversation is created in a Twilio Conversations service.

namespace: conversations / extraction: llm assisted (confidence 0.90)

Auth

Auth method
hmac-sha1
Signature header
X-Twilio-Signature
Signature detail
HMAC-SHA1 computed over the full callback URL concatenated with sorted POST parameters (or raw body for JSON). Uses the Auth Token as the HMAC key.

Delivery

Guarantees
at-least-once
Backoff
Twilio retries failed webhook deliveries with exponential backoff for up to 24 hours.
Retry window
PT24H

Payload schema (field names + types only)

EventType string required
Event type identifier: onConversationAdded.
AccountSid string required
Twilio account SID.
ConversationSid string
SID of the conversation.
ConversationFriendlyName string | null
Human-readable name of the conversation.
ConversationAttributes string | null
JSON string of custom attributes set on the conversation.
ConversationDateCreated string
ISO 8601 creation timestamp.
ConversationDateUpdated string
ISO 8601 last-updated timestamp.
State string | null (enum)
Conversation state.
Notes: Scope: Conversations events + Messaging status callbacks. Voice TwiML callbacks and Studio events deferred to v2.

Vendor docs

onConversationRemoved

A conversation is deleted from the service.

namespace: conversations / extraction: llm assisted (confidence 0.85)

Auth

Auth method
hmac-sha1
Signature header
X-Twilio-Signature
Signature detail
HMAC-SHA1 computed over the full callback URL concatenated with sorted POST parameters (or raw body for JSON). Uses the Auth Token as the HMAC key.

Delivery

Guarantees
at-least-once
Backoff
Twilio retries failed webhook deliveries with exponential backoff for up to 24 hours.
Retry window
PT24H

Payload schema (field names + types only)

EventType string required
Event type identifier: onConversationRemoved.
AccountSid string required
Twilio account SID.
ConversationSid string
SID of the conversation.
ConversationFriendlyName string | null
Human-readable name of the conversation.
ConversationAttributes string | null
JSON string of custom attributes set on the conversation.
ConversationDateCreated string
ISO 8601 creation timestamp.
ConversationDateUpdated string
ISO 8601 last-updated timestamp.
State string | null (enum)
Conversation state.
Notes: Scope: Conversations events + Messaging status callbacks. Voice TwiML callbacks and Studio events deferred to v2.

Vendor docs

onConversationStateUpdated

A conversation transitions between active, inactive, and closed states.

namespace: conversations / extraction: llm assisted (confidence 0.85)

Auth

Auth method
hmac-sha1
Signature header
X-Twilio-Signature
Signature detail
HMAC-SHA1 computed over the full callback URL concatenated with sorted POST parameters (or raw body for JSON). Uses the Auth Token as the HMAC key.

Delivery

Guarantees
at-least-once
Backoff
Twilio retries failed webhook deliveries with exponential backoff for up to 24 hours.
Retry window
PT24H

Payload schema (field names + types only)

EventType string required
Event type identifier: onConversationStateUpdated.
AccountSid string required
Twilio account SID.
ConversationSid string
SID of the conversation.
ConversationFriendlyName string | null
Human-readable name of the conversation.
ConversationAttributes string | null
JSON string of custom attributes set on the conversation.
ConversationDateCreated string
ISO 8601 creation timestamp.
ConversationDateUpdated string
ISO 8601 last-updated timestamp.
State string | null (enum)
Conversation state.
StateTo string
The new state the conversation transitioned to.
StateFrom string
The previous state.
Notes: Scope: Conversations events + Messaging status callbacks. Voice TwiML callbacks and Studio events deferred to v2.

Vendor docs

onConversationUpdated

A conversation's properties or state are updated.

namespace: conversations / extraction: llm assisted (confidence 0.85)

Auth

Auth method
hmac-sha1
Signature header
X-Twilio-Signature
Signature detail
HMAC-SHA1 computed over the full callback URL concatenated with sorted POST parameters (or raw body for JSON). Uses the Auth Token as the HMAC key.

Delivery

Guarantees
at-least-once
Backoff
Twilio retries failed webhook deliveries with exponential backoff for up to 24 hours.
Retry window
PT24H

Payload schema (field names + types only)

EventType string required
Event type identifier: onConversationUpdated.
AccountSid string required
Twilio account SID.
ConversationSid string
SID of the conversation.
ConversationFriendlyName string | null
Human-readable name of the conversation.
ConversationAttributes string | null
JSON string of custom attributes set on the conversation.
ConversationDateCreated string
ISO 8601 creation timestamp.
ConversationDateUpdated string
ISO 8601 last-updated timestamp.
State string | null (enum)
Conversation state.
Notes: Scope: Conversations events + Messaging status callbacks. Voice TwiML callbacks and Studio events deferred to v2.

Vendor docs

onMessageAdded

A new message is sent in a conversation.

namespace: conversations / extraction: llm assisted (confidence 0.90)

Auth

Auth method
hmac-sha1
Signature header
X-Twilio-Signature
Signature detail
HMAC-SHA1 computed over the full callback URL concatenated with sorted POST parameters (or raw body for JSON). Uses the Auth Token as the HMAC key.

Delivery

Guarantees
at-least-once
Backoff
Twilio retries failed webhook deliveries with exponential backoff for up to 24 hours.
Retry window
PT24H

Payload schema (field names + types only)

EventType string required
Event type identifier: onMessageAdded.
AccountSid string required
Twilio account SID.
ConversationSid string
SID of the conversation.
MessageSid string
SID of the message.
Index string
Position of the message in the conversation.
Author string
Identity or address of the message author.
Body string | null
Message body text.
Media string | null
JSON array of media objects attached.
Attributes string | null
Custom attributes JSON string.
DateCreated string
ISO 8601 timestamp.
Notes: Scope: Conversations events + Messaging status callbacks. Voice TwiML callbacks and Studio events deferred to v2.

Vendor docs

onMessageRemoved

A message is deleted from a conversation.

namespace: conversations / extraction: llm assisted (confidence 0.85)

Auth

Auth method
hmac-sha1
Signature header
X-Twilio-Signature
Signature detail
HMAC-SHA1 computed over the full callback URL concatenated with sorted POST parameters (or raw body for JSON). Uses the Auth Token as the HMAC key.

Delivery

Guarantees
at-least-once
Backoff
Twilio retries failed webhook deliveries with exponential backoff for up to 24 hours.
Retry window
PT24H

Payload schema (field names + types only)

EventType string required
Event type identifier: onMessageRemoved.
AccountSid string required
Twilio account SID.
ConversationSid string
SID of the conversation.
MessageSid string
SID of the message.
Index string
Position of the message in the conversation.
Author string
Identity or address of the message author.
Body string | null
Message body text.
Media string | null
JSON array of media objects attached.
Attributes string | null
Custom attributes JSON string.
DateCreated string
ISO 8601 timestamp.
Notes: Scope: Conversations events + Messaging status callbacks. Voice TwiML callbacks and Studio events deferred to v2.

Vendor docs

onMessageUpdated

An existing message in a conversation is edited.

namespace: conversations / extraction: llm assisted (confidence 0.85)

Auth

Auth method
hmac-sha1
Signature header
X-Twilio-Signature
Signature detail
HMAC-SHA1 computed over the full callback URL concatenated with sorted POST parameters (or raw body for JSON). Uses the Auth Token as the HMAC key.

Delivery

Guarantees
at-least-once
Backoff
Twilio retries failed webhook deliveries with exponential backoff for up to 24 hours.
Retry window
PT24H

Payload schema (field names + types only)

EventType string required
Event type identifier: onMessageUpdated.
AccountSid string required
Twilio account SID.
ConversationSid string
SID of the conversation.
MessageSid string
SID of the message.
Index string
Position of the message in the conversation.
Author string
Identity or address of the message author.
Body string | null
Message body text.
Media string | null
JSON array of media objects attached.
Attributes string | null
Custom attributes JSON string.
DateCreated string
ISO 8601 timestamp.
Notes: Scope: Conversations events + Messaging status callbacks. Voice TwiML callbacks and Studio events deferred to v2.

Vendor docs

onParticipantAdded

A participant is added to a conversation.

namespace: conversations / extraction: llm assisted (confidence 0.90)

Auth

Auth method
hmac-sha1
Signature header
X-Twilio-Signature
Signature detail
HMAC-SHA1 computed over the full callback URL concatenated with sorted POST parameters (or raw body for JSON). Uses the Auth Token as the HMAC key.

Delivery

Guarantees
at-least-once
Backoff
Twilio retries failed webhook deliveries with exponential backoff for up to 24 hours.
Retry window
PT24H

Payload schema (field names + types only)

EventType string required
Event type identifier: onParticipantAdded.
AccountSid string required
Twilio account SID.
ConversationSid string
SID of the conversation.
ParticipantSid string
SID of the participant.
Identity string | null
Chat identity of the participant.
RoleSid string | null
Role assigned to this participant.
MessagingBinding object | null
Binding details for SMS/WhatsApp participants.
Notes: Scope: Conversations events + Messaging status callbacks. Voice TwiML callbacks and Studio events deferred to v2.

Vendor docs

onParticipantRemoved

A participant is removed from a conversation.

namespace: conversations / extraction: llm assisted (confidence 0.85)

Auth

Auth method
hmac-sha1
Signature header
X-Twilio-Signature
Signature detail
HMAC-SHA1 computed over the full callback URL concatenated with sorted POST parameters (or raw body for JSON). Uses the Auth Token as the HMAC key.

Delivery

Guarantees
at-least-once
Backoff
Twilio retries failed webhook deliveries with exponential backoff for up to 24 hours.
Retry window
PT24H

Payload schema (field names + types only)

EventType string required
Event type identifier: onParticipantRemoved.
AccountSid string required
Twilio account SID.
ConversationSid string
SID of the conversation.
ParticipantSid string
SID of the participant.
Identity string | null
Chat identity of the participant.
RoleSid string | null
Role assigned to this participant.
MessagingBinding object | null
Binding details for SMS/WhatsApp participants.
Notes: Scope: Conversations events + Messaging status callbacks. Voice TwiML callbacks and Studio events deferred to v2.

Vendor docs

onParticipantUpdated

A participant's properties or role in a conversation are updated.

namespace: conversations / extraction: llm assisted (confidence 0.85)

Auth

Auth method
hmac-sha1
Signature header
X-Twilio-Signature
Signature detail
HMAC-SHA1 computed over the full callback URL concatenated with sorted POST parameters (or raw body for JSON). Uses the Auth Token as the HMAC key.

Delivery

Guarantees
at-least-once
Backoff
Twilio retries failed webhook deliveries with exponential backoff for up to 24 hours.
Retry window
PT24H

Payload schema (field names + types only)

EventType string required
Event type identifier: onParticipantUpdated.
AccountSid string required
Twilio account SID.
ConversationSid string
SID of the conversation.
ParticipantSid string
SID of the participant.
Identity string | null
Chat identity of the participant.
RoleSid string | null
Role assigned to this participant.
MessagingBinding object | null
Binding details for SMS/WhatsApp participants.
Notes: Scope: Conversations events + Messaging status callbacks. Voice TwiML callbacks and Studio events deferred to v2.

Vendor docs

Use this data programmatically

The full catalog ships as a HuggingFace dataset under CC-BY-4.0. Load it with the datasets library, filter by vendor, and you have every Twilio event in a Parquet table ready for code-generation, schema validation, or routing.

from datasets import load_dataset
ds = load_dataset("automatelab/saas-webhook-catalog")
events = ds["train"].filter(lambda r: r["vendor"] == "twilio")

Open the dataset on HuggingFace Source on GitHub

Other vendors in the catalog

Back to the index for all 30 vendors.