# Work allocation in branches

Whilst each stage of a process can be assigned to a different user or team, there are often use cases where the same user will deal with the whole process or multiple stages of a process.&#x20;

Right now there is an allocation strategy (rule) that does this called 'Allocate to user from defined previous step'. In this case, the user specifies the step which was previously allocated to a user to set who should be allocated this step.

The problem is, with a branched process some previous steps may not ever be completed because the branch rules mean they're not active in the process. Let's consider the following branched process:<br>

![A Branched Process with two different end points](https://3978362562-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MgKIYotuJ2G9zOHXIfg%2Fuploads%2FLHmxvG91UZ1Mcc5PGxmB%2FScreenshot%202021-12-07%20at%2010.39.40.png?alt=media\&token=83bc3a7f-e8ab-413e-a0b4-4f63cb00ecac)

If you had to assign the previous step for the red step on the left in the process, you could technically pick any of possible previous blue steps even though the path to get to the end step may not have touched them.&#x20;

To remedy this, where OpenProcess Flex is licensed, there is an additional allocation rule called "Allocate to the same user as the step before" as seen below:

![Allocate to the same user as the step before](https://3978362562-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MgKIYotuJ2G9zOHXIfg%2Fuploads%2FNx0uQ1ZHGshmvQtQSGk1%2FScreenshot%202021-12-07%20at%2010.43.02.png?alt=media\&token=f75a31cc-c71a-467c-a510-cd55f8d22aba)

This means the step will be allocated to the last active step's allocated user. So in the following we can see when setting the rule for the final red step on the left it would assign it back to the green one and so on:<br>

![Dynamic allocation behaviours](https://3978362562-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MgKIYotuJ2G9zOHXIfg%2Fuploads%2FkvVAOxhRsbXk9yNmpr8r%2FScreenshot%202021-12-07%20at%2010.43.51.png?alt=media\&token=c52cea35-ceb5-4a99-a137-273eab28a9f0)

{% hint style="danger" %}
**IMPORTANT**

1\) Where there is a branch in a process you need to use this allocation strategy. If you attempt to use:

'Allocate to user from defined previous step' on a process with a branch in it you will be unable to select a step.

2\) If you try and save a process, which has a branch, and a step allocation rule set to 'Allocate to user from defined previous step', you will face a validation error.

3\) If you make the **first** stage of a process have the allocation strategy of "Allocate to the same user as the step before" the process will error upon creation so you should **NOT** do this.
{% endhint %}
