Managing tasks

The Flow designer section facilitates with a list of tasks that can be used individually or with other tasks to create the appropriate flow.

The tasks along with decision points enable the admin user to construct a defined flow to accomplish a business requirement.

The following tasks are listed in the Flow designer to create the flow:

Create user

Purpose - The Create user task can be used to create new user and register their consents. This task implicitly reads userData variable and uses the Cloud directory services to create the user based on given user information.

Pre-requisite: The flow instance is expected to contain user submitted details through User form task as "userFormData" property.

The following are the parameters of the Create user task:
Table 1. Input parameter
Name Description Example
userFormData User submitted form details.
{
    "userData": {
        "1": "google-oauth2|1033116550041553242@jke.samlfed.com",
        "3": "jessica@jke.com",
        "6": "Jessica",
        "7": "Hill"
    },
    "userAgreements": [],
    "externalData": {},
    "usernameAttribute": ""
}
Note: The userFormData contains attribute id for a given attribute. The attribute name for id can be found in the response of GET Attributes API.
Table 2. Output parameters
Name Description Example
User The user created in the system. <Scim object representing user detail>.
Note: When the task execution fails, its details get saved in error object inside context and the flow continues instead of displaying the error page.

Fetch user

Purpose - The Fetch user task retrieves user details, from their accounts, which are stored in the Cloud directory as SCIM object. This task uses the Cloud directory services to search the user details based on the input parameters.

Based on the username entered in Properties editor panel of the task, the Cloud directory services fetch the user details in SCIM form.

The following are the parameters of the Fetch user task:
Table 3. Input parameters
Name Description Example
Username The name of the user that is to be searched.
google-oauth2|1033116550041553242@jke.samlfed.com
or any property available at flow instance runtime.
Table 4. Output parameters
Name Description Example
User The user details corresponding to the provided username. <Scim object representing user detail>.
Note: When the task execution fails, its details get saved in error object inside context and the flow continues instead of displaying the error page.

Function

Purpose - The Function task evaluates and fetches result for a single or multi-line expression. This expression can be used to update an instance variable to apply functions and conditions according to the need.

Pre-requisite:
  • The function uses a set of domain objects for evaluation, cloud directory user, identity source credential, and attribute context. In order to use cloud directory user, flow instance runtime is expected to contain "user" property added using the Fetch user task, "idsuser" for identity source credential. The existing flow instance properties are part of attribute context.
  • The policy with rules must be configured to check the IP or geographical location.
The following are the parameters of the Function task:
Table 5. Input parameters
Name Description Example
Rule Expression Single-line or multi-line expression.
  jsonToString({
    "ctx": ctx,
    "idsuser": idsuser,
    "user": user
  })
Table 6. Output parameters
Name Description Example
JSON All properties should be returned in JSON form and can be retrieved as @context.propertyName@.
{"familyName": "Hill","givenName": "Jessica"}
Note: familyName property can be retrieved in the flow as @context.familyName@
Note: When the task execution fails, its details get saved in error object inside context and the flow continues instead of displaying the error page.

Page

Purpose - The Page task can be used where a page form is to be rendered to display any UI content in the browser. The task lists all the configured templates in a drop-down selection.

Pre-requisite: The themes must be customized under User experience > Branding section or it gets set to default.

The following are the parameters of the Page task:
Table 7. Input parameters
Name Description
Theme Themes give the users a customized look and feel of pages that are displayed by the Page task. The Theme drop-down field lists all the available themes. The preferred theme can be selected for branding the page.
Template The Template drop-down field lists all the configured templates.
Requires callback The Requires callback can be used to auto generate a Message node post the Page task.
Signal (optional) The purpose of the parameter is to indicate whether an existing flow can be used to come back and resume its task. Read more about signals from here.
Note: This parameter doesn't support expressions. Any provided content is treated as a string.

Redirect

Purpose - The Redirect task can be used to go to any URL after the implementation of some nodes in the flow.

The following are the parameters of the Redirect task:
Table 8. Input parameters
Name Description Example
URL The URL that must be redirected to. https://api.jke.com/resources/ or any property available at flow instance runtime.
Requires callback The Requires callback can be used to auto generate a Message node post the Redirect task.  
Signal (optional) The purpose of the parameter is to indicate whether an existing flow can be used to come back and resume its task. Read more about signals from here.
Note: This parameter doesn't support expressions. Any provided content is treated as a string.
 

User form

Purpose - The User form task provides a list of configured user forms that can be rendered to collect user data and consent.

The following are the parameters of the User form task:
Table 9. Input parameters
Name Description
Form The Form drop-down field lists all the configured user forms.
Requires callback The Requires callback can be used to auto generate a Message node post the User form task.
Signal (optional) The purpose of the parameter is to indicate whether an existing flow can be used to come back and resume its task. Read more about signals from here.
Note: This parameter doesn't support expressions. Any provided content is treated as a string.
Table 10. Output parameter
Name Description Example
userFormData All the user attributes and consent are stored in JSON format.
{
    "userData": {
        "1": "google-oauth2|1033116550041553242@jke.samlfed.com",
        "3": "jessica@jke.com",
        "6": "Jessica",
        "7": "Hill"
    },
    "userAgreements": [],
    "externalData": {},
    "usernameAttribute": ""
}
Note: The userFormData contains attribute id for a given attribute. The attribute name for id can be found in the response of GET Attributes API.
Note:
  • User can access flow instance properties as task parameters by constructing an expression. To construct an expression, see Unified expression language.
  • Refer to Managing flow instance to understand the details that are involved in data exchange between the tasks and decision points after the published flow is triggered using the Execution URL.