SharePoint Experts Blog

How to invite external users using SharePoint Designer Workflows in Office 365 (Online)

In this article, I want to review a part of Customer Collaboration System, which can be used to share documents with clients and cooperative work on common projects. This ‘proof of concept’ was build using SharePoint Online and Plumsail Workflow Actions Pack.

Architecture description

Core of our system is a simple document library which contains different folders, each folder matches to one of clients and contains common documents (and other folders) which will be available for a client. The permission restriction will be carried out with help of SharePoint Groups. For each of our clients will be created own SharePoint group. Each folder in the document library will be matched to SharePoint group by name.

All internal logic concluded in two workflows, which start on “Item Creation” event. Additionally we will have two custom lists: “Companies” and “Contacts”. We will use these lists as dictionaries to store information about clients. “Contacts” list contains user email and lookup to “Companies” List.

The common architecture scheme I have provided below:

Invite External Users SharePoint Online

How does it look for end user?

For example, we want to share contract with our contractor. Firstly, we need to add contractor’s company in “Companies” list and add a couple of contractor’s employee into “Contacts” list. Right after that, we can upload any documents inside contractor’s folder in the documents library. All contractor’s employee will get an email invitation that look like at the figure below and will have access to shared documents.

Invite External Users SharePoint Online Invitation

Create new Company workflow

The “Create new company” workflow is very simple it does only three things:
  • Creates new SharePoint group with name of company;
  • Creates new folder in “Documents” library;
  • Grants permission on created folder;

This workflow is configured to start on list item creation in “Companies” list.

Invite External Users SharePoint Online Workflow

There is only one moment on which I want to pay attention, it is parameter “Folder ID”. It was filled the following way. We need to know folder ID to grant permission to folder by a workflow action.

Invite External Users SharePoint Online Workflow

Invite External Users Workflows

There is another very simple workflow, which contains only a few Workflow Action, please pay attention that I used Invite External Users workflow action.

This workflow is configured to start on list item creation in “Companies” list.

Invite External Users SharePoint Online Workflow

Before using this workflow action please turn on option “Allow external users who accept sharing invitations and sign in as authenticated users” in site collection administration interface (usually it at the following URL: “https://yousite-admin.sharepoint.com/_layouts/15/online/SiteCollections.aspx”).

Conclusion

In this short article I briefly reviewed a part of implementation of Custom Collaboration System, based on SharePoint Online and Workflow Actions Pack. I hope you will go ahead and do more complex systems. Additionally I want to mention that using external users allows you to save your money on licenses for Office 365 users.

Please feel free to comment the article, I am curious about your cases and implementations.

Posted in: Products, Workflow Actions Pack

  • m
    Im reciveing an the following Exception: The property or field ‘HasUniqueRoleAssignments’ has not been initialized, when I try to add permission to a list item using the users external users email.
    • Robert Martin
      I found that this error message occurs for me when a SharePoint group that I was trying to set permission for did not exist or could not be resolved.
  • m
    Does the add external user send the user an email? Trying to add an external user to a list item. My workflow is basically this
    • m
      Forgot to add.. External user is not recieveing an email, also the Test1 group is empty.
      • Roman Rylov
        Thanks for question, we will try reproduce described case and I will answer to you tomorrow.
      • Roman Rylov
        I’ve checked the logs for this error and found that argument ‘UserName’ is missing.I would recommend you create dummy workflow and manually fill all necessary arguments to check if it works. Also we can setup screen sharing session to solve the issue, to schedule it please write us to support@plumsail.com