Skip to content
On this page

Journeys Key Concepts

⚠️ Alpha: Please note journeys are in an early stage of development and are subject to change.

Our journeys provide a flexible and configurable way to create customised processes to meet compliance requirements. Journeys provide a mechanism to automate a series of actions using our platform. On this page are detailed the core concepts of the journey service.

Journey

A journey is a live process, run by our journey engine, that carries out a set of actions. As a unit, a journey represents a workflow or process to meet a compliance objective. Journeys consist of stages which each represent a single step in achieving the journey objective.

Our journeys API provides endpoints to manage your journeys. This functionality includes journey initialisation, cancellation, and querying the status of a journey. We also provide functionality to query and filter your journeys.

Template

A description of a journey. A template includes a definition of the stages to be run as part of a journey. It also defines the data inputs/outputs of a journey. A template does not run by itself. When a journey is created, the stages that journey will run are determined by the template. As such, a template must be created before a journey can be initiated.

Stage

A single step in the execution of a journey. A journey may contain multiple stages. The journey service tracks the status of journey stage. A stage may either invoke a runner or run a subjourney. A stage may consume inputs and produce outputs. Stages are ordered, but may run in parallel or in sequence. Our journeys engine will automatically run stages as part of journey execution.

Initialisation

The process of creating and starting a new journey. Initialisation creates a new journey from a template. The journey will have stages, inputs and output matching that defined in its template. The new journey will be assigned an identifier, which is returned to the client.

Runner

A runner is a worker unit designed to carry out a specified task. A runner is executed by our journey engine as part of a journey stage. It may consume inputs and produce outputs. We provide a set of pre-built runners that you can use to accomplish a range of tasks. An example of such a task might be to perform a KYC check.

Setting

A configurable value provided to a runner to customise its functionality. Settings can be supplied as part of a template, or set globally for all your journeys.

Input

A JSON object supplied to a journey for use within its runtime. An input may be supplied to a journey from its definition, at the start time of the journey, or during its execution by API endpoint. An output from one stage may be used as an input for a subsequent stage. An example of such an input may be a list a KYC checks to perform.

Output

A JSON object produced by a stage or journey as a result of its execution. A stage may produce multiple outputs. These outputs can be utilised by other stages in the same journey as inputs. The outputs can be accessed by our journeys API. An example of such an output may be the results of a series of KYC checks.

Subjourney

A stage may execute another journey instead of a runner. The child journey in this instance is called a subjourney. It may produce inputs and outputs as would a stage bound to a runner. The key concept here is that a journey is a type of stage. Subjourneys are initialised with their parent journey.

Diagram

Below is an illustration of how journey concepts are related

Business case shown in the Portal