Is there a way to hand a document around with Power Automate?

187 Views Asked by At

I have a workflow that requires me to hand a file around my team and each of my team members needs to do something with this document. They have to do it in a certain order and one after another.

The current solution is that I send an email to the first person with this file and wait until I receive the document back. Then I send the received document to the next person and so on...

I already looked at all the connectors, especially the email with options from the outlook connector and the Approvals Connector look promising.

Getting the file into the workflow and attaching it to an email is easy and I am stuck for quite some hours now on how to get the received file back into the workflow. I should add that in the ideal case the file goes directly back into the workflow without taking the detour through my mailbox.

The is a bunch of commercial solutions out there, e.g. Adobe Sign, but i would really like to solve this without having to upload my files to some other service and rely on an other company (other than microsoft obviously).

I would really appreciate any suggestions on how one could solve this task!

Thanks a lot.

2

There are 2 best solutions below

4
On BEST ANSWER

Short Answer

You need to have a shared storage that all members of the process can access, the file should then be opened and updated from there

My recommendation is (if your company teams/365 groups are set up well) to just use a specific folder in your team's SharePoint site (O365 group) that will be accessible via teams, a browser, or any of the applications required.

This can then be done in the approval flow you're playing with, or via one or several approval flows within the context of a BPF.

Those methods:

  1. Approval Flow
  2. Business Process Flow (BPF)

Detail

Shared Storage

This won't be hard to sort out, if the people involved are only a few in a larger team, and the data is sensitive, then create a separate folder and restrict access. Otherwise, you should at least restrict write access, to ensure that only the people involved can modify the file.

As mentioned earlier, the only thing that could hold you back is the company's set up with regard to O365 Groups, Azure (and normal) AD groups, and the literal teams. But it really shouldn't be an issue for this.

If there is bad group infrastructure, then it's all good, you can just lean in to that and make another brand new team in Teams. Once you've done that, find the new O365 Group it creates, and then just manage it all from SharePoint (you can even add a tab in the Team client to manage the process!) to ensure that the permissions are just right.

Approval Flow

Build the logic first. It should be relatively simple:

  1. Person A performs their task, they click to say it's done.
  2. Person B. Etc.

Then you can start worrying about the file, and how it's accessed and from where.

This is by far the easiest way to do things, and allows you to keep things as simple as possible. For the logic just plot it out step by step, then once you have that, take a look at it and see where you can economise it, and either loop elements, or use variables to make it not require the specifics that you begin with.

With any luck, you'll soon have it doing most of the work for you. You can even ensure that copies of the file are made at each stage and are then archived, if you like.

Business Process Flow

This is my preferred option because it will codify the process and you can make things however complicated in the flow(s) themselves, separately.

The BPF will ably show the organisation how your team performs the task, ie. Johnny edits, then Billy edits, then Jenna edits. However at each stage (or for bespoke tasks) you can call on different flows to perform whatever tasks you need performed.

There are positives and negatives to this approach, mainly:

  • Positive - You can set it up without ANY automation, and you can use it to manage your current manual process.
  • Positive - Later you can start to instill the automations you need to process what is required.
  • Negative - This is advanced stuff, and it's not only difficult to learn, but it's difficult to get right. That said, the end result will be amazing.
1
On

I want to share my final solution based on Eliot Coles answer and lots of internet research.

Basically I automated my mailbox meaning that I use the outlook connector to send and receive mails and handling the attachments between those.

The flow is triggered manually where the user has to enter the email-adresses of all the recipients and select the file to pass around. Then I store the recipients in an array to be able to loop over them later. Additionally an unique ID is generated to identify the emails belonging to this flow later on.

Preparations

Next there is a loop over all recipients. The file is send to the first recipient in the array and another loop waits for the recipient to reply to the message before continuing with the next one.

Loop over Recipients

Finally a close look at the "receive-loop". This runs until an email with attachment arrives from the recipient. All emails filtered by the ID generated earlier are reteived and if there is one with attachment, this attachment is stored in the file variable. If no email matched the criteria, it is waited for some time and the mailbox is checked again.

enter image description here

At the very end, I sent an email back to myself with the last received file, as the workflow is finished then.

enter image description here