From kudosity-sms
Create and manage webhooks on the Kudosity platform. Use when the user wants to receive notifications for SMS delivery status, inbound messages, MMS events, link hits, or opt-outs.
How this skill is triggered — by the user, by Claude, or both
Slash command
/kudosity-sms:setup-webhookThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Webhooks allow users to receive HTTP POST notifications when events occur, such as SMS delivery status changes, inbound messages, link clicks, and opt-outs.
Webhooks allow users to receive HTTP POST notifications when events occur, such as SMS delivery status changes, inbound messages, link clicks, and opt-outs.
x-api-key: {KUDOSITY_API_KEY}/kudosity-sms:setuphttps://api.transmitmessage.comapplication/jsoncurl commandsEndpoint: POST /v2/webhook
Required parameters:
name (string): Webhook name, 2-100 charactersurl (string): HTTPS URL that accepts JSON-encoded POST requestsOptional parameters:
filter (object): Filter which events trigger the webhook
event_type (array): Types of events to subscribe tosender (array): Filter by sender numberstatus (array): Filter by message status (for status events only)message_ref (array): Filter by message referencecampaign_id (array): Filter by campaign IDrate_limit (integer): Max requests per second to your URL (max 10,000, 0 = system default)| Event Type | Description |
|---|---|
SMS_STATUS | SMS delivery status changes (SENT, ACCEPTED, DELIVERED, FAILED, SOFT_BOUNCE, HARD_BOUNCE, OTHER) |
SMS_INBOUND | Inbound SMS received from a recipient |
MMS_STATUS | MMS status changes (SENT, FAILED) |
MMS_INBOUND | Inbound MMS received from a recipient |
LINK_HIT | Recipient clicked a tracked link |
OPT_OUT | Recipient opted out via link or STOP message |
curl -s -X POST "https://api.transmitmessage.com/v2/webhook" \
-H "x-api-key: ${KUDOSITY_API_KEY}" \
-H "Content-Type: application/json" \
-d '{
"name": "SMS Events",
"url": "https://myapp.com/webhooks/sms",
"filter": {"event_type": ["SMS_STATUS", "SMS_INBOUND"]}
}'
curl -s -X POST "https://api.transmitmessage.com/v2/webhook" \
-H "x-api-key: ${KUDOSITY_API_KEY}" \
-H "Content-Type: application/json" \
-d '{
"name": "Failed SMS Alerts",
"url": "https://myapp.com/webhooks/failures",
"filter": {"event_type": ["SMS_STATUS"], "status": ["FAILED", "HARD_BOUNCE"]}
}'
Endpoint: GET /v2/webhook
curl -s "https://api.transmitmessage.com/v2/webhook" \
-H "x-api-key: ${KUDOSITY_API_KEY}"
{
"event_type": "SMS_STATUS",
"timestamp": "2021-05-06T05:16:07Z",
"status": {
"type": "SMS",
"id": "a51ebe4e-a412-440e-a8d9-464e68a521cc",
"message_ref": "ncc5009d",
"recipient": "61435790000",
"sender": "61481074190",
"status": "DELIVERED"
}
}
{
"event_type": "SMS_INBOUND",
"timestamp": "2021-05-06T05:16:33Z",
"mo": {
"type": "SMS",
"id": "alss-2way-605b31c7-d2c49104",
"message": "Yes, I'm interested",
"recipient": "61481074190",
"sender": "61435790000"
}
}
{
"event_type": "OPT_OUT",
"timestamp": "2021-05-06T05:16:20Z",
"opt_out": {
"source": "SMS_INBOUND",
"source_message": {
"type": "SMS",
"id": "a51ebe4e-a412-440e-a8d9-464e68a521cc",
"message": "Your promo message with opt-out link",
"message_ref": "ncc5009d",
"recipient": "61435790000",
"sender": "61481074190"
}
}
}
event_type field at the top level of the request body is deprecated — always use filter.event_type insteadsender filter is applied to the recipient field (the number that received the inbound message)Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.
npx claudepluginhub kudosity/kudosity-claude-sms-plugin --plugin kudosity-sms