Artur Quirino Artur Quirino - 22 days ago 15
C# Question

Connecting Bot Framework with LUIS. Which AppId and AppKey should I use?

I am trying to use a LUIS bot connect with a bot that is registered on azure. However, I am confused about which keys and Ids should I use. I have the follow 'informations':

On Azure:
Bot handle, Microsoft App ID and Microsoft App Password.

On LUIS:
App ID, App Name, Programmatic API Key

When coding, in the "LUIS Class", I have:

[LuisModel("ID", "Key")]
[Serializable]
public class EstadosLuis : LuisDialog<object>
{...


Question 1 - What Id and Key should I use here?

On the web.config I have:

<add key="BotId" value="BotName" />
<add key="MicrosoftAppId" value="AppID" />
<add key="MicrosoftAppPassword" value="APPKey" />


Question 2 - What Id and Key should I use here?

Question 3- When using the Microsoft Bot Framework Channel Emulator, which Bot URl, App Id and App Password should I use (Local testing)

Question 4- When using the Microsoft Bot Framework Channel Emulator, which Bot URl, App Id and App Password should I use (Online testing)

Thank you!

Answer

Q1: App Id and App Key that you get from your LUIS application that you created in the LUIS.ai page. Refer to this to understand from where in the page you can get this information.

Q2: Microsoft App Id and Microsoft App Password you got from Bot Framework Portal. Refer to this if you don't know how to get them.

Q3

  • Bot Url: The localhost:port url where your bot is running + /api/messages. Usually its http://localhost:3978/api/messages or http://localhost:3979/api/messages. It must be http.
  • You don't need to use the AppId and App Password unless you are using ngrok to debug your bot locally against one of the supported channels (which in that case you will be updating the endpoint url in the Bot Framework Portal to be the ngrok one + /api/messages). These are the Microsoft App Id and Microsoft App Password from the Bot Framework Portal

Q4

Remember that in this scenario you will have to replace the Emulator URL with the ngrok forward for the port 9000 as I explained here.