Parallel Tasks
Description
The Parallel Task activity enables the creation of multiple tasks in parallel for different participants within a single workflow step. Each task can be assigned to a distinct user and can use its own associated external form, allowing participants to work independently and simultaneously.
Once triggered, the activity creates all configured tasks simultaneously and waits until every participant completes their task. The workflow continues only after all parallel tasks are completed, making this activity ideal for scenarios that require concurrent reviews, approvals, or data collection from multiple users.
Properties
Input
| Name | Type | Required | Description |
|---|---|---|---|
| Participants | String | True | JSON array of participants. Format: [{"name":"user1","form":"form1"},{"name":"user2","form":"form2"}]. Supports only users. |
| Time To Complete | Int32 | True | The time duration allowed for the task completion. |
| Time To Complete Unit | UnitOfTime | False | The unit of time for the duration (e.g., Day, Hour, Minute, Second). Default is Day. |
| Use Business Time | Boolean | False | Determines whether the due date should be calculated using the business calendar (e.g., working hours, weekends, and holidays) instead of regular elapsed time. Default is True. |
| Priority | TaskPriority | False | The priority of the task. Default is Normal. |
| Title | String | False | The title of the task. |
Wait All Incoming
The Wait All Incoming property defines how an activity behaves when it has multiple incoming execution paths. It controls whether the activity is triggered as soon as a path completes or whether the workflow engine must wait for multiple paths to complete before executing the activity.
| Options | Description |
|---|---|
| False | The activity is triggered whenever any incoming path completes. Each incoming completion can trigger a separate execution of the activity. |
| All Configured Incoming | The activity executes only after all design-time (configured) incoming paths have completed. If a path is skipped at runtime due to conditional logic, the activity may wait indefinitely. |
| All Active Incoming | The activity executes only after all runtime-active incoming paths have completed. Incoming paths that are not taken due to conditions are automatically ignored, preventing indefinite waiting and ensuring predictable execution. |
Email Notifications
You can utilize Email Templates and configure email notifications for the following task statuses.
- Initiation – Specify the task initiation via Email notification.
- Reminder – Specify the task reminder Email Notification to send as a reminder of the Task. It will send daily reminder notifications until the Task enters Overdue status.
- Reassignment – Specify the task reassignment via Email Notification. This email will be sent upon reassignment of this Task.
- Completion – Specify the Task completion via Email notification. It sends this email notification when the Task is complete.
- Overdue – Specify the Task overdue via Email Notification. It sends this email when a task is overdue.
On Error
All activities support the common On Error handler to control behavior on failures (Fault, Continue, Suspend, Retry). See On Error Handler.