Send messages via Sinch Conversation API over WhatsApp, SMS, RCS, Messenger, Viber, Instagram, Telegram, and other channels. Use when the user wants to send a message, text someone, send a WhatsApp message, send an SMS, or communicate via any messaging channel. Automatically handles contact creation and conversation management.
View on GitHubsinch/sinch-plugins
sinch-claude-plugin
January 22, 2026
Select agents to install to:
npx add-skill https://github.com/sinch/sinch-plugins/blob/main/plugins/sinch-claude-plugin/skills/send-message/SKILL.md -a claude-code --skill send-messageInstallation paths:
.claude/skills/send-message/# Send Message
Send messages through Sinch Conversation API. Prefer MCP tools if available, otherwise use the Conversation API specification. Supports all channels including WhatsApp, SMS, RCS, Messenger, Viber, Instagram, Telegram, LINE, WeChat, KakaoTalk, and Apple Messages for Business.
## Instructions
1. **Extract message details from user request:**
- Recipient: phone number, contact name, or contact ID
- Message content: text to send
- Channel preference: WhatsApp, SMS, or other (if specified)
- Message type: text, media, location, choice, or template
- If channel not specified, use WhatsApp as default for phone numbers
2. **Check MCP availability and use appropriate method:**
**Option A: Use MCP tools (if MCP Sinch is configured):**
- First check if MCP Sinch server is available (check MCP server configuration)
- If MCP is available, use the appropriate MCP tool:
- `send-text-message` for text messages
- `send-media-message` for media messages (images, videos, etc.)
- `send-location-message` for location messages
- `send-choice-message` for interactive choice messages
- `send-template-message` for template messages
- MCP tools handle authentication automatically via environment variables
- If MCP tool execution fails or MCP is not configured, fallback to Option B
**Option B: Use Conversation API endpoint (fallback if MCP not available):**
- Endpoint: `POST /v1/projects/{project_id}/messages:send`
- Operation ID: `Messages_SendMessage`
- Authentication: Use Basic Auth or OAuth2 with credentials from environment variables (CONVERSATION_PROJECT_ID, CONVERSATION_KEY_ID, CONVERSATION_KEY_SECRET)
- Region: Use CONVERSATION_REGION environment variable (us, eu, or br)
- Base URL: `https://{region}.conversation.api.sinch.com`
- The API will automatically:
- Create a contact if the recipient doesn't exist
- Start a conversation if one doesn't exist
- Send the message via th