Microsoft recently made an announcement about some breaking changes and retirements for Azure Communication Services.
You can read about them here: https://learn.microsoft.com/en-us/azure/communication-services/acs-retirement-and-breaking-changes-guide
I know when we build Azure Integration Services solutions we often used ACS for email and sms requirements as it was a very easy service to setup and use. This is now going to be a problem from us come September 2028.
Email Impact
If you build Logic Apps that used ACS to send email then you need to change these. You have a few choices to change connectors to use services such as:
- Send Grid
- Microsoft High Volume Email
- 3rd Party Services (There are a few on the documentation which are in Azure marketplace)
Probably one gotcha to watch for, I believe Microsoft M365 High Volume email is intended for emailing people in your tenant rather than emailing customers in their domains.
https://learn.microsoft.com/en-us/exchange/mail-flow-best-practices/high-volume-mails-m365
SMS / Whats App Impact
Whats App and SMS usage will also have a similar issue as that service is also being retired. You probably have the following options:
- Consider Twilio
- There is a dynamics offering
- There are also 3rd party offers in marketplace
Identify my Impact
You may have a lot of Logic Apps which are using different connectors of various types which could be impacted here. I believe the below query will help you to identify connectors using azure communication services. The query wont be perfect but usually you will have a lot of connectors and this should narrow down the scope to a managable amount and then you can look at these connectors to see which workflows use them.
resources
| where type =~ 'microsoft.web/connections'
| where
tolower(properties) contains 'azurecommunication'
or tolower(properties) contains 'managedApis/acsemail'
or tolower(properties) contains 'managedApis/acs'
or tolower(properties) contains 'sms'
or tolower(properties) contains 'communication'
| where tolower(properties) !contains 'sendgrid'
| where tolower(properties) !contains 'slack'
| project subscriptionId, resourceGroup, name, location, connectionStatus = tostring(properties.status), properties
Summary
It will be interesting to hear which services people are migrating to.
