Think of Workflow as an IF… THEN statement. IF this condition is met (e.g. a 'Status' Field has turned Red) THEN send an email to the Executive. Workflow requires a 'Trigger' to decide when the workflow will occur and also an 'Action' to determine what occurs when the Workflow has been triggered.
However, setting Workflow needs the App Builder to understand who the key stakeholders for an App are, what process is to be followed and who does what. This will then indicate the key steps requiring automation.
This process can be enabled by working with the App owner or client to create what is called an Activity-vs-Role (or 'swimlane') Process Map.
It can be very useful to automate administration tasks such as: linking Child Records to appropriate Parent Records, setting Security for a Record based on the creation User creating the record, or even Field values within the Record.
Look for opportunities to set up Workflow on an App whenever there is a hand-off from one stakeholder group to another.
Creating a new Workflow
Create a new Workflow item by clicking 'Add Workflow' when in the Workflow section, either as displayed below, or in the top right of the same section. Alternatively, click on the name of a pre-existing workflow to update it.
Description: What general description of the workflow best describes its function?
Trigger Type: This is what will cause the Action to take place. Therefore consider, when should the Workflow be triggered e.g. whenever a record is updated or on a particular date? Select the appropriate trigger from the drop down, depending on the desired automation.
Enacted by Team: Which Teams can Trigger the Workflow? You can select multiple from the drop down if desired.
Enacted by Specific Users: Which specific Users can trigger the Workflow? Again, You can select multiple from the drop down if desired.
Trigger options allow the User to apply Filters so that Workflow is only actioned if Field values meet certain criteria. This is often useful for example to send Notification messages to users when specific Record criteria is met.
NOTE: A more user friendly way of setting Filters is coming soon, for now entering Filters via string format is supported - See the bottom of here for information on string Filters. You can add multiple Field value criteria by using and / or in the Filter String, in which case all defined criteria must be met in order for the Workflow to trigger.
Trigger App Filter: Which records should the Workflow be applied to e.g. send an email to the owner of 'status Red' records.
A full list of Trigger Events and Options can be found here: Workflow Triggers
Click the 'Add Action' button under the 'Workflow Actions' Template at the bottom of the page to open the pane below.
Action: What action should be taken? The default options will continually be extended but will include: Notify Users or Teams (via on-screen notifications, SMS or email), Update Record (e.g. change the value of one or more fields), Update Form (e.g. show or hide a Form).
Result: What will be the result of the Action? The option here will differ depending on the Action selected, for example in the above, the Action is to Notify meaning a Message Field becomes available to fill in.
Target Teams / Users: Which specific Teams or Users should the Action be applied to?
Target Person Fields: If Person Fields have been used in the App then you can select that Field and it will send the notification to the User that has been entered in the Person Field in that Record. For example sending a notification to the Risk Owner could be done by sending it to the User named in the 'Assignee' Person Field.
Target Current User: This could be used to send a reminder notification to the User that added a Record with a message to say. 'You added a Risk, remember to ensure you have set the priority and deadline.'
Target Current User's Team: Selecting this option would send the notification to all Users of the Teams that the User who triggered the Workflow was a member of. It could be to say 'A new Risk has been added by a member of your Team'.
Note: If multiple targets have been sent then a User will receive the notification once if they meet any of the target criteria. So if they were selected as the Target User and were a member of a Target Team, they will only receive the notification once.
Note: If no targets are set then the notification will not be sent to any Users.
There are generally three key areas of Actions:
You must click 'Save' at the bottom in order to save a new Workflow or equally any changes to a pre-existing one. Alternatively, to remove a Workflow click the arrow next to 'Save' to bring up the Delete option.
Tips for choosing Workflow
Be careful not to add Workflow too soon as it does add complexity and can make the App feel more like a company system, rather than a tool to make the User’s job easier.
Test any Workflow that sends a notification to users carefully, as incorrect or an overuse of emails will be seen as spam and resented by Users.
Email Triggers require the User to specify content sent within the email. This content can be formatted using the Rich Text Editor, and can also refer to record data, so that the email can contain information from the record generating the workflow - this is especially useful for sign off requirements or status reports. The following are examples of content you can use within the email:
This will insert the data from the field [FieldName]: @Softools.FieldValue("FieldName")
This will insert a link to the record to allow the recipient of the email to go straight to the record: @Softools.RecordLink()
- "Use Base Email Template" for the email trigger to include the Softools logo and boxed sectioning. Unticking this option will provide a basic text only email
Alternatively you can also attach things like Templated Reports to the Workflow Email.
When using a Scheduled Date based workflow, the system will ask for the start date, and then you can pick Hourly / Daily or Monthly. If you want something other than this, you can use a "Custom Cron Expression" which is an industry standard systematic way of defining a scheduled event. To work out what you need to put in the expression, use a service such as FREEFORMATTER.COM to give you the event regularity. Bear in mind that for a scheduled event, you have to specify an exact time for whichever interval you use.
- For every weekday at 9am:0 0 9 ? * MON,TUE,WED,THU,FRI *
- For the 15th of every month at midday:0 0 12 15 * ? *
- For the 3rd Friday of the month at 6pm : 0 0 0 ? * 6#3 *