Skip to main content

Workflows user guide


Workflows are new way of creating onboarding journeys, facilitating conditional branching with great flexibility.


  • **IncdOnboarding SDK 5.21.0 or later**
  • **Access to Workflows** via Incode dashboard.

1. Initialize IncdOnboarding SDK

Add the following line of code to your AppDelegate class:

IncdOnboardingManager.shared.initIncdOnboarding(url: url, apiKey: apiKey)

url and apiKey will be provided to you by Incode. To initialize the SDK without an apiKey, please follow the section Using SDK without API key in USER_GUIDE.

If you're running the app on a simulator, please set the testMode parameter to true.

2. Configure the Onboarding session

Each Workflow is distinguished by a unique ID. Workflows should be configured inside the section named "Workflows" on the Incode Dashboard. This ID is provided upon Workflow creation in your Incode Dashboard.

Before running the workflow, you should create an instance of IncdOnboardingSessionConfiguration by providing a unique ID of the workflow you want to run:

let sessionConfig = IncdOnboardingSessionConfiguration(configurationId: "workflow_id")

Starting a Workflow

In the UIViewController class where you wish to initiate the onboarding workflow, you should call startWorkflow function:

IncdOnboardingManager.shared.presentingViewController = self

IncdOnboardingManager.shared.startWorkflow(sessionConfig: sessionConfig, delegate: self)

If a Workflow fails to initiate, ensure that the SDK has been properly initialized and that the sesion configuration is configured with a valid configurationId. **Example:** A valid configurationId should resemble: "651a2679cf3b4329b524b124".

Implementing Delegates

Delegate that conforms to IncdOnboardingDelegate protocol will be notified about updates from IncdOnboarding SDK as the user progresses through the flow.

// Called when front Id Scan is completed

func onIdFrontCompleted(_ result: IdScanResult)

// Called when back Id Scan is completed

func onIdBackCompleted(_ result: IdScanResult)

// Called when process ID step is completed.

func onIdProcessed(_ result: IdProcessResult)

// ...

// Called when Onboarding flow is finished successfully

func onSuccess()

// Called when some unexpected error occurred during Onboarding flow

func onError(_ error: IncdFlowError)


Copyright 2023 Incode Technologies. All rights reserved.