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
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
Step name | Description |
---|---|
Start | This 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. |
Input | Displays input fields by specifying native claims to include in the input form. This step also allows for displaying custom HTML content. |
Condition | Configures multi-branch workflows based on conditional rules on native claim values |
MFA Authentication | Enforces an MFA step based on a configured adaptive access policy |
Exit success | A required step. Passes configured key-value pairs to the calling hook. |
Exit failure | A 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.
Updated 2 months ago