Assign Task to an External Participant

In this example, we assign a task to an external participant with an email address that does not have a user definition.

Steps

Create Process

  • Create a new process with the "Participant Task" name from the folder menu and edit the process version to open process designer.

  • Click on “Pool” to open the design of the pool and create 3 sequential tasks.

The process will start with the “Request Consultancy” task and when submitted moves to the next “Consultancy” step in the workflow. We want to assign this task to an external participant with limited access and when submitted we get a notification participant has completed the task we have assigned.

Make sure that the Notification button is checked for the Consultancy task.

Create Roles

  • To assign a “Consultancy Task” to an external we need to create a role. Now create a role with the “Consultant” name.

  • When role a added designer automatically opens the role definition editor.

  • Select the “Participant” from the “Role Type” list and enter the participant information like E-Mail Address.

As an alternative, you may write some script for more advanced scenarios like conditions, etc. Select “Expression” from “Role Type”, choose Javascript from “Expression Language” and enter the following script;

$Membership.EnsureParticipant({ Email : 'john.doe@gmail.com', Name : 'John Doe', Language : 'en' });
  • After the role has been defined we can assign this role to the “Consultancy” task from at left side of the screen.

  • After the role has been assigned task “Consultant” role will be displayed under the “Consultancy” task.

Create Form

  • Click on “Form” from process designer to open form designer.

  • After the form designer is open click on the “Add New” button and expand the “Layout Options” and choose “Row Content” to append a new row layout content to the form.

  • Select the row content and click again to “Add New” and expand “Input Controls” and choose “Html Editor” from the options.

  • Because we are creating a new field designer will ask for the name of the field to be added to the form. Enter “Request” and click on the “Ok” button.

  • After the field is appended, the form design should be looking like this;

You may add additional fields to form as many as you want. These fields are asked to the anonymous user while filling out the form.

At this step, we have finalized the design of the process with basic functionality and we can test it.

Testing

In the folder of the process we should see a new start point as the “Request Consultancy” option as follows;

At this stage, if we start a new instance of the “Service Request” process it is started in test mode and all of the tasks will be assigned to the current user for easier testing.

Access Scopes

Without access scopes, external participants are only allowed to enter very basic controls like text entry. For example, they cannot upload or download a file. At some point, you may need these features while designing the process.

Defining an Access Scope and Attaching to a Task

Access scopes are defined in process definition in the “Access Scopes” section under “Other” options.

  • Click on “Access Scopes” to open the list and click on “Add New” to define a new scope.

  • Enter “Consultant Scope” as name and enable the “file_read” and “file_write” features to allow the consultant to upload a file.

Token Expiration Period specifies the how much longer is mail link is available. After this period mail link cannot be used and must be re-sent.

We have now defined a scope but not yet attached to the “Consultancy” task.

  • Select the “Consultancy” task from process design and select the defined access scope from the task options on the left side of the screen.

Example File

Process Definition

Copyright © 2010 - 2023 Emakin. All rights reserved.