Journey builder

Journey builder UI

Journey Builder

A journey in Strivacity is a configurable workflow that defines the steps a customer goes through during interactions such as login, registration, or other self-service actions.

The Journey Builder allows you to create custom journeys 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 based on claim values, local variables, or context variables from Lifecycle Event Hooks.
  • Define conditional branching based on claim values, local variables, context variables, or account variables from Lifecycle Event Hooks.
  • Persist data into local variables, context variables, or account attributes via native claims.
  • Force an MFA authentication step based on a configured policy.
  • Force a password step and branch based on the authentication outcome.
  • Insert an identity verification workflow as a journey step.
  • 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
  • Require different authentication methods based on information passed from a brand portal
  • Progressively profile a user based on their account creation date
A ample use case for providing different registration flow for private vs business customers.

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

Configuring a journey

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

Journey builder steps

Journey builder steps modal
Step nameDescription
InputCollect data from a customer, map local variables to native claims, and/or display arbitrary HTML.
Persist dataSelect data to be persisted into the user's account record. Data can be mapped from local variables, session context variables, static values, or the value from another native claim.
ConditionConfigures multi-branch workflows based on conditional rules written against native claim values, local variables, session context variables, or account variables.
Identity verificationInserts a policy-driven identity verification workflow.
MFA authenticationEnforces MFA authentication and provides conditional branching based on a configured adaptive access policy.
Password authenticationEnforces password authentication and provides conditional branching based on the authentication outcome.
Exit successDefines variables that can be passed back to the calling Lifecycle Event Hook after a successful journey.
Exit failureDefines variables that can be passed back to the calling Lifecycle Event Hook after a failed journey.

Launching a journey

Journeys are triggered to run 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 of the hook:

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 the journey ID

Journeys can be launched from any of the following Lifecycle Event Hooks:

  • At failed identification
  • After external Login
  • After identity verification
  • After customer identification
  • After registration
  • Before authenticator enrollment
  • Before external registration
  • Before identity verification
  • Before multi-stage registration
  • Before password validation
  • Before progressive profiling
  • Before registration

📘

For more details, see the assigning an event hook to an application article.

Journey filtering

You can search on the journey listing page by filtering to name, journey ID, tags, or a combination of these factors. This allows you to quickly find and manage specific journeys based on the criteria most relevant to your needs.

Plugin library

The Journey Builder includes a plugin library that offers a variety of pre-made journey templates to help you build registration, login, and self-service workflows quickly and efficiently.

These pre-built journeys are fully customizable, allowing you to easily implement them into your authentication flows while saving time and ensuring best practices are followed from the start.

📘

For a full list of available plugins, visit the page Using Journeys.