Can we develop a functional or process bot using azure service - botframework

I'm looking for a solution where my bot can understand users request(may be with LUIS this can be achieved) and verifies/validates the user/requirement with master data. If all good, then connect to my native database(Siebel CRM via API) to perform the defined action and log a reference ticket(via API) and finally send an email to user using outlook. Is this achievable using azure service?

Yes, the Bot Framework can do all of those things:
my bot can understand users request
LUIS is perfect for this.
verifies/validates the user/requirement with master data
All of this can be done within Waterfall dialogs or Prompts. You can either store the master data in the bot code, or query it from an external source and have the bot validate against it.
Here's a good sample for prompts and validation.
connect to my native database(Siebel CRM via API) to perform the defined action and log a reference ticket(via API)
The bot runs on C#/Node, so anything (including calling your APIs) that you can do in C#/Node, you can do in your bot.
send an email to user using outlook
Bot Framework has a specific Email Channel for this or you can use the Graph API.
Recommended Resources
Docs and QuickStarts
Samples Repo
Reference Docs: C# / TypeScript
LUIS Docs

Related

Is there any way to develop own Webchat instead of Microsoft Botframework-Webchat

I don't want to keep any dependency on Microsoft Botframework registration for Webchat. I have successfully deployed my Bot Code in Shared Server instead of AzurePortal, But to use the Webchat I have to register the Bot in AzurePortal.
My concern is to develop own Webchat which will directly communicate with the Bot API Endpoint.
Have anyone work on this situations.
To clarify, bots communicate via:
User interaction with DirectLine Client ->
DirectLine API receives data and sends to bot ->
Bot hosted anywhere receives message
WebChat is just a DirectLine client. If you want to build your own WebChat, you can clone the repo and build it yourself. Note, however, that all this does is make it so you can host your own webchat.js file.
I believe that what you're actually looking for is to build your own DirectLine API. The only way to do so, currently, is to develop it in Node with the offline-directline npm package. This is not an official Bot Framework package, but will accomplish what you need. To then use WebChat with offline-directline, you would just need to change domain property when rendering WebChat.

LUIS deployed through SharePoint - How to get user data?

We have deployed LUIS V4 in our Azure Platform, and made it available to our employee through SharePoint. It is currently open and does not need log in to be used.
We would like to capture information about who the person interacting with the bot is; is there any way that information related to the user can be retrieved? (employees to use the bot must be authenticated to Azure as it is within a SharePoint, but the bot doesn't require authentication as mentioned)
Thank you!
If you are just using LUIS, then no, it does not do any user specific tasks. It only translates an utterance (phrase) into specific actions (intents and entities), also does not store any state.
So all authorisations and user customisations need to be done outside of LUIS, with plain code. If you are using Azure/Microsoft Bot, you can hook up a channel to LUIS and use the id to identify user (skype id, phone number, microsoft teams id...)
A bit of info for connecting Azure Bot with SharePoint.

User's title attribute from Teams bot

I have a working Teams bot, using the nodejs botbuilder-teams SDK v3, and registered at dev.botframework.com and apps.dev.microsoft.com. I have created a Teams app that contains it (using the App Studio app in Teams), and installed it in an Office 365 developer tenant of which I am the admin, and the bot can send and receive messages with no problem.
When the bot is added to a team, I get the "conversationUpdate"/"teamMemberAdded" message, and use the fetchMembers() call from the teams bot connector to retrieve basic info for each member, including "givenName", "surname", "email", etc. However, I don't get the "jobTitle" attribute. Is there any way to retrieve jobTitle through the Teams bot SDK?
Alternatively, could I make MSGraph API calls (say, /v1.0/groups/{group-id-for-teams}/members)? Is there a good example of a nodejs serverside app like a bot calling the MSGraph API? The authentication part seems somewhat murky to me.
jobTitle is not part of roster details. You need to call Graph APIs to fetch additional details.
Here is Node.js sample for bot authentication. If you are using Azure for bot registration then please take a look at Azure Bot Service for Authentication in Teams documentation.

How to get Microsoft Graph access token using email id in the skype for business bot to add an event to Calendar

In Skype for Business Bot , User is pre-authenticated, need to get Microsoft graph access token , in order to perform Microsoft Graph operations (such as adding events to calendar) in programmatic way..
Please suggest how Microsoft Graph Apis can be integrated with Azure Bot for Skype for business channel.
We want Skype for Business bot to book the meeting just like described here
But instead of Teams need to use Skype for Business. but basically this code line will ask user to explicitly in this code sample
"await context.Forward(new AzureAuthDialog("
There is another sample that need Adminconsent to update the calendar of specific user
Swati
You cannot reuse anything from the pre-authentication. Like any other channel, you have to go through a specific authentication phase.
You have a great sample on the official repository to do this, here: https://github.com/Microsoft/BotBuilder-Samples/tree/master/samples/csharp_dotnetcore/24.bot-authentication-msgraph

Can Luis be used in Bots designed on platform other than MSFT Bot Framework

Can Luis be used in Bots designed on a platform other than MSFT Bot Framework like chatfeul.
After training a LUIS model, you get an endpoint which is a REST service that can be called. You can then pass parameters to this, modify it according to need and get a JSON response.
You can read more about connecting an API to chatfuel here

Resources