.png)
Azure Communication Services Integration Guide
Connect Azure Communication Services SMS, email, chat, calling, identity, and phone-number capabilities with enterprise workflows through REST APIs and Azure Event Grid notifications.
Azure Communication Services integration options at a glance
Azure Communication Services provides workload-specific REST APIs for SMS, email, chat, calling, phone numbers, identity, recording, media, and resource administration. Selected workloads publish event notifications through Azure Event Grid, which can deliver SMS, chat, calling, email, and other supported events to HTTPS endpoints. SMS supports multi-recipient requests, while email and calling commonly use asynchronous processing. Authentication can use Microsoft Entra ID, managed identities, service principals, access keys, connection strings, user access tokens, or workload-specific HMAC signing. Martini can consume these APIs, expose endpoints for Event Grid notifications, map communication payloads, and orchestrate retries and status reconciliation.
Common Azure Communication Services integration patterns
Common Azure Communication Services data objects used in integrations
Authentication and security considerations
Authentication options
Azure Communication Services supports Microsoft Entra ID, managed identities, service principals, OAuth 2.0 access tokens, access keys, connection strings, short-lived user access tokens, and workload-specific HMAC signing. The applicable option depends on the ACS API or SDK.
Secret protection
Martini can keep Communication Services keys, connection strings, client secrets, and signing material in environment-specific secrets rather than workflow payloads. Prefer Microsoft Entra-based access where supported, restrict Azure RBAC permissions, and rotate long-lived keys.
Event security
Event Grid endpoints should validate subscription handshakes, event structure, event type, subject, resource, and event ID. Apply replay protection and reject unsupported or malformed notifications safely.
Operational considerations for Azure Communication Services integrations
Rate limits and retries
Apply workload-specific throttling for HTTP 429 and transient 5xx responses. SMS, email, phone numbers, and calling have different regional, sender, recipient, and resource limits; avoid unbounded workflow fan-out.
Pagination and checkpoints
Phone numbers, chat threads, messages, participants, and reporting results may be paginated. Follow the documented continuation mechanism and store a checkpoint for long-running imports.
Idempotency and eventual consistency
Accepted SMS, email, or calling requests do not necessarily represent final delivery or completion. Store ACS identifiers and business correlation keys, deduplicate Event Grid notifications, and reconcile uncertain submissions before retrying.
Versions and schemas
ACS workload APIs have separate endpoint formats and API versions. Pin and test versions, keep SMS, email, chat, and calling mappings distinct, and preserve unknown fields where practical.
Regional and payload rules
Validate E.164 phone numbers, sender capabilities, country restrictions, domain configuration, attachment size, MIME types, media URLs, and expiration behavior before submission.
Why use Martini instead of scripts or point-to-point integrations?
Coordinate complete integration processes
Scripts often handle a single API call, while Martini can orchestrate the full lifecycle: receive a business event, authenticate to ACS, transform the payload, apply communication rules, submit the request, and process later delivery or callback events.
Keep integrations maintainable
Reusable workflows, explicit mappings, environment-specific secrets, validation, correlation, and centralized error handling reduce the operational burden of point-to-point integrations.
Support multiple workloads
Martini can keep SMS, email, chat, calling, identity, phone-number, and monitoring flows distinct while exposing consistent APIs and canonical business behavior to enterprise applications.
Operate with visibility
Workflow logging, controlled retries, duplicate protection, status reconciliation, and Azure monitoring integrations provide a clearer operational model than isolated scripts.