Flows and Workflows are Incode-hosted web applications that guide end users through an identity verification session. You configure the verification steps in Dashboard, and Incode handles the front end entirely. There is no custom web development required.
This is the simplest integration approach.
Flows vs. Workflows
Incode supports two configuration models for hosted sessions:
- Workflows are the newest, recommended model. They support conditional logic, dynamic routing between verification steps, and more advanced session configuration.
- Flows are the legacy model. They remain supported but do not include conditions or dynamic routing. New integrations should use Workflows.
For instructions on creating and configuring Workflows and Flows in Dashboard, see Workflows and Flows.
How it works
- Configure a Workflow in Dashboard. Define the verification modules your users will complete (ID scan, selfie, eKYC, etc.) and any conditional logic.
- Start a session (recommended). Your backend calls the Incode Omni API to create an onboarding session and generate a session-specific URL. Attaching an
externalCustomerIdat this step links the session to a user in your own system. - Direct your user to the URL. Share it via SMS, email, or a redirect from your web or mobile app.
- Retrieve results. Read session results directly in Dashboard, or configure a webhook to receive real-time notifications when sessions complete.
Info
Note: If you do not start a session via the API, you can share a generic Workflow URL directly with users. This is suitable for simple cases but does not allow you to link sessions to specific users in your system.
When to use this approach
Flows and Workflows are a good fit when:
- You want to go live quickly without front-end development
- You don’t need to customize the verification UI
- You are handling a high volume of users and want Incode to manage the delivery infrastructure
- You need to send verification links via messaging channels (SMS, WhatsApp, email)
If you need users to remain on your domain, consider the iFrame approach instead. If you need full UI control, see Web SDK.
Prerequisites
Complete the Dashboard setup steps in Web Integration Overview before starting this integration. These cover creating a Workflow, adding the Data Sharing Consent module, enabling redirect desktop to mobile, and obtaining your API credentials.
Starting a session
Call the Start Onboarding Session endpoint from your backend to create a session and retrieve an onboarding URL.
POST /omni/start
Include an externalCustomerId in the request body to associate the session with a user in your system. The response includes a token and a ready-to-use onboarding URL.
Redirect your user to the URL, or share it through your preferred channel.
Retrieving results
When the user completes the session, you can retrieve results in two ways:
- Dashboard: View session scores, OCR data, and status directly in the Incode Omni Dashboard.
- Webhook: Configure an Onboarding Status Webhook or Session Webhooks to receive notifications when session status changes
For full details on fetching data programmatically, see How to Fetch Results and Data.