Section | |||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Column | width | ||||||||||||||||||||
Section | |||||||||||||||||||||
|
...
- You can enter any text you want for in the Subject and Message fields. Clicking on the DEFAULT button, shows "New Task" as the default subject and "You can access your task by clicking <a href="{task.perform.url}">this link</a>" for the default message.
- Clicking on the down arrow, show a list of templatized fields from your flow, flow/special templates provided by and Task Templates that you can use in the body of your email.
- Type the opening curly brace - {- followed by the control name to enter a field from your flow as a template. Selecting an option enters the control name into the field with the closing curly brace
Built-in flow templates
- {flow.id} - The unique flow instance id. This id is unique for each flow submission.
- {flow.type.id} - The unique id associated with a given flow. See Sharing Forms
- {flow.extid} - Client defined extId passed in the formtype Url parameter.
- {flow.name} - The name of the flow.
- {flow.description} - Description of the flow.
- {flow.activity.id} - The Id of the current workflow step.
- {flow.activity.name} - The name of the current workflow step
- {flow.activity.reject.reason} - The reason a workflow step is rejected
- {flow.id} - The unique flow instance id. This id is unique for each flow submission.
Built-in special templates
- {subject.id} - logged in user's username.
- {subject.roles} - A list of all the roles for the logged in user
- subject.email - logged in users's email address
- {subject.first.name} - logged in users's First Name
{subject.last.name} - logged in users's Last Name
{subject.reports.to} - the user id of the person the logged in user Reports To - configured in the user profile by the Tenant Admin. Typically used to designate a manager/supervisor.
{tn.id} - the Tenant ID where a form/flow is located
{tn.name} - the Tenant Name where a form/flow is located
{user.id} - Owner of form/flow and user folder name in the filesystem
- {app.id} - The unique id associated with a given application. See Sharing Forms
- {app.name} - The unique name associated with a given application.
- Type the opening curly brace - {- followed by the control name to enter a field from your flow as a template. Selecting an option enters the control name into the field with the closing curly brace
...
Expand | ||
---|---|---|
| ||
Let's say you have a 3 step Expense Report workflow. Step 1 (the Expense Report) is filled in by the employee, Step 2 is performed by the employee's manager who approves or rejects the report and Step 3 is performed by an employee in the payroll department who processes the Expense Report for payment. << Employee submits Expense Report (Step 1) ==> the flow is routed to the employee's manager for approval (Step2) ==> once approved, the flow is routed to the payroll department for payment>>. Step 2 in our example workflow is assigned to the employee's manager which is collected by a field in the form named ManagerName. When the employee submits the Expense Report, the designer wants the employee to see the message "Your request has been sent to {Manager name}". {ManagerName} is an example of a template that is replaced at runtime by the name that is entered in the ManagerName field in Step 1. Step 3 in our example is assigned to any user that is assigned the role of Payroll. When the manager approves the report and clicks submit, the designer would like to display the message "The Expense Report has been sent to Payroll for processing" to the manager. To understand where you type in the text for your messages to get them to display when you want them to, think of the Pending Message property as the message that is displayed when users try to access workflow steps. In our example, when the employee submits step 1, the flow moves to step 2, the manager approval step. The message typed into the Pending Msg field for Step 2 - "Your request has been sent to {Manager name}" is shown to the employee instead of the Step 2 form. When the manager approves the Expense Report and submits Step 2, the message typed into the Pending Msg field on Step 3 - "The Expense Report has been sent to Payroll for processing" is displayed to the manager when the flow moves to the Payroll department employees instead of the Step 3 form. To set up the Pending messages discussed in our example, follow these steps:
|
...
- Reject to Revise - The form is sent back to a prior flow step for correction/more information. This is the Reject to Revise (Easy Reject) feature described below and is built into .
- Reject to Discard - Users pick the option to Reject to Discard Submit as Disapproved - When a user disapproves the request from an Approval control, enter a status or comment and the flow the workflow skips all subsequent steps and completes. A submission is saved into the Submission Repository. It is likely that you You may want to implement some custom business rules to fill requirements after the of Reject to Discard that run when the "disapprove" option is selected, such as display a message to communicate the status to the user. Refer to Reject to Discard to see how the designer can implement this feature in workflows.
- Abort a Task - crumple the form up and toss it into the trash can. Only the Tenant Admin, users who have been granted the Flow Admin privilege for the workflow and the designer who created the workflow have the capability to abort a workflow task. When a task is aborted, all subsequent flow steps are skipped and the form is not saved in the Submission Repository. The Abort feature is built into .
...
Steps performed by the same user in a flow are referred to as a screenflow. The steps of the screenflow are considered one task. The reject functionality will allow users to reject only to the beginning of that screenflow. You cannot reject back to steps after step 1 in the screenflow.
Tip |
---|
Steps performed by the same user that are separated by Anonymous Task steps are considered to be a separate workflow tasks. For example, consider a Purchase Order flow with the following navigation: Step 1 is performed by Sales employee > Step 2 is sent to the customer's Email Address (Anonymous user) > Step 3 is performed by the same Sales employee that performed Step 1. You can configure a Reject button on the Sales step that will show both steps as rejection targets even though Step 1 and 4 were performed by the same user. Refer to the Flow Tutorial for an example. |
Customize the Rejection Email
It is possible to customize the subject and email message body that is sent when a workflow task is rejected. You will configure this email on the step you are rejecting from. The customized rejection email will be sent when the Reject button is clicked on that workflow step or Quick Approval screen.
You can choose controls from your form which will be added to the Message as templates or you can use built-in templates as described below. Click on thedown arrow shows the list.
- {flow.name} - Name of the workflow
{subject.first.name} - First name of the user who rejected the task.
{subject.last.name} - First name of the user who rejected the task.
{flow.activity.name} - The step of the workflow that was being performed when the task was rejected.
{flow.activity.reject.reason} - The reason for the rejection.
{task.perform.url} - The URL to the rejected task.
...
The "from" email for a rejection is the tenant "from" email. If no tenant "from" email is set, this will default to the admin user's email address.
Submit as Disapproved (Reject to Discard)
Most often, steps in an Approval workflow can have one of three possible outcomes. They can be:
- Approved
- Sent back to a previous step for corrections/more information (Reject to Revise)
- Rejected Disapproved and terminated (Reject to Discard)
Consider a workflow where Step 1 is filled out by a user, the second Step requires approval by a manager and when approved, Step 3 of the workflow is routed to the VP for review. After approval by the VP, the workflow completes.
The designer must consider what actions the Manager and the VP could take when the workflow appears on their Task List.
- The Manager:
- Approve the request in which case the workflow moves forward to the next step, VP review. This is the default behavior.
- Reject the workflow back to a previous step (Reject to Revise) by clicking the Reject button and selecting the step to send the flow back to from the Reject dropdown. The Manager may want to do this because some data needs correction or to obtain more information from the user who initiated the workflow. Reject to Revise is built-in to and can be configured for any step. Reject the request completely (Reject to Discard) in which case the workflow moves forward, skipping all subsequent steps and completes. A submission is created in the submissions repository. This process is configured using the precondition property for workflow steps.
- Approve the request in which case the workflow completes.
- Reject the workflow back to a previous step (Reject to Revise) by clicking the Reject button and selecting the step to send the flow back to from the Reject dropdown. The VP may want to send the workflow back to the Manager or to the user who initiated the workflow. Reject to Revise back to a previous step is built-in to and can be configured for any step. Reject the request completely (Reject to Discard) in which case the workflow completesSubmit as Disapproved)
The VP:
In the third case, where any approval step that is disapproved should terminate the workflow, we recommend the Submit as Disapproved workflow pattern. This is also know as "Reject to Discard" but it is important to note that this scenario does not use the Rejection feature. Rather, it uses Preconditions to skip the remaining steps in the workflow and submit it. Let's say you have a three-step workflow:
- User fills out a form
- Manager approves or disapproves
- VP approves or disapproves
If the Manager disapproves, you don't want the VP to even see the workflow; you simply want to discard it. To do this, you will set a Precondition on the VP step to only perform that step if the Manager has approved (click the link below for step-by-step instructions). Often you will use a Radio control to indicate Approved/Disapproved. The workflow will now route as follows:
- User fills out form
- Manager can
- Approve and send to VP
- Reject and return to User for more info
- Disapprove and skip VP step, submitting the workflow at this point.
- (if Manager approved) VP approves/disapproves and submits the workflow.
When you use the Submit as Disapproved scenario, you will still have a submission for the workflow, and Workflow Document Actions will run. Activity Doc Actions on skipped steps will not run. Many customers choose to configure Document Actions, such as email, with templatized strings in the To address, subject and message, in conjunction with business rules that set those control values, so that the message sent will be different depending on whether the steps were approved or disapproved. Here is an example of conditionally sending a Workflow Doc Action email. You may also choose to set the control that indicates approval/disapproval as a Searchable Field, so that you can easily view it in the Submission table and filter submissions by that field.
Expand | ||
---|---|---|
| ||
Follow these steps to implement Reject to DiscardSubmit as Disapproved:
|
Troubleshooting the Reject Button
Here are some reasons why you might not see the Reject option on a step where "Reject From Here" is selected:
- If the Reject To Here option is not selected in the previous steps, then user won't be able to see the Reject button on current step.
- When consecutive steps are executed by the same user, treats it as a screenflow. Think of those steps in the screenflow as one task. The reject functionality allows users to reject only to the beginning of that screenflow/task i.e. where the previous user started his work. It won’t allow a reject to the in-between steps.
- If the immediate steps prior to the current step were performed by the same user, then he/she cannot reject to those steps (the user is rejecting the flow to himself). Users can reject only to those steps performed by other users, or to steps performed by himself that do not come immediately before the current step.
- If a previous step was skipped because its precondition failed, then the user won't be able to reject to such a step.
- If a precondition on previous step passed when that step was being performed, but the control values change causing the precondition to now fail, the user might not be able to reject to that step.
- The Reject button will not be displayed at all if the conditions are such that users cannot reject to any prior steps.
...
Tip |
---|
In general, a condition is selected that acts as a trigger for the escalations. If the condition is NOT met, then the designer can specify what actions to take. You can elect to reassign, notify, send reminders or skip the task but you do not have to choose all three. However, once a condition is selected one of the actions must be reassign,notify or skip.
For example. if you wanted to send reminder emails to the user(s) who currently have the task on their Task List that the deadline is approaching and then send an email notification to them when the deadline is reached, you would configure the Notifications and Reminders tabs and check None (Notify Only) on the Action tab. Continue reading for more details. |
...
Escalations and Screenflows
Escalation should always be defined on the first step of a task - this is relevant when setting up Escalations for a Screenflow.
Screenflows are steps in a workflow that are performed by the same user. Consider a New Employee On-boarding workflow where steps 1 - 5 are designed to collect the Personal Information, W - 4 Allowances, State Allowances, Health Insurances preferences and Banking Information. Step 6 in the flow is routed to the new employee's manager and step 7 is routed to HR for final processing. Steps 6 and 7 are not part of the screenflow as they are performed by users other than the new employee.
Think of the 5 steps of the screenflow as one task. Escalation for the screenflow task will work as long as you define the escalation on the first step of the screenflow task. The escalation configured on the first step of the screenflow applies to all steps of the screenflow. For example, if a Complete Within 2 days escalation is configured on Step 1 of screenflow, then the escalation is triggered if the whole screenflow is not completed within 2 days.
Tip |
---|
If the first steps of a workflow consist of a screen flow, you must configure the flow to use the Save on Navigate and/or Task for First Step properties for escalation triggers to get created |
Escalation Examples
Expand | ||
---|---|---|
| ||
Escalation Example 1Let's consider a Time Sheet workflow consisting of 3 steps:
In this example, the designer has configured a 10 minute interval for the Manager to approve/reject the task. The Escalation tabs are shown Employee William submits his Time Sheet at 12:55 PM. The deadline to complete this task is 1:05 PM. William's Manager Jerry receives a Task Notification email notifying him there is a task that requires his attention. The email includes a link he can use to access it. In this example, the deadline to complete the task is 1:05 PM. Based on the setup of the Reminder(s) section shown above, Jerry will receive 3 reminders every 3 minutes as the deadline approaches. The emails contain a link that Jerry can click to get to the task. The first one arrives as 12:56 PM, the second at 12:59 PM and the final reminder before the deadline arrives at 1:02 PM. At 1: 05 PM, the task is removed from Jerry's task list since it was not completed in the allotted time and is routed to the task list of any users with the role of Supervisor. Jerry receives an email informing him that the deadline for the task has expired and the task is now assigned to any user with the role of Supervisor. Reassigned users receive the Task Information email specified by the designer. So be sure to Setup the Task Notification Emails. When Jack, a user with the role of Supervisor, access his task list he will see a task sent to him by the system and the Audit Trail shown in the image: Escalation Example 2Let's consider a situation where you might want to skip the task after the deadline has been reached. Imagine a workflow with a requirement that it must be approved by specific users in sequence. To prevent the chain of approvals from being delayed if one user does not perform their approval before the deadline, the designer can check the Skip the Task checkbox on the flow steps and will automatically complete the current step and create a pending task on the Task List of the next user. The Project Approval workflow shown in the image must be approved by Approver 1 and Approver 2 in that order. The escalation set up on the Approver 2 step automatically skips this step and advances the flow to the next next step . Notice that notification and reminder emails are also configured. In this example,
Here's what happens:
|
Activity Document Actions
...