Many people are asking the question, should I use my personal account or should I use service accounts in my Power Automate flows?
There isn’t really an easy answer to this question. You have multiple ways of working. Time to look at some scenarios.
- A user updates a list item that triggers a flow
- A user updates a list item that triggers a flow and flow updates the item with a status
- A user updates a list item that triggers a flow and flow updates the item with a status after a day.
A user updates a list item that triggers a flow
Imagine I have a flow that is triggered by some update to some data. Do I really care who owns my flow? Remember the flow runs as the owner of the flow and the actions will run as the owner of the connections and in this case my flow doesn’t update any data but it is still important that the process doesn’t depend on me.
- If I’m off ill. Should the flow still run?
- If I leave the organisation should anybody be able to manage the flows?
This already means that you might want to share your flows with a service account. Even if not many people are interested in your flow today, you might find that one day they will be interested. Most likely this is the day that you aren’t available.
A user updates a list item that triggers a flow and flow updates the item with a status
The same arguments are still relevant if we need to update the triggering item or create a new item.
Important questions however:
- If a flow updates the item do you want to know that it was flow and not you? Maybe …
- If the flow create a new item in a different list do you want to be responsible for that? From an auditing perspective should this list item be owned by you?
In the above two question you might still have wanted to run as a personal account but now a 3rd scenario
A user updates a list item that triggers a flow and flow updates the item with a status after a day
I now have a holiday request system. I create a list in an item and my flow is approved by my manager and the HR manager. The flow does some updates to the list item about a day after I created the request. Do I still want the item updates to be done by myself?
It is probably better to update using a service account so that within the version history I can see which updates I did and which updates my flow did.
Just to be clear I am not saying that service account are always the best option however it is one of the options that should be considered. Service accounts should be considered for both managing/editing flows and running your flows.
Service Account vs User Account
So far I’ve only looked at what is needed from a solution perspective, but there is more to consider.
What happens when someone leaves your business. Do their flows suddenly become obsolete?
If a flow is something that a citizen develop puts together for their personal use ( such as cleaning up emails, or getting alerts specific to them) then there is probably no need fro a service account.
But if you are implementing a business process that should be there for longer than your stay within your organisation then a service account is often a good idea. Also when you send out emails as part of your process, should these emails come from you personally? Are you happy to clutter your sent items with other people’s alerts?
The other thing that can be important is how you deal with Development, Test and Production environments. In development you might run flows as yourself but in production that might not be what you want.
I would be interested to hear your points of view on this. Please feel free to leave any comments below.