Journey builder

Journey builder UI

Journey builder

Journey Builder allows you to create custom login, registration, and self-service workflows without having to write any code. This feature augments the existing policy-driven approach by allowing you to define custom journeys that can be dropped into policy-driven workflows. You get the flexibility of custom code with the usability of clicks and configuration.

The UI-based workflow definition engine allows non-technical admins to select and configure steps in a workflow, including complex branching on rules and conditions. Its hub and spoke interface makes it easy and intuitive to lay out flows and visually inspect them for accuracy.

Capabilities

  • Define registration fields to include in a registration/self-service step
  • Display custom HTML content
  • Split workflow into multiple branches using rules-based conditional statements
  • Define a condition (e.g. equals, not equals, contains, etc.) based on claim values
  • Force an MFA authentication step based on a configured policy
  • Pass key-value pairs to the calling hook when the flow reaches an exit point

Sample use cases

  • Create a multi-step registration process
  • Providing a different registration flow for private vs. business customers
  • Create a custom error screen when the provided registration information is not valid
  • Force an MFA step before allowing a customer to update sensitive information
A ample use case for providing different registration flow for private vs business customers.

A sample use case for providing different registration flow for private vs business customers.

Configuring a journey

View existing or create new journeys by selecting “Journey builder” from the main menu. Click “Create journey” to create a new journey or select an existing journey to view/edit.

Journey builder steps

Journey builder steps modal
Step nameDescription
StartThis is a required step that defines the beginning point of the custom journey. All flows start here. There are no configuration settings for this step.
InputDisplays input fields by specifying native claims to include in the input form. This step also allows for displaying custom HTML content.
ConditionConfigures multi-branch workflows based on conditional rules on native claim values
MFA AuthenticationEnforces an MFA step based on a configured adaptive access policy
Exit successA required step. Passes configured key-value pairs to the calling hook.
Exit failureA required step. Passes configured key-value pairs to the calling hook.

Implementing a journey

Journeys are implemented via a function call inside of a lifecycle event hook.

For example, to implement a multi-step registration flow, add the following logic to the module.exports function:

module.exports = function({
		application,
		oidc_context,
		saml_context,
		customer,
		session,
		continue_context,
		continue_request_parameters,
		journey_result
	}, callback, deny) {
		// implement your logic here

		// the following function call does not modify the registering user
		if (journey_result) {
			// handle result returned by the journey
			callback(new RegistrationData(customer.attributes, [], session));
			return;
		}

		callback(new StartJourney(new Journey('journey-id'), session));

where "journey-id" equals the unique identifier of the journey you want to implement.

Journey identifiers can be copied from the journey's line-item on the journey listing page.

Copy journey ID

Copy journey ID