I'm setting up a Microsoft Skype bot, and I want to be able to have it post messages to individual and group chats. I have added a bot at https://developer.microsoft.com/en-us/skype/bots/manage and checked the Messaging checkboxes, but there's a field for "Messaging Webhook", which says "The HTTPS URL to send chat messages and content to. Required if you have a chat capability". What do I put in this field? There's no obvious help link. Do I need to set up an Azure website?
Solution for Node.js:
If you want to test your bot locally, you need to follow the instructions for ngrok described in the comments of this example and this guide. Once you run ngrok, you will obtain a HTTPS URL such as https://62a8271e.ngrok.io. You then need to append /api/calls to this URL, i.e. the webhook URL you need to enter in the Skype channel configurations and as environment variable "CALLBACK_URL" would be https://62a8271e.ngrok.io/api/calls.
If you want to test your bot globally and you have deployed it as an Azure web app, you need to replace the ngrok URL with your bot URL, i.e. the URL should look something like https://yourbot.azurewebsites.net/api/calls. Don't forget to add this URL as an environment variable in your web app settings as well.
Related
I need to do an integration with twilio where the application serves multiple accounts. With that I have the need to receive the whatsapp integrations in different URL for each user of the application.
I would like to register these URLs in a simple way, without my user having to access the twilio panel.
How can I register a whatsapp WebHook using HTTP APIs or nodejs SDK?
I searched the documentations and even debugged the nodejs SDK and couldn't find a way to do that.
What’s integration allows you toconfigure one URL per number. How about setting that URL to your backend which then breaks out the behavior based on the from number.
I am new to bot composer. I have gone tutorial from this link Weather tutorial to build a weather bot.
Here to get the weather report, it is sending Http request to some weatherbot url.
Instead of hardcoding that url in composer itself I want to read url from azure app configuration. Similar thing will require in my project.
Is there any way to do that, if there then please help me with this.
Please let me know if question is not clear or needed any more information.
You can either set the URL in the appsettings.json/.env or in the azure app configuration and then you can access it similar to this structure:
Settings:
"weatherServiceURL" : "http://weatherbot-ignite-2019.azurewebsites.net/api/getWeather?zipcode=${user.zipcode}&api_token=${dialog.weatherToken}"
"weatherApiToken": "<ACTUAL API TOKEN HERE>"
Dialog:
dialog.weatherToken = settings.weatherApiToken
dialog.weatherUrl = settings.weatherServiceURL
I am trying to get change notifications for users using microsoft graph api. For testing purpose I have been using ngrok as suggested by many.
But now I want to use the real notification url to test my code.
How do I do it? The microsoft documentation says "This URL must make use of the HTTPS protocol".
Do I create an endpoint in azure or what are the other options?
Thanks in advance.
The notificationUrl is just your proxy URL. See the example here: https://github.com/OfficeDev/hands-on-labs/blob/master/O3653/O3653-19%20WebHooks/Lab.md
The one in the sample using ngrok looks like:
https://74c48253.ngrok.io/notification/listen
You could use a Power Automate Instant Cloud Flow with the trigger as "When an HTTP request is received" and the subsequent steps could include emails with the details of the notification.
When you save the flow a URI will be generated which you can copy and use as your Graph change notification URI.
I am building a bot with the Microsoft bot framework. I don't want to use bot(other than webchat) emulator and don't want to use Azure also.I want to host my bot in local IIS only. Instead of using bot emulator I want to create my own custom chat page for chat with bot. I checked this but didn't get any idea. Is there any way to do so?
Please help. Thanks.
If you've internet connection you can use ngrok to make your local address public. Then, for endpoint use generated address from ngrok. At the end, send web chat to your testers.
I'm trying to create my own bot in microsoft bot framework,it is asking the messaging endpoint in bot,what exactlty is this endpoint?
Your messaging endpoint is the endpoint where messages will be sent to your bot.
A bot is just a web service. More specifically, a bot is an api that accepts posted messages. Like any service, your bot needs to be hosted somewhere.
You create a bot using the bot builder SDK (Node or C#) and deploy that code somewhere (could be Azure, could be AWS, could be on-premises). In your bot code you specify the route where messages will be sent to your bot (see node example below).
server.post('/api/messages', connector.listen());
The botbuilder samples all use '/api/messages' as the route, so if you host your bot on samplebot.azurewebsites.net, then your messaging endpoint would be samplebot.azurewebsites.net/api/messages. However, you can make the route whatever you want.
Note: to register your bot you don't actually need to enter an endpoint - you can always add it later.
The messaging endpoint is the url where the messages, send to your bot, will arrive. It's the path to your sever where the code of your bot is hosted.
A endpoint url can look like this:
https://example.com/api/v1/botmessage
It routes to my server where the code is hosted and performs a post.
And here arrives the post with the message:
app.post('/api/v1/botmessage', connector.listen());
As you can see the connector starts to listen when a message comes in.
If there is something not clear, please ask me.