“We are happy to undertake innovative consultancies such as this one, which stretch the use of Power Automate and Azure Apps into interesting new directions.” CTO, Ballard Chalmers
Imagination is an international, independent, creative communications agency that sets out to transform business through creativity and to build relationships between people and brands, products and services. With clients such as Rolls-Royce, Harvey Nichols, Elemis and Jaguar Land Rover, they are an award-winning agency.
A requirement arose to create a mechanism to upload scanned files to SharePoint. The people who upload the files were external contractors, so likely not to be domain users. Also, the files were rather private in nature. The client asked for contact with SharePoint to be kept to a minimum.
Several mechanisms were considered. The first was to use a list with security setting to block access to all but files created by the external user. We also considered using PowerApps to remove the SharePoint interface entirely. However, the client felt that they wanted the contractor to be kept completely away from O365 and the domain.
The diagram below shows the solution that was finally deployed. It uses a blend of SharePoint, Power Automate and Azure Apps.
The process starts with an administrator creating an entry in the “Request for ID” list. The administrator enters the email and the project the contractor will be taking part in. This starts a flow that creates a one-time password and emails the contractor supplying the password and a link to the upload site.
The contractor receives the email containing details on how to upload their documentation. They click on the link, enter the password, and follow upload instructions. If the password is incorrect or out of date, they are unable to complete the process. The upload app is a simple ASP.Net web application running as an Azure App.
When SharePoint receives the file, another Flow is initiated. The Flow checks that the password is associated with the correct email and is within the specified time. Flow finds the project associated with the password and the email and creates a folder (if required) to hold files associated with that project. The file is then moved to that folder in the Project Library.
Once there the flow uses an OCR engine to extract content from the scanned document. It then performs a translation from Arabic to English. A custom connector had to be created to get around some limitations with the existing connector. However, the results were good.
When all the above is complete, the administrator who initiated the process is informed via email that the contractor uploaded the item as requested.
This has been running successfully for six months now. It was an interesting task as it demonstrates a novel interaction with external users and shows how far Power Automate has come. Ten years ago the various ingredients would have cost many 10’s of thousands £/$ in licence fees and development costs instead of around 10 days consultancy.