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.

 

Buy Me A Coffee