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
The MESSAGE_SUBMIT trigger fires when your message is successfully submitted to a channel provider, before final delivery confirmation. This is an early-stage notification that the message has left Sinch's systems and is in transit to the recipient. It's distinct from MESSAGE_DELIVERY which provides later-stage delivery status updates.
The webhook callback contains a message_submit_notification object with these key fields:
| Field | Type | Description |
|---|---|---|
submitted_message | object | Details about the submitted message |
submitted_message.message_id | string | ID of the submitted message |
submitted_message.conversation_id | string | Conversation the message belongs to |
submitted_message.channel | string | Channel the message was submitted to (e.g., WHATSAPP, SMS) |
submitted_message.contact_id | string | Contact who will receive the message |
submitted_message.metadata | string | Metadata attached to the message |
submitted_message.channel_identity | object | Channel-specific recipient information |
{
"app_id": "01H1234567...",
"accepted_time": "2024-06-15T14:24:30.456Z",
"event_time": "2024-06-15T14:24:30.123Z",
"project_id": "PROJECT123",
"message_submit_notification": {
"submitted_message": {
"message_id": "01H9876543...",
"conversation_id": "01H5555555...",
"channel": "WHATSAPP",
"channel_identity": {
"channel": "WHATSAPP",
"identity": "46732001122",
"app_id": "01H1234567..."
},
"contact_id": "01H3333333...",
"metadata": "order_confirmation_12345"
}
}
}{
"app_id": "01H1234567...",
"accepted_time": "2024-06-15T15:10:45.789Z",
"project_id": "PROJECT123",
"message_submit_notification": {
"submitted_message": {
"message_id": "01H8888888...",
"conversation_id": "01H5555555...",
"channel": "SMS",
"channel_identity": {
"channel": "SMS",
"identity": "15551234567",
"app_id": "01H1234567..."
},
"contact_id": "01H3333333...",
"metadata": "appointment_reminder_2024-06-20"
}
}
}{
"app_id": "01H1234567...",
"accepted_time": "2024-06-15T16:20:00.123Z",
"project_id": "PROJECT123",
"message_submit_notification": {
"submitted_message": {
"message_id": "01H7777777...",
"conversation_id": "01H5555555...",
"channel": "RCS",
"channel_identity": {
"channel": "RCS",
"identity": "15551234567",
"app_id": "01H1234567..."
},
"contact_id": "01H3333333...",
"metadata": ""
}
}
}MESSAGE_DELIVERY callbacks; use both to track the full message lifecyclechannel field shows which specific channel the message was submitted to (useful for multi-channel apps)MESSAGE_DELIVERY, there's no status field; submission is always successful when this trigger firesmetadata field from your original send request is included, enabling correlation with your internal systemscontact_id to identify the recipient in your system, especially for multi-contact conversationsMESSAGE_DELIVERY; use MESSAGE_SUBMIT only if you specifically need early-stage confirmationchannel_identity shows the exact channel endpoint (e.g., specific phone number for SMS, WhatsApp ID for WhatsApp)skills
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