Synchronize SharePoint Online Security Group Users To Lists Using MS Flow

Microsoft Flow is a SaaS-based platform that allows power users to send an email to a group of users. MS Flow doesn't support sending a direct email to SPO Group. Let's have a look at the scenario and solution to get started.


Scenario
If we need to send an email to SP Groups using MS Flow, it doesn’t support sending emails to SPO Groups. To make it work, a developer needs to store all the users as list items because an SPO List item can be used as “To” to send an email.
Start with the solution
Create a list with key & value pair as string type. Add Key as Group Name and MS Flow will add the users as the values against the defined key.
MS Flow at a glance
MS Flow is a scheduling activity that can be defined periodically as per the requirement, i.e., hourly, daily, weekly, monthly etc.

Let's start step by step.
Step 1
Recurrence is added as a trigger point to this flow. It can be defined as per the requirement and it works like a scheduled job.


Step 2
Initialize a variable, it will be used to store all email addresses with defined delimiter separator.


Variable name SPOGroupMembers of string type.
Step 3
Get Item from the list named GroupUsers. This list has two columns, consisting of a “Single Line Of Text”.



Step 4
Apply for each loop. The list can have multiple keys.
Add an action “Send an HTTP request to SharePoint”. Three properties are important for this action.
  1. Site Address - It should be the URL of the site collection.
  2. Method - Get request.
  3. URL - “_api/Web/SiteGroups/getbyName(“Column Name”)/users?$select=Email

Step 5
Add the action Parse JSON. It expects the payload from the above request. To get the payload or JSON, the response can be obtained from the below article.
Take out the payload from the HTTP request and paste it into the Schema section.

Step 6
Get the result after parsing the JSON. Loop through the result and store it into the above-created variable, i.e., SPOGroupMemebers with “;” as delimiter.


Step 7
Update the SPO List Item with SPOGroupMemebers Variable.


Output
SPO Group has two users -
SPList after running the flow will look like below.
Hope you will like it and Happy Coding.

How To Get Payload Request Data Using Microsoft Flow

To get the payload data from SharePoint Online, a developer needs to use either Postman or Custom Scripts. Usually, it’s a part of the solution or API. However, in some scenarios, developers need to use a payload outside the custom solution. Then, it’s not feasible to write a custom code or use Postman using the Client ID and Client Secret to get the payload or JSON response.
MS Flow is one of the easiest and quickest alternatives to get the JSON response from a SharePoint Online request. JSON response, i.e., the payload, can be used to identify the structure format, which helps to parse the data accordingly.
We can create a 3-step (trigger + action) flow that allows us to send an email quite securely (no need to handle the password separately).

Let’s explore how MS Flow is the quickest and easiest turnaround.
Step 1
Log in here with authorized credentials.
Step 2
Select My Flows -> New -> Create from blank.


Step 3
To start with the flow, we need to set the trigger point. So, I used recurrence as the trigger point to demonstrate.


Frequency can be set as per the requirement; I set it to 1 minute for demo purposes.
Step 4
Generate the payload for HTTP Request, i.e., Group Details - Group Name, “Approver” with the email selection.


Step 5
Send an email with the payload body.


Step 6
Save and wait for a minute. Also, you can trigger it manually.
Check your email account. You must have received a JSON payload with the data on the defined email address.

Example
  1. {  
  2.     "d": {  
  3.         "results": [{  
  4.             "__metadata": {  
  5.                 "id""https://mittal1201.sharepoint.com/sites/CommSite01/_api/Web/GetUserById(16)",  
  6.                 "uri""https://mittal1201.sharepoint.com/sites/CommSite01/_api/Web/GetUserById(16)",  
  7.                 "type""SP.User"  
  8.             },  
  9.             "Email""demo@mittal1201.onmicrosoft.com"  
  10.         }, {  
  11.             "__metadata": {  
  12.                 "id""https://mittal1201.sharepoint.com/sites/CommSite01/_api/Web/GetUserById(6)",  
  13.                 "uri""https://mittal1201.sharepoint.com/sites/CommSite01/_api/Web/GetUserById(6)",  
  14.                 "type""SP.User"  
  15.             },  
  16.             "Email""manoj@mittal1201.onmicrosoft.com"  
  17.         }]  
  18.     }  
  19. }  

To verify the result, I have SP Group with two users. I have got the same in the above email.


That's it. I hope this article is helpful to you. Happy Coding!!!

Online Free Webinar | How to use Elevation with SharePoint Framework using Custom Web API

Speaking | How to use Elevation with SharePoint Framework using Custom Web API

Online Free Webinar: How to use Elevation with SharePoint Framework using Custom Web API


Online Webinar Recording | Automate Business Process using Microsoft Azure Bot, MS Flow,and SharePoint Online

I delivered an online webinar -> Automate Business Process using Microsoft Azure Bot, MS Flow and SharePoint Online.

Business Use Case -> How to automate the internal manual job like send and receive visa file as well as extract the information and consolidate & store in SharePoint Online List.

Talked about couple of component:-
1. Azure Bot Framework -Communication Framwork.
2. LUIS -> to identify the intent.
3. SharePoint Online as data repository
4. MS Flow Premium Connector i.e. DocParser
5. Outlook -> Send and Receive an email.

Online Webinar Recording:-


Demonstrated Solution i.e. Git hub link here

Happy Coding.



Online Webinar |Automate Business Process using Microsoft Azure Bot, MS Flow and SharePoint Online

Speaking | How to automate business process using Conversational Bot using Microsoft Flow and SharePoint Online. 

Online Free Webinar: Automate Business Process using Microsoft Azure Bot, MS Flow and SharePoint Online.
Click here to register now: https://goo.gl/Jqh4to





SPFX | NPM Install Error | npm ERR! 404 Not Found: event-stream@3.3.6

npm ERR! 404 Not Found: event-stream@3.3.6

I created a SPFX solution almost a month back that time it was working fine but today a month later start getting below error which was quite strange. After getting lots of research got to know there was some malicious issue observed by NPM during securty check.
NPM security has decided to remove the "Flatmap-stream" and "event-stream@3.3.6" package.



On November 26, 2018, the npm package manager released security advisory 737 regarding the flatmap-stream package. It was determined that this package was malicious, and contained harmful code. In addition, the popular event-stream package was modified to make use of the harmful flatmap-stream package.

NPM Error:-


Resolution:- To fix it you need to update your event-stream package.
1. Delete the node_modules folder.
2. Delete the package-lock.json file.
3. Run npm install.


Office 365 Developer Bootcamp at Bangalore | Feedback

I am very pleased to share the attendee feedback at Office 365 Developer Bootcamp at Bangalore.

Below Screen says lots, Please have a look









Office 365 Developer Bootcamp | Speaker Slides


Thanks for attending Office 365 Developer Bootcamp at Bangalore on 24-Nov-2018. As promised, all the resources presented in the bootcamp is available in the below Git.

You can find all speaker slides at GitHub Link :- 

https://github.com/mstechcomin/office365dev-bootcamp-2018-blr


Please submit your valuable feedback here. This survey is completely anonymous and the results goes directly to Microsoft to improve the future events.


Office 365 Developer Bootcamp at Bangalore

We are happy to share that Global Office365 Developer Bootcamp at Bangalore is sold out. We have great lineup of speakers and hear directly from the core Office365 engineering team and MVPs. hashtagsharepoint hashtagMicrosoftTeams hashtagIndiaMVP hashtagMVPBuzz

Registration Link https://www.eventbrite.com/e/global-office-365-developer-bootcamp-tickets-48086187080




Course: Learn PnP Powershell Cmdlets with SharePoint Online

Welcome to PnP Powerhsell Cmdlets series with SharePoint Online using Modular Structure


Introduction


SharePoint Patterns and Practice (PnP) contains a library of PowerShell Cmdlets which allowed to perform operation towards SharePoint. These Cmdlets use CSOM and works for both SharePoint Online and On Premises.



#1. Get Started with PnP Cmdlets with SharePoint Online



#2. Create or Delete Subsite using PnP Cmdlets with SharePoint Online


#3. Create or Delete Site Column using PnP Cmdlets with SharePoint Online


#4. Create or Delete Content Type using PnP Cmdlets with SharePoint Online


#5. Associate Site Column with Content Type using PnP Cmdlets with SharePoint Online

#6. Create or Delete a List using PnP Cmdlets with SharePoint Online


#7. Add Content  Type to List using PnP Cmdlets with SharePoint Online


#8. Add View to List using PnP Cmdlets with SharePoint Online

Github Link for all sample code here:- https://github.com/manoj1201/PnPUsingSPO

Happy Coding.