CheckListTask Step
Description:
The Checklist Task workflow step creates a human task containing configurable checklist items. The task can be routed to selected users or roles, and the checklist provides a structured way for the assigned recipient to verify or complete a series of required activities.
The step combines the capabilities of a standard FlowWright human task with a checklist-oriented interaction model.
The step supports:
- Routing tasks to selected users.
- Routing tasks to selected roles.
- Configuring checklist items.
- Providing a task description and detailed instructions.
- Associating an item with the task.
- Providing a URL associated with the task.
- Routing the task to email addresses.
- Setting task priority.
- Configuring task completion duration and expiration.
- Including or excluding weekends when calculating duration.
- Configuring task-routing rules.
- Configuring task reminders.
- Waiting for all assigned users to respond.
- Storing the routed user list in a Variable/Global.
- Sending email notifications.
- Sending separate emails to recipients.
- Configuring email sender, subject, body, CC recipients, and attachments.
- Sending expired-task notifications.
- Sending acknowledgment links.
- Customizing approval and rejection button labels.
- Hiding the reject button.
- Allowing users to reassign the task.
- Requiring comments.
- Storing checklist selections in a Variable/Global.
Inputs
- routeTo – Select the list of users to route the task
- routeToRoles – Select the list of roles to route the task
- checklistitem--Configure checklist items
- taskDesc – Description of the task
- taskBody - Detailed description
- routedItem – Item that is routed
- showURL – URL to render within the task
- emailAddresses- Email addresses to route the task to
- priority – Priority of the task
- daysToComplete - # of days, minutes, hours, and months to complete the task by
- expireType – Task expire type (days, months, hours, minutes)
- includeWeekends - Include weekends (toggle ON/OFF)
- useFullDuration - The task uses the full duration and continues
- taskRoutingRules – Task routing rule types (default, task locking, least # of
- tasks in total, least # of tasks in definition)
- taskReminder- Set Task reminder to send reminder mails
- waitForAll – Yes = all users must act on the task, No = requires only 1 user to act on the task (toggle ON/OFF)
- storeRouteToUsers – Variable to store which users the task was routed to
- sendEmailNotifications – Yes = email notification will be sent to each user for the task (toggle ON/OFF)
- fromEmail – Set From email address
- emailSubject – Subject of the email message
- emailBody – Body of the email message
- emailFiles – Set the server path for file attachments
- emailCCList - Email CC List
- sendExpireEmail - Yes = email notification will be sent to each user on task expiry (toggle ON/OFF)
- sendSeparateEmails - Send separate emails (toggle ON/OFF)
- sendAckLink - Send acknowledgment link (toggle ON/OFF)
- approveButtonLabel-- Set text for Approve button label (e.g., OK)
- rejectButtonLabel-- Set text for Reject button label (e.g., Not OK)
- hideRejectButton--Hide reject button (toggle ON/OFF)
- userCanReAssign – Yes = user can re-assign the task to other active users (toggle ON/OFF)
- commentRequired - User comments are required
- storeSelections - Store the selection in a variable or global
Returns
- Closed - The closed return path is used when the checklist task is closed without following the normal completion route.
- Completed – The completed return path represents successful completion of the checklist task.
- Rejected – The rejected return path can be used when the checklist task is rejected.
- Timeout – The timeout return path is used when the checklist task reaches its configured expiration condition.
Step Returns Collection
- stepReturn.routeTo - list of users (GUID), the task is routed to
- stepReturn.completedByUsers – user (GUID), the task was completed by
- stepReturn.rejectedUserList – list of users (GUID), the task is rejected by
Usage:
The Checklist Task is useful whenever a workflow requires a person to perform a structured series of checks rather than simply complete a single task.
Typical uses include:
- Quality inspections
- Compliance checklists
- Document verification
- Employee onboarding
- Pre-release verification
- Equipment inspections
- Safety checks
- Customer onboarding
- Audit procedures
- Operational readiness reviews
- Case reviews
- Data validation
The checklist is configured through the dedicated Configure checklist items property, while the task can still use users, roles, routing rules, reminders, notifications, and other human-task controls.

When the workflow reaches the Checklist Task step, FlowWright creates the checklist-based human task and routes it to the configured recipients. After the recipient completes the checklist, the workflow proceeds through the appropriate return path.
Typical Workflow Suggestions
Document Verification
Use a Checklist Task when a document must pass several verification steps before it can proceed.
Example:
Upload Document → Check List Task: Verify Document → Approve Document → Complete
Checklist items could include:
- Verify document type.
- Verify required fields.
- Verify signatures.
- Verify supporting documents.
- Confirm document version.
Employee Onboarding
Use a checklist to ensure that all onboarding activities have been completed.
Example:
Create Employee Record → Check List Task: Employee Onboarding → Activate Employee → Complete
Checklist items could include:
- Verify employee information.
- Collect required documents.
- Create required accounts.
- Complete orientation.
- Confirm equipment assignment.
Quality Inspection
Use a Checklist Task to standardize manual quality inspections.
Example:
Produce Item → Check List Task: Quality Inspection → Pass / Rework → Complete
The checklist can provide a repeatable inspection procedure rather than relying on free-form task instructions.
Compliance Review
Use a checklist to ensure that a compliance review covers every required control.
Example:
Submit Case → Check List Task: Compliance Review → Approve / Escalate → Complete
Checklist selections can be stored for subsequent processing using Store selections in variable/global.
Pre-Release Verification
Use a Checklist Task before releasing a software product, document, or business process.
Example:
Prepare Release → Check List Task: Release Readiness → Release → Complete
Checklist items might include:
- Verify required testing.
- Verify documentation.
- Verify configuration.
- Verify approvals.
- Verify deployment readiness.
Equipment Inspection
Use a checklist to ensure that an inspection follows a standardized procedure.
Example:
Schedule Inspection → Check List Task: Equipment Inspection → Record Result → Complete
Customer Onboarding
Use a checklist to make sure all onboarding requirements have been completed.
Example:
Create Customer → Check List Task: Customer Onboarding → Activate Account → Complete
Audit Review
Use a Checklist Task to guide an auditor or reviewer through a defined set of verification activities.
Example:
Select Audit → Check List Task: Audit Review → Record Findings → Complete
Requiring comments can provide additional context for findings or exceptions.
Multi-Person Review
Use Wait for all to respond when multiple reviewers must complete or respond to the checklist.
Example:
Prepare Submission → Check List Task: Finance & Legal Review → Submit → Complete
The workflow can wait until all routed participants have responded.
Example:
Let’s build and execute the “checkListTaskDef” example.
- Create a new process definition named “checkListTaskDef” and open it in Designer mode.
- Drag a "checkListTask" step to the canvas.
- Connect the dots between the “Start” and “checkListTask” steps.
- Select the line between the steps to configure the “Connection Properties”. The default property values are “None, Error, Evaluate, and Timeout”. Depending on the step’s purpose, additional values are available for configuration.
- Define a few variables or global variables to store the list of routed users and the user selection.
-
Click the "checkListTask" step to configure its "Required" properties. Provide a name for the step and a task description. Note: The task step has one incoming connection and zero outgoing connections. Click the Save button. Then click the "AI Predict" button to have Copilot add new process steps that match your process description.

- Click the globe icon to globalize the task step using the following UI. Select the language from the dropdown list. Click the “Translate” button to convert the description into the selected language. A notification message is displayed in the top-right corner.

- Click the "checkListTask" step to configure its "Optional" properties. Click the button to select the users to route to from the list. Click the button to choose the application roles to route from the list. Click the button to configure the task's checklist items. Provide a task detail description. Provide information on the items that are likely to be routed. Provide the URL to be rendered when the user opens the task. Provide a list of external email addresses (separated by semicolons).

- Select the task priority from the list (low, medium, high, normal, urgent). Select the task expiration type (days, hours, months, minutes). Provide the task completion duration value. Select the include weekends option as “Yes” if desired. Select “Yes” for the task to wait for the entire duration, even after completion.

-
Task Routing Rules - Select task routing rules (default, task lock, least # of tasks in total, least # of tasks by definition) to be applied during runtime.
- “Default” means the task has no lock status.
- “Task lock” means the task is locked by a user.
- “Least # of tasks in Total” means the task is assigned to the user with the fewest total tasks.
- “Least # of tasks by Definition” means the task is assigned to the user with the least count of tasks by definition.

- Configure task reminders. Click the Add Row (+) button to insert an empty row. Enter the time duration, subject, and message body. Click the Save button. You can insert multiple Task Reminders using the Add Row function.

- Click the button to provide information to the email body. Click the button to configure email attachments (from the app server path). Provide an email CC list (semicolon-separated). Select “Yes” to send expired notifications (the Status determines the notification duration - Status - Settings - Email - Expired Task Notifications section). Select “Yes” to send separate emails when multiple recipients are configured. Select “Yes” to email an acknowledgment link. Provide new text to change the Approve and Reject button labels (e.g., OK and Not OK). Select “No” to hide the Reject button. Select “Yes” to reassign the task at runtime. Select “Yes” for mandatory task comments. Provide the variable or global reference to store the checklist task selection. Click the Save button.

- Search for users by the first three characters and select from the list in the left pane using the arrow buttons. The task can be assigned to multiple users.

- The Task can also be assigned to a user by GUID (provided we know the value beforehand). Configure the variable to contain the reference to the user's GUID. The username selection should be empty, as the function is mutually exclusive, as shown below. Note: When routing a task or form to the queue, the system recalculates the task expiration date upon assignment to a user.

- The Task can also be assigned to users grouped by application role. Use the arrow buttons to select from the list in the left pane.

- Click the Task Reminder to set the task reminder interval. Enable "Send Email Notification" to “On”. Task reminders with a positive value are calculated from the task creation date. Task reminders with a negative value are calculated by subtracting that duration from the task's due date. The task reminder message body supports line breaks.

- Use variable references for more meaningful reminder messages, as shown below.

- Use variable references for more meaningful reminder messages, as shown below.

- Click the Email body and use the existing template (you can also edit it), or create a custom one. Learn how to use Replace Links in the body of the task email.

- Click Replace Link(s), Variable(s), or Global(s), then select any reference to add a more meaningful email message.

- Click Replace Link(s), Variable(s), or Global(s), then select any reference to add a more meaningful email message.

- Click the Configure Checklist button to add custom items. When "Is Required" is selected, the user must check it before completing the task. When "Let user add custom items" is selected, the user can add custom checklist items to the task at runtime. Drag and drop checklist items to manually rearrange their order.

- The “Logging” configuration is necessary for documentation and also measures workflow progress and percent complete. This is achieved by configuring the step state and percent fields individually, as shown below. Configure the “Logging” using the following properties. The "Send Test Mail" feature sends a test email with the configured email body to the current (logged-in) user.

- Save the process definition, create a new instance, and execute it. Render the process instance.

- Click “Items > Tasks”. The step should route the checklist task to users.

- The checklist task is rendered for the user as shown below. The user can attach files to the task, select the checklist value, and provide comments. In this example, the user can select multiple checklist values and add a custom task checklist value. Note: The files attached to the checklist task are stored in the application server's file system or in the DMS file storage folder, whose configuration is defined in the “Start” process step.

Tips:
- Give the checklist task a clear, action-oriented Task description.
- Configure checklist items so that each item represents a meaningful verification or action.
- Keep checklist items specific enough that different users can interpret them consistently.
- Use Task detail description to explain the purpose and completion criteria.
- Use Store selections in variable/global when subsequent workflow logic needs the checklist results.
- Use role-based routing when the checklist belongs to a business function rather than a specific employee.
- Use Wait for all to respond only when every assigned participant must respond.
- Configure Task Reminders for checklists with deadlines.
- Configure Task Routing Rules when assignment needs to follow business rules.
- Use Comment required when reviewers need to document exceptions, findings, or explanations.
- Use Item that is routed and Render the URL to provide context and direct access to the item being reviewed.
- Use email notifications to alert recipients outside the normal FlowWright task interface.
- Configure Email file attachments when recipients need supporting documents.
- Use the timeout return path to handle overdue inspections, reviews, or compliance activities.
- Use rejected to route failed inspections or reviews into corrective-action workflows.
- Avoid creating excessively long checklists; divide very large procedures into logical workflow stages where appropriate.
- Test checklist selections and their stored values before relying on them in downstream workflow logic.
Notes:
The Checklist Task is defined in the Human Tasks category with the internal name checklisttask, label the Route checklist task to users, and display the name "Check List Task".
The step is implemented by FlowWright.Workflow.ChecklistTask in FlowWright.Workflow.dll. It is a Process step with 2 incoming connections and 2 outgoing connections.
The XML defines 32 configurable properties. Task description is required; the other properties are optional.
The dedicated Configure checklist items property uses the clschecklistitem data type. Its associated FlowWright data type is, FlowWright.DataTypes.Clschecklistitem and its description is “Get checklist item html.”
The step provides four return paths: closed, completed, rejected, and timeout.
The Checklist Task also provides a dedicated Store selections in variable/global property, which is not present in the standard Task configuration and can be used to preserve checklist selections for subsequent workflow processing.
Feature Comparison.
| Feature | Task | CheckListTask | ChoiceTask | RouteToQueue | UserSelectionTask |
|---|---|---|---|---|---|
| Primary purpose | Route a task to users/roles | Route a task containing checklist items | Route a task where users select a defined choice | Route a task to a queue | Route a task using configurable user selection |
| Category | Human Tasks | Human Tasks | Human Tasks | Human Tasks | Human Tasks |
| Select users | Yes | Yes | Yes | No | Yes |
| Select roles | Yes | Yes | Yes | No | Yes |
| Select queue | No | No | No | Yes | No |
| Checklist | No | Yes | No | No | No |
| User-selection configuration | No | No | No | No | Yes |
| Choice/return-value configuration | No | No | Yes | No | No |
| Routed item | Yes | Yes | Yes | Yes | No |
| Render URL | Yes | Yes | Yes | Yes | No |
| External email addresses | Yes | Yes | Yes | No | No |
| Task priority | Yes | Yes | Yes | Yes | Yes |
| Queue priority | No | No | No | Yes | No |
| Due duration | Yes | Yes | Yes | Yes | Yes |
| Expiration type | Yes | Yes | Yes | Yes | Yes |
| Include weekends | Yes | Yes | Yes | Yes | Yes |
| Use full duration | Yes | Yes | Yes | No | Yes |
| Routing rules | Yes | Yes | Yes | No | Yes |
| Task reminders | Yes | Yes | Yes | No | Yes |
| Wait for all to respond | Yes | Yes | No | No | Yes |
| Store routed users | Yes | Yes | No | No | Yes |
| Email notification | Yes | Yes | Yes | No | Yes |
| Separate emails | Yes | Yes | Yes | No | Yes |
| Email subject/body | Yes | Yes | Yes | No | Yes |
| Email attachments | Yes | Yes | Yes | No | Yes |
| CC list | Yes | Yes | Yes | No | Yes |
| Expired-task email | Yes | Yes | No | No | Yes |
| Acknowledgement link | Yes | Yes | No | No | Yes |
| Approval/reject button labels | Yes | Yes | No | No | Yes |
| Hide reject button | Yes | Yes | No | No | Yes |
| Reassign task | Yes | Yes | Yes | No | Yes |
| Require comment | Yes | Yes | Yes | No | Yes |
| Store selections | No | Yes | No | No | No |
| Return paths | closed, completed, rejected, timeout | closed, completed, rejected, timeout | Defined through choice return values | completed, rejected, timeout | closed, completed, rejected, timeout |
Definition Sample:
You may download a sample definition when provided and import it into your FlowWright Process Definition.
Note: Verify and complete any missing configuration after importing a sample, including:
- Users or roles
- Checklist items
- Task description
- Task instructions
- Routed item
- URL
- Task priority
- Completion duration
- Expiration settings
- Routing rules
- Reminders
- Email notification settings
- Approval/rejection configuration
- Comment requirements
- Checklist-selection storage
- Outgoing connections
After verifying the configuration, save the Process Definition before execution.
Click here to download the sample file.