Workflow Part 2 – Intermediate
In part 1 of this series we focused on the basics of workflow and how to get started creating simple workflows. In Workflow Part 2 we will focus on the somewhat more advanced options of workflow to give you more tools by which to control your processes. Specifically, we will focus on Follow-Up Actions, Assign/Complete Actions, Multi-Condition Triggers and Advanced User/Team Assignments.
Follow up actions are those actions that are assigned for the system to do once a work trigger has been assigned. They are not done immediately but rather on a timer so they can happen at a later date/time. They are used to remind users of items coming due, to re-assign overdue items, add notes and more.
Use the [icon name=”plus-circle” class=”” unprefixed_class=””] Add button to add a new follow-up action. In the properties screen you will see options broken up into “When to follow up” and “Actions.”
When to Follow Up
“When to Follow Up” is where you tell the system when to perform this action. You can specify dates and times relative to the Due Date of the item, the Start Date (Assigned Date) of the item or relative to a specific field in the Record. To specify the date/time you will use days and hours offset from the relative date you selected. The system defaults to assuming the date/time is AFTER your relative date but you can tell it to use a date/time before the relative date by using negative numbers as we have shown in the image above. In this example we are telling the system to perform the action 2 days before the Due Date.
“Actions” tells the system what actions to perform when the timer is met. The actions here are much the same as the actions for the User Buttons as discussed in the Workflow Part 1 article. The available action types are meant to allow the system to update values, cancel, complete or reject items, reassign items and add notes. More action types will most assuredly be added at a later time for more functionality so keep an eye on that.
Once you select the action type, the screen updates to reflect the settings available for that action type. In the example above we are sending an email so we see the subject line visible in the window and we have an Edit link to give us an opportunity to edit the email properties. If we had selected a Variable Update action we would have seen fields that allow us to specify the field name to update and the value to which to update that field. Experiment with each of these types and they should be fairly obvious how they work.
Assignment and Completion Actions are those actions that happen at the time the work item is assigned to the proper user and when the user completes the work item, respectively. They both have the same options and same action types as the Follow-Up Actions described above so we will not go into those details. It is more important that you understand when to use each one.
Assignment actions happen when the work item is being assigned to the user(s). As soon as the system determines that the item is being assigned, these actions happen right away BEFORE the users are notified of the assignment. Technically they happen before the item is actually assigned but they happen almost instantaneously so you can think of the two happening at the same time. The take away here is that these actions happen BEFORE the users get an opportunity to interact with the work item.
Here are some typical use cases for Assignment Actions:
- Updating status field to current step name or another indicator showing where the record is in the process
- Writing the current date/time to a field or to the notes so users can tell when this step started
- Sending an email to an outside party to let them know this process is being performed (customer service notifications)
There are plenty more examples but this should be enough to show the importance of Assignment Actions.
Completion Actions happen when the work item is being completed by the current user. As soon as the work item is completed either by a button click or by a follow-up action or by any other means, the Completion Actions are performed. These are not used as frequently as Assignment Actions but they still have their place. Here are a few use cases:
- Update status field to show that the item has left this step (although the next step will most likely overwrite this status anyway)
- Writing the current date/time to a field or to the notes so users can tell when this step completed
- Sending an email to an outside party to let them know this process has been completed (customer service notifications)
The main take away from the Completion Actions is that they happen every time this trigger step is completed – regardless of the button that was clicked. If you need an action that is specific to a certain outcome (or button click) then use that button’s actions to perform the work.
In our Workflow Part 1 article we talked about how to trigger a work item when a couple environmental variables matched (Record Type of Invoice and Status field is empty). One thing we did not get into was that you night have other cases where this work trigger needs to be activated. In addition to the above activation rule we may also want to activate this step if the Record Type is Invoice but the Status is set to “Rejected.” The scenario being that someone down the line saw a problem and wanted to send it back to this step for fixing.
To add another activation rule, click the [icon name=”plus-circle” class=”” unprefixed_class=””] Add button as shown in the image below.
Then set the new rule’s properties to match your needs for the other rule that would trigger this step. As shown in the image above, we have essentially the same rule as the first one except that we look for a Status value or Rejected.
Once shortcut to making multiple rules is the [icon name=”clone” class=”” unprefixed_class=””] Copy button that is on each Rule. Click that button and a new rule is created identical to that one. Then you can make the changes to the new rule as necessary.
Advanced User/Team Assignments
Up until now we have been showing simple assignments. In our Workflow Part 1 article we showed how to assign the work trigger to a single user. However, if you looked at the screen shots and have been following along in your own site you surely have noticed that there are more options than just selecting one user. You can select many users at one time and you can select one or more teams as well. In fact you can select one or more users along with one or more teams. When the trigger is assigned each team is broken down into its user list and the system simply assigns the item to all users specified individually or as teams so to the system it all looks like users.
One question that comes up now and then is whether or not a single user will get the work item assigned multiple times if they are in a team or two that is assigned and they are also specifically assigned as a user. The answer is NO. When the assignments happen the system removes duplicates so the same user only gets assigned once.
Dynamic User/Team Assignments
If you look at this assignment panel one more time you will also notice on the right side there are 2 fields – Dynamic User Lookup and Dynamic Team Lookup. These fields allow you look up the users/teams to assign to based on a field in the current Record. You type the name of a RECORD FIELD into the Dynamic Lookup field. When the system assigns the item it will look at the currently routed Record and look for a field with the name you typed in here. If it finds a field with that name then it uses its value as the user/team name to assign to.
This is a very powerful feature. You can set up the workflow so that the contents of the Record dictate who it gets assigned to. For instance, you can have an E-Form that allows the user to specify a team via a drop-down list and that value is written to a field named TEAM. Then in the work trigger screen you enter the value TEAM into the Dynamic Team Lookup field and the team that was selected by the initial E-Form is the that receives the work item.
As before with users/teams, these dynamic field can be used along with the static User and Team fields. You can specify any or all of these options and they will all work together.
In this article we expanded on Part 1 to give more information about the available options of Work Triggers. In a future article we will expand on this even more with a more in depth look at various other aspects of Work Triggers. Watch for that article in the coming days.
Related information: Workflow overview