Dev & Engineering ✓ Microsoft · Official javaazure-communication-servicessmsotp-deliverydelivery-reportsmaven

Azure SMS for Java

Send Azure Communication Services SMS from Java with per-recipient results and delivery tracking.

FollowSkills review · FSRS-2.0
Use with care
48/ 100 5-point scale 2.4 / 5
1 2 3 4 5 6
1Trust13 / 25 · 2.6/5

The documentation offers Entra ID, managed identity, connection-string, and access-key patterns, with credential configuration via environment variables. However, sending SMS and receiving Event Grid callbacks create external effects; there is no user-confirmation guidance, consent/opt-out/compliance boundary, or rollback strategy. The OTP example places a phone number in a tag, potentially widening sensitive-data exposure, so trust is far from full marks.

2Reliability8 / 20 · 2.0/5

Single-recipient, bulk, async, delivery-report, error-handling, and rate-limit paths are covered, including per-recipient failures and request-level exceptions. However, examples omit some imports, configuration requirements are not fully consistent with connection-string usage, retry behavior is simplified, and idempotency or duplicate sends are not addressed. This is a static-only review with no skill-specific tests, so the score remains below the static ceiling.

3Adaptability8 / 15 · 2.7/5

Trigger phrases and intended Java scenarios for notifications, OTP, bulk SMS, and delivery reports are reasonably clear. Non-fit boundaries, pricing, regional/carrier constraints, compliance requirements, and formal input/output contracts are absent; Chinese-language handling, message segmentation, and mainland-China reachability are also undocumented. The core function depends on Azure Communication Services, with insufficient environment-fit evidence.

4Convention9 / 15 · 3.0/5

The skill has YAML metadata, an MIT license, a version, installation notes, layered examples, error handling, best practices, and a reference file. It lacks a skill-level changelog, explicit maintenance owner, update path, compatibility matrix, and a clear known-limitations section; dependency and version-update policy is also unclear, so points are deducted.

5Effectiveness6 / 15 · 2.0/5

The material can directly guide common Java ACS SMS integrations, including sending, bulk, async, delivery reports, and OTP flows. But the examples were not executed in this review, some require added imports and configuration, and production-grade security and retry work remains. Under static calibration, the result is therefore capped conservatively.

6Verifiability4 / 10 · 2.0/5

The supplied files contain concrete Maven coordinates, API calls, failure branches, and complete examples, providing some auditability. There is no committed test suite or CI evidence specific to this skill path, and repository-wide harness material does not establish reproduction of this skill's key paths, so a higher static score is not justified.

Evidence confidence:Low Reviewed Jul 20, 2026 Reviewed revision 9ccaf7c3704a
Before you use it
  • Establish user consent, opt-out, regional compliance, pricing, and carrier constraints before sending SMS, with application-level confirmation or approval where appropriate.
  • Do not place phone numbers, OTPs, or other sensitive data in tags, logs, or error messages; prefer managed identity or short-lived credentials and protect connection strings and access keys.
  • Verify the actual azure-communication-sms 1.2.0 API and add missing imports before adoption; implement recoverable handling for 429s, network failures, timeouts, and idempotent retries.
  • Confirm Azure Communication Services, Event Grid, and SMS capability reachability and compliance in the target region, especially mainland China.
See the full review method →

What does this skill do, and when should you use it?

This skill is for developers using the Azure Communication Services SMS Java SDK. It covers single-recipient and bulk messaging, synchronous and asynchronous clients, delivery reports, tags, and per-recipient error handling. Examples show DefaultAzureCredential, managed identity, connection strings, and AzureKeyCredential authentication. It fits Java applications that need notifications, OTPs, alerts, or batch SMS, but it does not provide a complete application or deployment solution.

Shows how to add the Maven dependency, create an SmsClient or SmsAsyncClient, call the Azure Communication Services SMS API for one or more E.164 phone numbers, and inspect message IDs, recipients, success flags, HTTP statuses, and error messages. It also covers enabling delivery reports, adding business tags, handling HTTP 429 responses, and receiving delivery status through Azure Event Grid.

  1. A Java application needs to deliver login verification codes or one-time passwords.
  2. An order system must send confirmation, status-change, or security-alert messages.
  3. A marketing or operations service needs to send one message to several recipients and inspect each result.
  4. A critical notification workflow needs Delivered or Failed status through Event Grid.
  5. A team wants DefaultAzureCredential locally and managed identity in production.

What are this skill's strengths and limitations?

Pros
  • Covers synchronous, asynchronous, single-recipient, and bulk-send patterns.
  • Includes per-recipient success, status-code, and error handling.
  • Documents Event Grid delivery reports, business tags, and a 429 retry recommendation.
  • Shows Entra ID, managed identity, connection-string, and AzureKeyCredential options.
Limitations
  • Targets the Java SDK and cannot be used directly for other languages.
  • Does not include a complete application, deployment configuration, or runnable Event Grid webhook.
  • The source does not provide independent test-coverage details for this individual skill.
  • Sending requires a configured Azure Communication Services resource and sender number.

How do you install this skill?

Install the repository's skill collection with npx skills add microsoft/skills, then select the needed skill in the wizard. The README also documents cloning the repository and copying a specific skill directory; it does not document a standalone installation command for this skill. Add the Maven dependency com.azure:azure-communication-sms:1.2.0 to the Java project.

How do you use this skill?

Useful trigger phrases include “send SMS Java,” “SMS notification,” “OTP SMS,” “bulk SMS,” and “delivery report SMS.” Provide an ACS sender number, recipient number or list, and message text; enable delivery reports and set a tag when needed. The examples create a client with DefaultAzureCredential, a connection string, or AzureKeyCredential, then call send or sendWithResponse. Use SmsAsyncClient for reactive operations. In production, the DefaultAzureCredential example requires AZURE_TOKEN_CREDENTIALS=prod or a specific credential setting.

FAQ

Does this skill include SMS service pricing?
No pricing information is provided; the source only covers the SDK and configuration patterns.
Do send failures throw exceptions?
Individual message failures are generally returned through SmsSendResult, while request-level failures such as authentication or network errors are handled with HttpResponseException in the example.
Can bulk sends report the result for each number?
Yes. sendWithResponse returns multiple SmsSendResult objects that can be checked individually for status, recipient, message ID, and errors.
Where are delivery reports received?
Through Azure Event Grid. An Event Grid subscription must be configured for the ACS resource.

More skills from this repository

All from microsoft/agent-skills

Dev & Engineering ✓ Microsoft · Official

Azure Communication Chat for Java

A practical Java SDK guide for building Azure real-time chat threads, messaging, and participant workflows.

Dev & Engineering ✓ Microsoft · Official

Azure AI Persistent Agents for Java

Guides Java developers through building and managing Azure AI agents with persistent threads, messages, runs, and tools.

Dev & Engineering ✓ Microsoft · Official

Azure App Configuration for Java

Guides Java apps in centralizing settings, feature flags, and release snapshots.

Dev & Engineering ✓ Microsoft · Official

Azure CallingServer Java Legacy Maintainer

Maintain legacy CallingServer Java code and migrate it toward Azure Communication Services Call Automation.

Dev & Engineering ✓ Microsoft · Official

Azure Communication Common for Java

Guides Java developers through shared ACS authentication, token refresh, and communication identifier handling.

Dev & Engineering ✓ Microsoft · Official

Azure Call Automation for Java

Build Java workflows for IVR, call routing, recording, and voice-driven interactions.

Dev & Engineering ✓ Microsoft · Official

Azure Monitor Query for Java

Query Azure Monitor logs and resource metrics from Java applications.

Dev & Engineering ✓ Microsoft · Official

Azure Batch Java Job Orchestration

Run and manage large-scale parallel and HPC workloads on Azure from Java.

Dev & Engineering ✓ Microsoft · Official

Azure Event Grid for Java

A practical Java SDK guide for publishing, consuming, and handling Azure Event Grid events.

Dev & Engineering ✓ Microsoft · Official

Azure Blob Storage for Java

A practical Java playbook for building file and streaming workflows on Azure Blob Storage.

Dev & Engineering ✓ Microsoft · Official

Entra Authentication Events for .NET

Customize Entra ID authentication flows with Azure Functions.

Dev & Engineering ✓ Microsoft · Official

Azure Identity for Java

Configure secure Microsoft Entra ID authentication for Java applications using Azure SDKs.

Dev & Engineering ✓ Microsoft · Official

Azure AI Content Safety for Java

Helps Java applications detect harmful text and images and manage custom blocklists.

Dev & Engineering ✓ Microsoft · Official

Azure AI Anomaly Detector for Java

A practical Java skill for building univariate and multivariate time-series anomaly detection with Azure AI Anomaly Detector.

Dev & Engineering ✓ Microsoft · Official

Azure Cosmos DB Java Skill

Guides Java developers in building globally distributed, partitioned, and reactive Azure Cosmos DB applications.

Dev & Engineering ✓ Microsoft · Official

Azure Monitor Telemetry for Java

Guides Java teams in exporting OpenTelemetry data to Azure Monitor.

Dev & Engineering ✓ Microsoft · Official

Azure Event Hubs Java Skill

Build production-oriented Java event streaming applications on Azure Event Hubs.

Dev & Engineering ✓ Microsoft · Official

Azure Upgrade

Assess and automate Azure plan, SKU, service, and legacy Java SDK upgrades.

Dev & Engineering ✓ Microsoft · Official

Azure AI Vision Image Analysis for Java

A practical Java SDK guide for captions, OCR, object detection, tagging, and smart image cropping.

Dev & Engineering ✓ Microsoft · Official

Azure Key Vault Keys for Java

Ground Java coding agents in secure Azure Key Vault and Managed HSM key-management workflows.

Related skills