Build Intelligent Outlook using Azure
About this blog
I created this solution as part of Azure Developer stories, For more info about this competition please go to this website : https://devstories.konfhub.com/ and it was one among top 25 blogs 😍
This blog content was originally posted at my Dev.to site.
What problem are we trying to solve today?
Consider you are working for a company where they restricted access to outlook in your mobile or Consider you don’t want to sync professional mail in your mobile. In either cases there might be a possibility where you will miss to respond back to an escalation mail or feedback mails on time .
Proposed solution
- We don’t want to be disturbed for regular mails
- We should make our outlook intelligent enough to know that we are only interested in escalation or feedback mails. Right now outlook can’t categorize mails based on these sentiments of the contents.
So in this post, we will see how to make our Outlook intelligent enough to send out a message to our personal mobile number whenever there is an escalation / suggestion mails addressing to us.
Prerequisites
- Azure Logic apps
- Azure Functions
- Azure Cognitive services
- Twilio
Architecture
Steps to implement workflow
- Go to Azure portal : portal.azure.com
- Get free azure subscription here : https://azure.microsoft.com/en-in/free/
Logic Apps workflow
- Select Blank Logic app
- Search for Outlook in connectors and triggers and select trigger “When a new email arrives (v2)”
- Mention your mail id in “To or CC” condition
- In the next step choose Text Analytics as an operation and choose Detect sentiment (v2) as action , so that we can detect sentiment of the content of the mail
- In the next step choose Azure function to categorize each sentiment score and in the request body point it to the documents of the sentiment analysis response
- Now add condition based on the response of the azure function and if the response is ASAP or NEUTRAL , then send a text message to your registered number in Twilio account
Azure function workflow
Based on the sentiment score , we will use azure function to categorize the content of mail that we receive.
Preview of the mail that we sent in earlier step:
Request to sentiment analyzer
Response from sentiment analyzer
And based on the below code snippet we will categorize the above mail as Negative and will tag it as ASAP message and send response back to logic app
Twilio workflow
- Once we got response from Azure function it will be send to Twilio workflow based on two conditions , It will check if the response is either ASAP or NEUTRAL . In either of these case we will trigger a message to our configured number in the portal as below
Act on negative feedbacks ASAP
- Finally, we made our outlook intelligent enough to send notifications on negative feedbacks from our client
Github Source code
https://github.com/Divakar-kumar/SentimentWebhooks.Outlook
Further steps
Please go ahead and fork the repository to make your outlook more intelligent, where you can implement custom logics based on the sentiment score.