I need help with Azure Communication Service and Copilot Studio Agent
Hello everyone
I have created a voice bot in Copilot Studio. Now I want to assign a phone number from my Azure Communication Service to it via the “Telephony (Preview)” channel. The aim of the whole exercise is to set up intelligent forwarding. -> The caller says a text and based on words, it should be forwarded to the appropriate department. Unfortunately, the assignment of the number does not work. I can select my ACS service and then go to PSTN under “Phone number type” and dial my number. Then I click on Connect and after a while a meaningless error message appears.
Can anyone help me with this? I would be very grateful for your support. Thank you very much.
Azure Communication Services
-
Shree Hima Bindu Maganti • 4,775 Reputation points • Microsoft External Staff • Moderator
2025-05-13T15:21:11.65+00:00 Hi @Oliver
It appears you are having trouble connecting your Azure Communication Services (ACS) phone number to your Copilot Studio voice bot.Ensure your Azure Communication Services resource is properly connected to Copilot Studio by verifying the connection status in the Channels section of the Copilot Service admin center.
Confirm you are selecting the correct phone number type (PSTN) and that the number is valid and properly configured in ACS.
Since you mentioned receiving a "meaningless error message," check for specific error codes or messages that could provide more context. Look for logs or additional details in the Azure portal related to the connection attempt.
Verify you have the necessary permissions to connect phone numbers in both Azure Communication Services and Copilot Studio.
Consult the official documentation for any specific requirements or configurations needed for integrating ACS with Copilot Studio.
References:- Supercharge Your Voice Interactions: Integrating Azure Communication Services with Microsoft Copilot Studio Agents
- Connect to Azure Communication Services
Let me know if you have any further assistances.
-
Shree Hima Bindu Maganti • 4,775 Reputation points • Microsoft External Staff • Moderator
2025-05-14T11:53:21.99+00:00 Hi @Oliver
We haven’t heard from you on the last response and was just checking back to see if you have a resolution yet. In case if you have any resolution, please do share that same with the community as it can be helpful to others. Otherwise, will respond with more details and we will try to help. -
Oliver • 0 Reputation points
2025-05-14T12:57:10.8333333+00:00 Hello Shree Hima Bindu Maganti
Thank you very much for your answer and asking, unfortunately I am no further forward with my problem.
Where can I find the connection status in the “Channels” section of the Copilot Service Admin Center?
How can I see if I have the required authorization to connect?
Thank you very much for your help
Greetings
Oliver
-
Shree Hima Bindu Maganti • 4,775 Reputation points • Microsoft External Staff • Moderator
2025-05-14T16:23:51.6433333+00:00 Hi @Oliver
Thank you for your response.To check the connection status of your Azure Communication Services (ACS) phone number in Copilot Studio, go to the Copilot Studio Admin Center, navigate to your bot project, select “Settings” > “Channels”, and look for the “Telephony (Preview)” channel. Here, you can verify if the ACS resource and phone number are listed and connected. If the phone number isn’t listed or shows an error, try removing and re-adding it using the “Add phone number” option. Regarding permissions, your Azure account must have the Owner or Contributor role assigned to both the ACS resource and the Copilot Studio environment to connect a phone number successfully. You can check this in the Azure portal by selecting the ACS resource and navigating to Access Control (IAM) > Role assignments. Ensure your user account is listed with the appropriate role.
https://learn.microsoft.com/en-us/azure/role-based-access-control/role-assignments-portal -
Oliver • 0 Reputation points
2025-05-15T08:28:29.7233333+00:00 Hello Shree Hima Bindu Maganti
My problem is that I cannot add an ACS Phone number in my Copilot Studio Bot under the Telephony (Preview) Channel. Therefore nothing is displayed. When I add a phone number, I get an error message that says nothing. When I look at the authorization in ACS under Access Control (IAM), I have the Current Role -> Owner. I don't know what the problem is? I can't find any log information under the ACS resource that points to the error, nor do I see anything in the bot. It would be great if I could fix this. Thank you very much for your support. Greetings
Oliver
-
Shree Hima Bindu Maganti • 4,775 Reputation points • Microsoft External Staff • Moderator
2025-05-15T14:34:04.2466667+00:00 Hi @Oliver
Thank you for your response.
It sounds like you're encountering an issue with adding an Azure Communication Services (ACS) phone number to your Copilot Studio Bot, even though you have the Owner role assigned via Access Control (IAM). While the Owner role should typically provide sufficient permissions, the generic error message and lack of log detail understandably make this challenging to diagnose.Review Configuration Settings Double-check that your telephony channel configuration in Copilot Studio is complete and that all required fields (e.g., phone number, region, etc.) are filled out accurately.
The phone number must be a PSTN-capable number (i.e., enabled for inbound calling). Ensure that the number is purchased and correctly provisioned in ACS with the "Voice" capability. If the number shows "SMS" or other capabilities only, it won’t be usable with the voice bot.Enable Diagnostic Logs for ACS While ACS doesn’t surface detailed errors in the portal UI, you can enable diagnostic settings for your Communication Services resource via Azure Monitor to capture more detailed logs. This may help uncover hidden issues with the phone number or bot connection.
→ How to enable diagnostics in Azure
https://learn.microsoft.com/en-us/azure/communication-services/concepts/telephony/plan-solutionCheck for Trial Environment Limitations If you're operating in a trial or sandbox environment, be aware that some telephony features (such as phone number capabilities) may be limited. Make sure the phone number you're using supports inbound voice (PSTN) and is fully provisioned.
Let me know if you have any further assistances. -
Oliver • 0 Reputation points
2025-05-16T08:47:04.17+00:00 Hello Shree Hima Bindu Maganti
Thank you very much for your reply and support.
How can I check if the telephony channel configuration in Copilot Studio is complete? When I click on the channel, I only have the option “Add phone number”. I cannot set anything else. Not even in the agent settings. Is there still a global setting for the telephony channel?
I have set up the Azure Monitor once for the ACS resource. Unfortunately, I can't find any logs regarding the connection to the Copilot Studio Agent. Where should I look?
About the phone numbers, I ordered them from Microsoft and got them assigned.
Where can I see if the phone numbers have restrictions?
Thanks for your help
Greetings Oliver
-
Shree Hima Bindu Maganti • 4,775 Reputation points • Microsoft External Staff • Moderator
2025-05-16T11:20:13.0133333+00:00 Hi @Oliver
Thank you for your response.
To check if the telephony channel configuration in Copilot Studio is complete, you should ensure that you have successfully connected to an Azure Communication Services (ACS) resource. If you only see the option to “Add phone number,” it may indicate that the configuration is not fully set up. You can refer to the setup instructions for connecting to ACS and ensure all necessary steps have been completed.Regarding the Azure Monitor logs, you should look for call logs and diagnostics related to your ACS resource. These logs can help you troubleshoot the connection to the Copilot Studio Agent. Make sure that diagnostics are configured correctly in your SDKs to capture the necessary information.
To check if the phone numbers have restrictions, you may need to review the details of the phone numbers in the Copilot Service admin center. Typically, restrictions or limitations associated with phone numbers can be found in the phone number management section.
References:- Manage phone numbers
- FAQ about the voice channel
Can you refer these documents .
Let me know if you have any further assistances needed.
-
Oliver • 0 Reputation points
2025-05-16T13:26:36.9866667+00:00 Hello Shree Hima Bindu Maganti
Thank you for your answer.
Can you tell me if I need certain licenses to be able to implement this?
Thank you very much
Greetings Oliver
-
Oliver • 0 Reputation points
2025-05-16T13:41:08.34+00:00 Can you send me a link for the Copilot Service Admin Center. I don't know how i have to connect? Thanks
-
Shree Hima Bindu Maganti • 4,775 Reputation points • Microsoft External Staff • Moderator
2025-05-16T13:52:38.1666667+00:00 Hi @Oliver
Thank you for your response.
To implement Azure Communication Service with Copilot Studio, you will need specific licenses. For using Copilot for Service, your users need the Copilot for Service license to embed agents in CRM solutions. Additionally, you may need a Dynamics 365 Contact Center license depending on your setup.As for connecting to the Copilot Service Admin Center, you can find it in the site map of the Copilot Service admin center under the "Channels" section in "Customer support." This is where you can manage your phone numbers and check the configuration of your telephony channel.
References:
- Get access to Copilot Studio
- Manage phone numbers
- Welcome to Microsoft 365 Copilot for Service
Let me know if you have any further assistances needed.
-
Oliver • 0 Reputation points
2025-05-16T14:17:15.1133333+00:00 I have found an error message, can you help me? Thank you very much.
-
Oliver • 0 Reputation points
2025-05-16T14:18:20.5+00:00
Sign in to comment
1 answer
Sort by: Most helpful
-
Oliver • 0 Reputation points
2025-05-15T08:25:41.0566667+00:00 -
Oliver • 0 Reputation points
2025-05-16T14:32:03.67+00:00 Hello Shree Hima Bindu Maganti
Extract from JSON
Thanks for your support.
Greetings
Oliver
{\"code\":\"ResourceOperationFailure\",\"message\":\"The resource operation completed with terminal provisioning state 'Failed'.\",\"details\":[{\"code\":\"URL validation\",\"message\":\"Webhook validation handshake failed for https://nuanccsvc.api.il101a.ch.prd.ls.powerplatform.com/ivr-controller/v1/calls/incoming/tenants/c276d79b-4dd1-4d26-9814-d22cfa7c459c/apps/2e50cbbf-dd29-4635-92b2-50259716d0b6. Http POST request failed with response code Unknown. For troubleshooting, visit https://aka.ms/esvalidation. Activity id:eb85d8f6-85ce-49b7-a068-e78f753afc94, timestamp: 5/16/2025 2:12:36 PM (UTC).\"}]}}", "eventCategory": "Administrative", "entity": "/subscriptions/fc05b441-f685-4427-ba24-5c8a674840e7/resourceGroups/TeamsPhoneAzureCommunication/providers/Microsoft.EventGrid/systemTopics/TestACSTeamsPhone-system-topic/eventSubscriptions/phoneNumber-41415623424", "message": "Microsoft.EventGrid/systemTopics/eventSubscriptions/write", "hierarchy": "c276d79b-4dd1-4d26-9814-d22cfa7c459c/fc05b441-f685-4427-ba24-5c8a674840e7"
-
Shree Hima Bindu Maganti • 4,775 Reputation points • Microsoft External Staff • Moderator
2025-05-16T15:20:56.36+00:00 Hi @Oliver
Thank you for your response.
It seems that you are experiencing a webhook validation handshake failure in Azure Communication Services. This error typically occurs when the endpoint you provided for the webhook does not respond correctly to the validation request from Azure Event Grid.To troubleshoot this issue, you can follow these steps:
Make sure that the callback URL you provided supports HTTPS, as HTTP endpoints are not supported by Call Automation.
Check if your application endpoint is validated with Event Grid when creating the event subscription. The provisioning status for your event subscription should be marked as succeeded if the validation was successful.
Look at the logs of your service to see if there are any errors or issues that could provide more context on why the validation handshake failed.
For more detailed troubleshooting steps, you can refer to the Azure documentation on webhook validation and troubleshooting.
Troubleshooting in Azure Communication Services
Troubleshooting call end response codes for Calling SDK, Call Automation SDK, PSTN, Chat SDK, and SMS SDK (automation)
Let me know if you have any further assistances needed. -
Shree Hima Bindu Maganti • 4,775 Reputation points • Microsoft External Staff • Moderator
2025-05-19T07:11:55.65+00:00 Hi @Oliver
We haven’t heard from you on the last response and was just checking back to see if you have a resolution yet. In case if you have any resolution, please do share that same with the community as it can be helpful to others. Otherwise, will respond with more details and we will try to help. -
Oliver • 0 Reputation points
2025-05-19T08:22:49.9233333+00:00 Hello Shree Hima Bindu Maganti
Thank you for your reply.
It appears that you are experiencing a webhook validation handshake error in Azure Communication Services. This error usually occurs when the endpoint you specified for the webhook does not respond correctly to the validation request from Azure Event Grid.
Where can I find the Callback URL and the WebHook URL. Is the URL I highlighted in the image the WebHook URL -> Endpoint? What should appear in the browser when you enter it?
Greetings
Oliver
-
Oliver • 0 Reputation points
2025-05-20T06:55:15.4666667+00:00 Hello Shree Hima Bindu Maganti
How do I find the following webhook (see below)?
Thank you very much for your help
Greetings
Oliver
https://nuanccsvc.api.il101a.ch.prd.ls.powerplatform.com/ivr-controller/v1/calls/incoming/tenants/c276d79b-4dd1-4d26-9814-d22cfa7c459c/apps/2e50cbbf-dd29-4635-92b2-50259716d0b6
-
Shree Hima Bindu Maganti • 4,775 Reputation points • Microsoft External Staff • Moderator
2025-05-20T10:19:25.3666667+00:00 Hi @Oliver
Thank you for your response.
To find the Callback URL and the WebHook URL in Azure Communication Services, you typically need to set them up in the Azure portal. The WebHook URL is the endpoint where Azure Communication Services will send events related to calls, such as incoming calls.In your case, the URL you highlighted in the image appears to be the WebHook URL. When you enter this URL in a browser, you should expect a response confirming the endpoint is reachable. This could be a simple message or a JSON response indicating that the service is up and running. If the endpoint is not correctly set up or if there are issues with the validation handshake, you may encounter errors.
For further assistance with the webhook validation handshake error, ensure that the endpoint is publicly accessible, has a valid HTTPS certificate, and is configured to respond correctly to validation requests from Azure Event Grid.
References: -
Oliver • 0 Reputation points
2025-05-21T07:19:54.26+00:00 Hello Shree Hima Bindu Maganti
I can't get any further and have the feeling that I'm failing because of the licensing.
Can you tell me exactly which license I need if I want to work out the following scenario:
I have a Teams Phone Auto Attendant which forwards the caller to a bot (created with a Copilot Studio Agent). The caller says his request and based on certain words, he should be forwarded to the appropriate department.
I would like to implement this with Azure Communication Service and Copilot Studio Agent.
What licenses do I need and do I also need a license for Dynamics 365?
Thank you very much for your support.
Greetings
Oliver
-
Suresh Chikkam • 2,135 Reputation points • Microsoft External Staff • Moderator
2025-06-06T10:02:44.6166667+00:00 Oliver, when you try to connect a phone number, ACS reaches out to the web address you provided to make sure it can deliver events there. If that address doesn’t answer exactly the way ACS expects, the connection quietly fails, and you see that unhelpful “ResourceOperationFailure” message. In other words, ACS tried to send a small test request to your webhook URL, didn’t get the right reply, and gave up.
To fix this, your bot’s webhook URL needs to be a real HTTPS address that anyone on the internet can reach (no firewalls blocking it, and the TLS certificate must be valid). When ACS sends its validation request, your service should read the JSON it receives, pick out the “validationCode” value, and immediately send back a JSON response that looks like this:
{ "validationResponse": "<the exact code ACS sent you>" }
If your service does not reply with that exact JSON, ACS assumes it can’t talk to your endpoint and cancels the setup. You can check reachability yourself by opening a terminal (or PowerShell) and running something like:
curl -v https://your-webhook-url/ivr-controller/v1/calls/incoming/…
You should see a quick “200 OK” with either an empty body or a simple confirmation message. If curl times out, rejects the certificate, or shows any error, ACS will fail the phone-number connection for the same reason.
Finally, make sure the identity Copilot Studio uses has permission to manage calls on your ACS resource. In the Azure portal, go to that Communication Services resource, open Access Control (IAM), and verify that the Copilot service principal or managed identity is listed with a role like “Communication Services Caller.” Without that role, ACS won’t let your bot subscribe to events or answer calls, even if your webhook is perfect.
Once your webhook is publicly reachable over HTTPS, always echoes back the validation code, and your Copilot identity has the right ACS role, you can try “Add phone number” again. The number will move from “Pending” to “Connected,” and incoming calls will flow straight into your Copilot Studio voice bot. Then you can pick up the speech-to-text results, look for keywords, and forward callers however you like.
-
Suresh Chikkam • 2,135 Reputation points • Microsoft External Staff • Moderator
2025-06-09T00:46:49.8+00:00 Hi Oliver,
Following up to see if the above answer was helpful. If this answers your query, Kindly consider upvoting the comment if the information provided is helpful. This can assist other community members in resolving similar issues.
Sign in to comment -