Workflow Steps

Explore the building blocks of RiskOS™ workflows, including input, enrichment, condition, transformation, decision, and tagging steps.

This reference documents all available workflow step types and their configuration options in RiskOS™. Each step type represents a distinct action or logic block within a workflow.


Step types overview

Step typePurposeAsync capable
InputDefine the evaluation payload schemaNo
EnrichmentCall external data services and APIsYes (some providers)
ConditionBranch workflow logic based on data valuesNo
Advanced ConditionComplex multi-group conditional branchingNo
TransformationManipulate and derive new data fieldsNo
DecisionAssign a final outcome (Accept, Reject, Review)No
Manual ReviewRoute cases to a human review queueNo
TagAssign metadata labels to evaluationsNo
Reason CodeAttach reason codes to explain decisionsNo
Matrix RuleEvaluate tabular rule setsNo
Rule ScoreCompute risk scores from rule evaluationsNo
Grouped RulesEvaluate groups of related rules togetherNo
WaitPause workflow execution until a condition is metYes
OTPSend and verify one-time passcodesYes
Hosted FlowTrigger a Socure Hosted UX flow (e.g., Capture App)Yes

Input

The Input step defines the data schema for the evaluation request payload. It is always the first step in a workflow.

ConfigurationDescription
Payload schemaDefines expected fields in the data object of the evaluation request
Field mappingMaps incoming fields to internal workflow variables
📘

Note: The Input step configuration is only visible for Socure-managed workflows. Custom workflows inherit the schema from the fraud type.


Enrichment

The Enrichment step calls a data service to add external signals to the workflow.

ConfigurationDescriptionRequired
Data serviceThe enrichment provider to call (selected from the dropdown)Yes
Output fieldVariable name where the API response is storedYes
Error output fieldVariable name where error data is stored on failureNo

Enrichment step behavior

  • A workflow can include multiple enrichment steps, including consecutive ones.
  • Each enrichment call result appears in the data_enrichments array of the evaluation response.
  • For async-capable enrichments (e.g., DocV, Plaid), the workflow pauses until the enrichment completes and delivers results via webhook.

For a full list of available enrichments, see Integration Guides.


Condition

The Condition step branches the workflow based on data values using boolean logic.

ConfigurationDescription
ConditionsOne or more condition rules evaluated against workflow data
OperatorLogical operator combining conditions: AND, OR, or XOR
True pathSteps executed when the condition evaluates to true
False pathSteps executed when the condition evaluates to false

Condition structure

Each condition rule is composed of:

FieldDescriptionExample
Left operandData field or expression to evaluateenrichment.emailRisk.score
OperatorComparison operator (equals, greater than, contains, etc.)>=
Right operandValue to compare against0.85

Conditions can be grouped with AND, OR, or XOR logic, and groups can be nested for complex branching.


Advanced Condition

The Advanced Condition step supports complex multi-group conditional logic with nested condition groups and expressions.

ConfigurationDescription
Condition groupsMultiple condition groups with inter-group operators
ExpressionsAdvanced expression syntax for complex evaluations

Transformation

The Transformation step manipulates data within the workflow using spreadsheet-like functions.

ConfigurationDescription
Output fieldVariable name where the transformed result is stored
ExpressionTransformation logic applied to input data

Decision

The Decision step assigns a final evaluation outcome.

ConfigurationDescriptionRequired
DecisionOutcome value: ACCEPT, REJECT, REVIEW, or RESUBMITYes
Reason codesCodes explaining the decisionNo
TagsMetadata labels attached to the decisionNo
📘

Note: A workflow can contain multiple Decision steps on different branches, but only one executes per evaluation.


Manual Review

The Manual Review step routes the evaluation to a human reviewer in Case Management.

ConfigurationDescriptionRequired
StatusInitial case status: OPEN or ON_HOLDYes
Sub-statusDetailed status labelNo
QueueReview queue name for routingYes

Tag

The Tag step conditionally assigns metadata labels to evaluations.

ConfigurationDescription
Tag nameLabel to apply (for example, "High Risk", "VIP Customer")
ConditionsConditions that must be satisfied to apply the tag

Tags appear in the evaluation response tags array and are visible in Case Management for filtering and reporting.


Reason code

The Reason Code step conditionally attaches reason codes that explain evaluation outcomes.

ConfigurationDescription
Reason codeCode identifier (for example, R001)
ConditionsConditions that trigger the reason code

Matrix Rule

The Matrix Rule step evaluates a tabular set of rules, where each row defines a combination of conditions and an output value.

ConfigurationDescription
Input fieldsData fields used as row/column keys
Output fieldVariable name for the result
Output data typeBOOL, INT, FLOAT, or STR
Rule matrixTable of input combinations mapped to output values

Rule Score

The Rule Score step computes a numerical score based on rule evaluations.

ConfigurationDescription
RulesSet of conditions, each with an assigned point value
Output fieldVariable name where the computed score is stored
AggregationHow rule scores are combined (sum, weighted, etc.)

The computed score appears in the score field of the evaluation response.


Grouped Rules

The Grouped Rules step evaluates collections of related rules together, enabling modular rule management.

ConfigurationDescription
Rule groupsNamed groups of conditions
Evaluation modeHow groups interact (all must pass, any must pass, etc.)

Wait

The Wait step pauses workflow execution until a specified condition is met or a timeout expires.

ConfigurationDescriptionRequired
Wait conditionData condition that must be satisfied to resumeYes
TimeoutMaximum wait duration before the workflow continues on the timeout pathYes

When a Wait step is active:

  • The evaluation status changes to evaluation_paused.
  • You can resume the evaluation by sending a PATCH request with updated data.
  • A webhook event (evaluation_paused) is sent to subscribed endpoints.

OTP

The One-Time Passcode (OTP) step sends a verification code to the user and pauses the workflow until verification completes.

ConfigurationDescriptionRequired
ChannelDelivery method: EMAIL, SMS, or VOICEYes
StatusCase status while waiting: OPEN or ON_HOLDYes
Sub-statusDetailed status labelNo
QueueReview queue for timeout routingYes
TimeoutMaximum time to wait for verificationYes
Output fieldVariable name for the OTP resultYes

Hosted Flow

The Hosted Flow step triggers a Socure Hosted UX experience (such as the Capture App for document verification).

ConfigurationDescriptionRequired
Flow configurationHosted UX template and branding settingsYes
TimeoutMaximum time for the user to complete the flowYes

When a Hosted Flow step is active:

  • The user receives a link (via SMS, email, or QR code) to complete the hosted experience.
  • The workflow pauses until the user completes the flow or the timeout expires.
  • Results from the hosted flow are stored as enrichment data.

Workflow states and modes

Workflows themselves have states and modes that affect how they process evaluations:

Workflow states

StateDescription
DRAFTWorkflow is being edited; not available for evaluations
PUBLISHEDWorkflow is finalized and available for deployment
DELETEDWorkflow has been removed

Workflow modes

ModeDescription
LIVEActively processing evaluations
SHADOWProcesses evaluations in parallel with the live workflow for comparison; results are logged but not returned
ABA/B testing mode; traffic is split between this workflow and the live workflow
TEMPLATEServes as a reusable template for creating new workflows

Related