Official Sinch API skills for AI coding agents — SMS, Voice, Verification, Numbers, Mailgun email, and more.
71
89%
Does it follow best practices?
Impact
—
No eval scenarios have been run
Advisory
Suggest reviewing before use
← Back to Conversation API SKILL.md
Sections: Overview | When It Fires | Callback Structure | Common Use Cases | Example Callback Payload | Key Points
The CAPABILITY trigger fires when an asynchronous capability check completes. Capability checks determine whether a contact can receive messages on specific channels (e.g., whether a phone number supports WhatsApp or RCS). This trigger is used when you initiate a capability lookup via the API and need to receive the results asynchronously.
The webhook callback contains a capability_notification object with these key fields:
| Field | Type | Description |
|---|---|---|
request_id | string | ID from your capability check request |
contact_id | string | Contact whose capabilities were checked |
channel | string | Channel that was checked (e.g., WHATSAPP, RCS) |
identity | string | Channel-specific identity checked (e.g., phone number) |
capability_status | string | Result of the capability check |
channel_recipient_identities | array | Available recipient identities for the channel |
| Status | Description |
|---|---|
CAPABILITY_FULL | Contact fully supports the channel |
CAPABILITY_PARTIAL | Contact has limited capability on the channel |
NO_CAPABILITY | Contact does not support the channel |
CAPABILITY_UNKNOWN | Unable to determine capability (transient error) |
When capability_status is CAPABILITY_FULL or CAPABILITY_PARTIAL, this array contains the available channel identities:
"channel_recipient_identities": [
{
"channel_identity": {
"channel": "WHATSAPP",
"identity": "46732001122"
},
"display_name": "John Doe"
}
]{
"app_id": "01H1234567...",
"accepted_time": "2024-06-15T14:25:30.456Z",
"project_id": "PROJECT123",
"capability_notification": {
"request_id": "01H9876543...",
"contact_id": "01H3333333...",
"channel": "WHATSAPP",
"identity": "46732001122",
"capability_status": "CAPABILITY_FULL",
"channel_recipient_identities": [
{
"channel_identity": {
"channel": "WHATSAPP",
"identity": "46732001122"
},
"display_name": "John Doe"
}
]
}
}{
"app_id": "01H1234567...",
"accepted_time": "2024-06-15T14:26:00.789Z",
"project_id": "PROJECT123",
"capability_notification": {
"request_id": "01H8888888...",
"contact_id": "01H3333333...",
"channel": "RCS",
"identity": "15551234567",
"capability_status": "NO_CAPABILITY",
"channel_recipient_identities": []
}
}{
"app_id": "01H1234567...",
"accepted_time": "2024-06-15T14:27:00.123Z",
"project_id": "PROJECT123",
"capability_notification": {
"request_id": "01H7777777...",
"contact_id": "01H3333333...",
"channel": "VIBER",
"identity": "46732001122",
"capability_status": "CAPABILITY_UNKNOWN",
"channel_recipient_identities": []
}
}{
"app_id": "01H1234567...",
"accepted_time": "2024-06-15T14:28:00.456Z",
"project_id": "PROJECT123",
"capability_notification": {
"request_id": "01H6666666...",
"contact_id": "01H3333333...",
"channel": "RCS",
"identity": "15551234567",
"capability_status": "CAPABILITY_PARTIAL",
"channel_recipient_identities": [
{
"channel_identity": {
"channel": "RCS",
"identity": "15551234567"
}
}
]
}
}request_id to correlate webhook callback with your original capability check requestCAPABILITY_UNKNOWN can happen due to network issues or channel provider problems; retry or fallback to alternative channelCAPABILITY_PARTIAL means some channel features available but not all; typically safe to treat as availablechannel_recipient_identitiesskills
sinch-10dlc
references
sinch-authentication
sinch-conversation-api
sinch-elastic-sip-trunking
references
sinch-fax-api
sinch-imported-numbers-hosting-orders
references
sinch-in-app-calling
sinch-mailgun
references
sinch-mailgun-inspect
references
sinch-mailgun-optimize
references
sinch-mailgun-validate
sinch-number-lookup-api
sinch-number-order-api
sinch-numbers-api
references
sinch-porting-api
sinch-provisioning-api
sinch-sdks
sinch-verification-api