Route choice tasks to users

Use this step to route Choice Task to users.

Last published at: July 10th, 2023

ChoiceTask Step


Routes a task to a selected number of users, where the user must make a choice from a list of user defined choices. 


  • description – Step description
  • routeTo -Select users to route to     
  • routeToRoles--Select roles to route to        
  • taskDesc--Task Description   
  • taskBody -Task detail description    
  • routedItem--Item that is routed      
  • showURL-- URL to render within the task    
  • emailAddresses--Email addresses to route task to  
  • returnVals—Set return values 
  • priority--Task Priority (low, medium, high, normal, urgent)        
  • daysToComplete--# of days, minutes, hours, months to complete the task by
  • expireType--Task expire type (days, months, hours, minutes)     
  • includeWeekends—On = Include weekends (toggle ON/OFF)
  • taskRoutingRules- Task routing rules types (default, 
  • taskReminder- Set Task reminder to send reminder mails
  • sendEmailNotification— Yes = email notification will be sent to each user for the task (toggle ON/OFF)
  • sendSeparateEmails - Send separate emails. Select Yes/No       
  • emailSubject-- Subject of the email message
  • emailBody-- Body of the email message
  • emailFiles - Set the server path for file attachments
  • emailCCList - Email cc List
  • userCanReAssign – Yes = user can re-assign task to another active users (toggle YES/NO)



  • returns are dynamically generated based on the provided values for the “returnVals” input
  • timeout – when the task times out


Step Returns Collection

  • stepReturn.routeTo - list of users (GUID), the task is routed to
  • stepReturn.completedByUser – user (GUID), the task completed by
  • stepReturn.rejectedUserList - list of users (GUID), the task is rejected by




Let’s build and execute the choicetaskDef example. 

  • Create a new definition called “choiceTaskDef”
  • Select the definition and click the “design” button
  • Drag a “choiceTask” step to the canvas
  • Connect the dots between the start and “choiceTask” step
  • Click on the "choiceTask" step to configure its "Settings" properties. Provide a name to the step. Provide a task description. Click on the button to configure the return values. 
  • Click on the "choiceTask" step to configure its "Advanced" properties. Click on the button to select the users to route to. Click on the button to select application roles to route to. Provide task detail description. Provide information on the items that's likely to be routed. Provide the URL link to be rendered when the task is opened by the user. Provide a list of external email address (separated by semi colon).  Select the task priority (low, medium, high, normal, urgent).
  • Click on the "choiceTask" step to configure its "Advanced" properties. Provide the task completion duration as value. Select task expire type (days, months, hours, minutes). Select if weekends are to be incuded for task completion duration. Select task routing rules (default, task locking, least # of tasks in total, least # of tasks by definition). Configure task reminders.  Select if email notification is required. Provide email subject text. Configure email body text. Configure email file attachments (to pick from application server file path folders). Provide eMail CC list (separated by semi colon). Select if user can reassign the task during run time. 
  • Click on Select the users to route to and select users or enter variable of userid 
  • Click on select roles to route to and select application role
  • Click on Task reminder to set task reminder intervals. Enable "Send Email Notification" to ON.Task reminders configured with a positive value is calculated from the task created date. Task reminders configured with a negative value is calculated by reducing that duration from the task due date. The task reminder message body supports line breaks.
  • Use Variable(s) references for more meaningful reminder message.
  • Click on Email body and use the existing template (you can edit existing template as well) as email body or create custom template as email body.
  • Click on Replace Link(s) or Variable(s) or Global(s) and include any system variables to make more meaningful email message.
  • Configure return values to the task. 
  • NOTE: The process definition "validates" the Choice Step which have return values configured, and not used in the process workflow. In the following process definition example, the Choice Step is configured with 3 choices and only 2 are participating in the process workflow. By using Action - Validate feature the application displays an alert notification, for correction.
  • The “Logging” setting configuration is necessary for documentation and also measure the workflow progress and the percent complete. This is acheived by configuring the step state and percent fields individually as shown in the images below. Configure the “Logging” using the following properties. The "Send Test Mail" feature is provided to send a test email with the contents configured in the email body, to the current (logged in) user. 
  • Save the process definition, create a new process instance and execute. Render the process instance. Click on the process step to view the properties. The step should route choice task to users.