User Context

One thing to remember when writing a Workflow, if a user starts it the Workflow will be ran and honor the permissions that user has. For example, if you have a service task that queries a dataset that has PDP, the PDP of the user that started the workflow will be honored. If you have a service task that writes a value to a dataset, the user needs to have permission to edit that dataset.

Just keep this in mind if you're going to be creating workflows that multiple people are going to run.