Triggering text-to-speech Teams outbound call via Microsoft PowerAutomate - twilio

I have a dynamically created text which I need to be "translated" into speech (via Azure Cognitive service or a different one, whatever works) and a specific number being called. If someone picks up, they should confirm by pressing # or whatever, if they do not pick up or voicemail is on, the call should end and a different phone number should be called.
I want to build all this via a Microsoft PowerAutomate flow.
Is this possible with PowerAutomate and Teams or do I need external tools such as Twilio?
The out of the box Teams connector does not seem to allow automated outbound calls: https://learn.microsoft.com/en-us/connectors/teams/#actions
I also checked the Twilio connector in PowerAutomate and it only supports sending SMS: https://learn.microsoft.com/en-us/connectors/twilio/#actions

Related

How to programmatically send a message to a Teams BOT

I have a BOT running which reponds to api/messages URL from the BOT Framework Emulator, and I can send text to it.
However what I need to do is write an application which sends text to the BOT over this URL. That is basically does what the BOT Framework Emulator does when I enter text and send it, probably over the graph API.
I am aware of information which demonstrates sending to a chat in a channel, but I just need to send to the BOT itself.
Can anyone advise how I can do this, or is there a suitable sample which demonstrates it.
Thanks
At the end of the day, your bot is really just a web api endpoint. If you set up a tunneling service like ngrok, you can use it's built-in web viewer to see the traffic that is sent to you bot, e.g. via the emulator or even via the azure bot registration page (there is a similar emulator built into the page in Azure). Once you've seen that traffic, you can essentially just mirror it from whatever you want to call from - it's essentially a json payload.
However, considering your bot is just a web api, I'm not sure why you want to "call" your bot from another app. Why not just make another endpoint that you can use for app-to-app communication (like a normal api endpoint). You can then refactor your code so that whatever you need to do can be done either via a bot message OR via the API call.

Twilio Flex Post caller ID's phone number to external webpage

I am setting up a Twilio Flex acct and am wanting when a caller calls and lets say says or presses # 2 I want to ultimately take the callers phone number from the caller id and do a post to an external webpage. I am looking for documentation on this. Anyone have any suggestions?
The Twilio Studio flow I am having issues with it
Twilio developer evangelist here.
By default, incoming calls to a Flex number are directed through a Twilio Studio flow. The default flow passes the caller straight through to get assigned to an agent in Flex, but you can add other widgets to ask for input or direct the call any way you want.
One of the available Studio widgets is the Make HTTP Request widget which allows you to make an HTTP request to a URL of your choice. You can add data to the body of the request using the widget. To get the phone number of the caller you can use the variables set by the inbound trigger. In the case of the phone number of the caller, you need {{trigger.call.From}}.

Browser to Phone Calls Microsoft Teams (Communication API) C#

I am attempting to make a browser to phone call using microsoft teams communication api. I have gone through the documentation here and it suggests to create a calling bot.
I'm not sure if registering the bot on teams is necessary as I don't want the bot to participate in calls I need it purely for initiating 1:1 calls (myself to another user)
Is it possible to make browser to phone calls using communications-api
Any sample guiding implementation of this functionality

Twilio SMS and Survey

I am using Twilio to communicate with my users via SMS. I have my own web application that reads the incoming Twilio message. I use a web hook for that purpose. I am able to read the incoming message and process it in my web application.
I would like to send out survey questions periodically during the day to the same number. I researched the Studio flow for this purpose. It looks like a good option to write a survey.
I have a doubt though. In twilio console I added my url as a web hook to receive all sms messages. If I build a studio flow then how do I use that. I already have a web hook but I also want to do a survey using the same twilio phone number. Is there a way to do this in Twilio.
What I want to achieve is I receive SMS from a twilio number all through the day using a web hook. Every 2 hours or so I would like to send out a survey question to the same twilio number and process the answer in my end. What is the best approach to do this? I use c# and .net core to write my web app.
Thank you
you can do this.
You would use the REST API path of the Studio Trigger widget of your Studio Flow, to kick off this outbound SMS. You can find more details below. The scheduling logic, every 2 hours, would be handled by your application logic.
Trigger a Twilio Studio Flow Execution via the REST API
Execution
We use the REST API trigger for the Appointment Reminder Studio example.

Programmatically start a call with IBM Voice Gateway

I have connected a IBM Voice Agent (https://console.bluemix.net/docs/services/voice-agent/getting-started.html) with a Watson Assistant and a Twilio number.
I am able to call my Twilio number and follow a conversation with the assistant.
Now however, I don't want the user to call the number, but rather I want to programmatically trigger the call. Call some API to force the assistant to call some number. Ideally passing some context with it...
I know that Voice Agent uses Voice Gateway behind the scenes (https://www.ibm.com/support/knowledgecenter/en/SS4U29/welcome_voicegateway.html).
Update:
I was able to trigger a call by via Twilio. I ask Twilio to act as an intermediate. Twilio will call both my number and the SIP (Voice Agent) and bridge the call. However I am unable to pass any initial parameters to Watson Assistant since I don't control the process...
As mentioned above, IBM Voice Agent with Watson now allows end users to configure a custom header to extract from inbound SIP INVITE messages. Go to the "Advanced" section under "Edit Voice Agent" to configure it.

Resources