Send SMS messages with Azure Communication Services SMS Java SDK. Use when implementing SMS notifications, alerts, OTP delivery, bulk messaging, or delivery reports.
Install
The skill file stays in the publisher's repository.
Paste the copied command in a terminal. It installs this SKILL.md into that agent.
npx skills add microsoft/skills --skill azure-communication-sms-java -a cursor -y
Download .github/plugins/azure-sdk-java/skills/azure-communication-sms-java/SKILL.md from the publisher, or copy the path and open the repository. PlugMCP lists the skill and does not host the file.
Where does azure-communication-sms-java live?
The publisher keeps it at https://github.com/microsoft/skills.
Which agents can use azure-communication-sms-java?
Claude, Cursor, and Codex can read a SKILL.md you add from the publisher's repository.
Send SMS messages with Azure Communication Services SMS Java SDK. Use when implementing SMS notifications, alerts, OTP delivery, bulk messaging, or delivery reports.
name: azure-communication-sms-java
description: Send SMS messages with Azure Communication Services SMS Java SDK. Use when implementing SMS notifications, alerts, OTP delivery, bulk messaging, or delivery reports.
license: MIT
metadata:
author: Microsoft
version: "1.0.0"
package: com.azure:azure-communication-sms
Azure Communication SMS (Java)
Send SMS messages to single or multiple recipients with delivery reporting.
Delivery reports are sent via Azure Event Grid. Configure an Event Grid subscription for your ACS resource.
// Event Grid webhook handler (in your endpoint)
public void handleDeliveryReport(String eventJson) {
// Parse Event Grid event
// Event type: Microsoft.Communication.SMSDeliveryReportReceived
// Event data contains:
// - messageId: correlates to SmsSendResult.getMessageId()
// - from: sender number
// - to: recipient number
// - deliveryStatus: "Delivered", "Failed", etc.
// - deliveryStatusDetails: detailed status
// - receivedTimestamp: when status was received
// - tag: your custom tag from SmsSendOptions
}
SmsSendResult Properties
Property
Type
Description
getMessageId()
String
Unique message identifier
getTo()
String
Recipient phone number
isSuccessful()
boolean
Whether send succeeded
getHttpStatusCode()
int
HTTP status for this recipient
getErrorMessage()
String
Error details if failed
getRepeatabilityResult()
RepeatabilityResult
Idempotency result
Environment Variables
AZURE_COMMUNICATION_ENDPOINT=https://<resource>.communication.azure.com # Required for all auth methods
AZURE_COMMUNICATION_CONNECTION_STRING=endpoint=https://...;accesskey=... # Alternative to Entra ID auth
SMS_FROM_NUMBER=+14255550100 # Required for the sender phone number
AZURE_TOKEN_CREDENTIALS=prod # Required only if DefaultAzureCredential is used in production
Best Practices
Phone Number Format - Use E.164 format: +[country code][number]
Delivery Reports - Enable for critical messages (OTP, alerts)
Tagging - Use tags to correlate messages with business context
Error Handling - Check isSuccessful() for each recipient individually
Rate Limiting - Implement retry with backoff for 429 responses
Bulk Sending - Use batch send for multiple recipients (more efficient)
Trigger Phrases
"send SMS Java", "text message Java"
"SMS notification", "OTP SMS", "bulk SMS"
"delivery report SMS", "Azure Communication Services SMS"
How do I install azure-communication-sms-java?
Download .github/plugins/azure-sdk-java/skills/azure-communication-sms-java/SKILL.md from the publisher, or copy the path and open the repository. PlugMCP lists the skill and does not host the file.
Where does azure-communication-sms-java live?
The publisher keeps it at https://github.com/microsoft/skills.
Which agents can use azure-communication-sms-java?
Claude, Cursor, and Codex can read a SKILL.md you add from the publisher's repository.