I had a problem a couple of week ago about permissions in a workflow. Basically we had a plugin which was set to run when one entity was saved, if certain conditions were met then we would use the details on this entity to create a new entity. So for this example you could imagine it if we had an order entity and when we changed the status to deal done then it would create an invoice entity.
We have made a few changes to the plugin and because it was saved on disk, we found the only way to get the changes in was to unregister the plugin and then add it in again.
We then found that some of the users were getting errors when trying to change the order to deal done. I looked in the error logs and saw permission errors appearing. I looked at the user role and found he didn’t have permission to create an invoice entity.
Here you can see the setting – Run in User’s Context