Microsoft Flow with Artificial Intelligence

Published: Dec 26, 2018

The rise of Artificial Intelligence has transformed all the industry with its superficial knowledge and the ability to add human intelligence in machines. The AI- based systems are trying to eliminate the unessential intervention of humans to a greater extent by offering AI-enabled business services. Every business has made a swift application that promises to deliver smart and efficient outputs through AI-enhanced systems in comparison to what humans produce. Using these smart AI-enabled systems, businesses are capable of providing decisions with precision.

To serve businesses better, Microsoft has introduced AI-enabled services called “Cognitive services”  which includes various services and sectors categorized according to Vision APIs, Speech APIs, Language APIs, and Search APIs which belong to Cognitive Services. These services can be easily integrated with many other platforms to deliver maximum output.

Thus, we can integrate the above services with Microsoft Flow as it is a successor of SharePoint designer services that prepares AI-Integrated Microsoft Flows which can perform smart jobs with perfection. Well, holistically speaking

Microsoft FLOW + Cognitive Services = Surprisingly Powerful tools

If you are a SharePoint developer and want to learn about Microsoft Flow, let’s dive into it in more detail.

Generate Cognitive Service API Key and URL

To generate a Cognitive Service API Key and URL follow the following steps given below

  • Login into an Microsoft Azure account. This will show a list of services if one has already added in it.
    Azzure Account
  • Find the required service from the list and then click Add. For Example: “Text Analysis”. So click on “Text Analysis” and add service in the list
    Text Analysis
  • The selected service will be added in the list of APIs.
    Service Added
  • Note down any one value from the Endpoints and a key value either Key 1 or Key 2. These two noted values will be used in the later stage

Cognitive Service Examples 

Let’s go through 3 different Cognitive services by using Microsoft Flow. These services are successfully integrated within the Microsoft Flow.

  1. Text Analytics: This will detect the sentiments of a given sentence like it is positive, negative or neutral.
  2. Optical Character Recognition to Text: OCR recognition tool will extract text from the uploaded image.
  3. Recognize Domain Specific Content: This will display the name of the celebrity who is renowned and popular from an uploaded picture if any.

Text Analytics 

Flow requirement

Whenever any new feedback is added, the owner of the application must receive an email indicating the added feedback whether it is positive, negative or neutral. Let’s assume, there is a list of user feedback as shown below.

 

Feedbacks

  • From the app launcher icon of the Office 365 portal, click on Flow. This will redirect to My Flows page.
    App launcher
  • Click + New > + Create from blank.
    Create New
  • Click on Create from blank.
    Create from blank
  • From the Triggers panel, find and select When an item is created.
    When an item is created
  • Set values, Site Address = Site collection URL and List Name = Name of the list.
    Set values
  • From the Action panel, find and select Detect Sentiment of Text Analytics API. Enter values:
  1. Connection Name = Any name here
  2. Account Key = Enter key value noted while adding this Service API i.e. either Key 1 or Key 2.
  3. Site URL = Enter endpoint value noted while adding this Service API.

Then click “Create”.

 

Detect Sentiment

  • Once the service gets connected, the input screen will show up. Inside the Text field select the Feedback variable from the Dynamic content panel.
    Feedback variable
  • From the Action panel, find and select “Condition”.Condition

Enter Values,

  • Choose a value = “Score” variable from Dynamic Content panel

  Dynamic Content

Here, Score is the output from the “Text Analytics” action.

The sentiment of feedback is depending on the score:

    • If Score < 0.3 then, feedback has a negative sentiment.
    • If Score =>0.3 and <=0.7 then, feedback has a neutral sentiment.
    •  If Score >0.7 then, feedback has a positive sentiment.
  • For the negative sentiment, the condition must be as per below image.Negative sentiment
  • If this condition is true, then send an email to the owner saying the submitted feedback has negative sentiment.Select Yes in the if section, find and add “Send an email” from the Action panel. Set below values:
    To = Owner emailSubject = Any text value

    Body = Any text value conveying the negative sentiment.

    Send an email

  • Now, if Sharepoint Developer wants to perform an action when this condition is false then an action can be placed inside it. For the “If No” section. If there is no action required to be performed then keep it blank.
    Add an action
  • Similarly, for positive sentiment, add the condition and the send email action as per below image.
    add the conditionadd the condition
  • For neutral sentiment, add the condition in advanced mode and then apply ‘send email’ action.
  • In this case, the condition is a combination of two different conditions then the syntax will be like this:

Condition = ‘@and(greaterOrEquals(body(‘Detect_Sentiment’)?[‘score’],

0.3),lessOrEquals(body(‘Detect_Sentiment’)?[‘score’], 0.7))’

Select Condition

  • The flow is ready to provide the sentiment of a submitted feedback. See below screenshots for these 3 different sentiments.Negative Sentiment Feedback:

    Negative Sentiment Feedback

    Positive Sentiment Feedback:

    Positive Sentiment Feedback

    Neutral Sentiment Feedback:

    Neutral Sentiment Feedback

Optical Character Recognition to Text:

SharePoint is popular as a document management system and most of the time while providing SharePoint consulting service, we face challenges in extracting text from an image. Let us examine what to do and how to do in such cases.

Flow requirement: Whenever a new image is uploaded, a flow will extract text from the image and an email will be sent to an owner with that text.  Let’s say, there is an Image Document Library to upload images as shown below.

Images Document Library

  • Follow 1, 2 and 3 steps from the Text Analytics example. Then start below steps,
  • From the Trigger panel, find and add trigger When a file is created (properties only).

Set values: 

    • Site Address = Site collection URL
    • Library Name = Name of library where images will be uploaded.
    • Folder = Empty (i.e. Root Folder)

Set values

  • From the Action panel, find add action Get content. 
    Set values:

    • Site Address = Site collection URL
    • File Identifier = Select “Identifier” variable from Dynamic content panelGet file content
  • From the Action panel, find and add service “Optical Character OCR to Text”. If this service asks for Account Key and Site URL values, then provide the respective noted values of Computer Vision API.
    • Connection Name = Any name here
    • Account Key = Enter key value noted while adding this Service API i.e. either Key 1 or Key 2.
    • Site URL = Enter endpoint value noted while adding this Service API.
  • After providing the above values, set below values:
    • Image Source = Image Content
    • Image Content = File Content variable from Dynamic Content panel

 

Optical Character OCR

  • The above action will extract text from the uploaded image.
  • From Action panel, find and add Send an email action, and set values:

To = Owner email
Subject = Any text value
Body = Any text value with variable Detected Text from the Dynamic Content panel. “Detected Text” is an output of OCR to Text service.

Send an email action

  • Save the flow and upload the image in the Image Document Library. For example: below image is uploaded in the library.
    Upload
  • The below email will be sent to the owner.
    New Image Uploaded

 

Recognize Domain Specific Content:  

Well, this is an interesting service for SharePoint Development. If you are a software developer, you might have faced issues of recognizing a person’s identity in an image. In such scenarios, one can use ImageDocumentLibrary.

Flow requirement: Whenever a new image is uploaded, flow should be able to rectify the celebrity faces and their name from the image.An email will be sent to the owner with those names.

  • Follow 1, 2 and 3 steps from Optical Character Recognition to Text example.
  • From the Action panel, find and add “Recognize Domain Specific Content”. If this service asks for Account Key and Site URL values, then provide the respective noted values of Computer Vision API.   a. Connection Name = Any name here  b. Account Key = Enter key value noted while adding this Service API i.e. either Key 1 or Key 2.

      c. Site URL = Enter endpoint value noted while adding this Service API.

  • After providing above values, set below values:
    • Domain Model = celebrities
    • Image Source = Image Content
    • Image Content = File Content variable form Dynamic Content panel
  • Recognize Domain Specific ContentThe output of the above action will be an array of celebrity names.
  • From the Action panel, find and add “Send an email” action. Set values,
    • To = Owner email
    • Subject = Any text value
    • Body = Any text value with Celebrity Name variable from Dynamic Content Panel. Here, “apply to each” action will be automatically added which will iterate through each celebrity image available.
  • Save the flow and upload an image in the Images Document Library. For example: below image is uploaded in the library.
    Steve Jobs
  • The following email will be successfully sent to the owner.
    New celebrity image uploaded

Conclusion

Experts from the industry are sure that the rise of AI will offer a better future to all the humans and businesses involved in the technology arena. With the same intent, Microsoft has provisioned many “Cognitive Services” apart from the ones mentioned above that empower SharePoint consultants. With full liberty, one can explore them based on their requirements. Many complex business requirements are easily achieved in comparatively lesser time but with higher efficiency using Microsoft Cognitive services. We hope through this blog, we have helped you in exploring the services they provide and you have an answer for all your questions. So, why not take the advantage of these services that are easily integratable with other popular platforms like Twitter, MailChimp, Dynamics 365 etc.

Comments

  • Leave a message...

Related Articles

How do I Integrate CRM into Twilio Flex?

Dec 2, 2020

Things you must know before choosing Power BI

Nov 26, 2020

What are ORMs and How does it work?

Nov 24, 2020