Onfido logo home page
Watch a demo
Get in touch
Arrow back Back to guides

Smart Capture Link

Start here

Smart Capture Link is a low- to no-code frontend solution complementing Onfido Studio, allowing you to verify individuals with or without engineering effort.

Rather than integrating the end-user experience into your system or application using our SDKs, Onfido hosts the verification journey on your behalf, either directly on onfido.app, or on a custom subdomain (e.g. mycompany.region.onfido.app). The Smart Capture Link is then sent to your customers, redirecting them towards the interactive steps of a workflow. All SDK operations are taken care of by Onfido, meaning you only integrate once, with no need to update to new SDK versions.

There are two ways to use Smart Capture Link:

  • No-code
  • Light integration

Your choice of approach will depend on a range of factors including engineering resources, user volume or the decision whether to generate a unique or generic URL. This guide will help you understand how to integrate Onfido Studio with Smart Capture Link for light and no-code integrations.

No-code integration

Overview

This approach is completely no-code. You can generate a generic, reusable Smart Capture Link for a given Workflow in Onfido Studio, send it to your users, and all workflow run outcomes will be available in your Onfido Dashboard. Anytime you wish to stop end users from using the link, you can simply deactivate the currently active version of the workflow.

This approach works well for low volume use cases where you have the operational resources to manually review each workflow run result and then update your own CRM or database. The generic Smart Capture Link is not unique, so there is no automatic way for you to identify users and match them against your system.

1. Create a workflow

The process of generating a generic Smart Capture Link begins by creating a workflow using the Workflow Builder available on your Onfido Dashboard.

After you have created your workflow, copy and save the workflow_id that can be found in the Workflow Builder, as you will need it in the next steps. You must ensure the workflow is valid and activated.

Note: Unlike the light integration method, you will not be able to pass applicant or custom data into your workflow, because there is no API interaction creating a workflow run. If your workflow requires input data, you cannot generate a generic Smart Capture Link

Obtaining a generic link in your Onfido Dashboard is a matter of following a few simple steps:

  1. Contact support to set your (custom) subdomain name
  2. Navigate to Studio in your Onfido Dashboard
  3. Select the workflow for which you’d like to generate a Smart Capture Link
  4. Click the Share Smart Capture Link button in the top right hand corner
  5. Click the Copy link button

The link is generic, so you’ll only need one per workflow and it can be sent to any customer. Please ensure the workflow in question has been activated.

You can set the language of the user interface by appending the language parameter to the URL. It supports 2 character language codes (e.g. en) and 5 character locale codes (e.g. en_US). Workflow runs will default to US English if this is not specified. See here for the list of supported languages. Example: ?language=en

Once you have generated the generic Smart Capture Link, you can send the URL to your end users. A workflow run will start as soon as the user opens the link. The Onfido UI will load and the user completes all interactive tasks until none remain. At the same time, the Onfido backend will complete any non-interactive tasks contained in the workflow.

4. Retrieve results

To determine the outcome of workflow runs, you can do a manual check in the Results section of the Onfido Dashboard. Here, you will find a list of all completed workflow runs.

If you’re using a 3rd party integration tool, you may wish to use it to receive the webhook notifications described below in the light integration approach and act accordingly. You may also wish to use it to get result information from the API described below in the light integration approach, and post it in your ticketing system.

Light integration

Overview

Our light integration approach is our low-code, scalable solution to get you off the ground quickly. It only requires a small amount of backend engineering development and allows you to generate and send a unique Smart Capture Link to each individual end user.

With the low-code integration, you can trigger the Onfido API to create a Workflow Run using a specific Applicant ID and a Workflow ID. You can then generate a unique Smart Capture URL to send to the user associated with the Applicant ID. The user will simply click this link, where they will be taken to the Onfido hosted web SDK to complete their verification journey.

Once the user has completed the workflow, your system can be configured to receive a notification using a webhook. Your system can then automatically determine the outcome of the workflow run and update the user accordingly.

If you decide to customize your UX later by integrating the end-user verification journey directly into your web or mobile apps using our SDKs, the result-handling steps will remain the same and will not need to be reimplemented.

1. Create a workflow

As with the no-code integration approach, the process begins by creating a workflow using the Workflow Builder available on your Onfido Dashboard.

Workflows are the end-user verification journeys designed in the Workflow Builder. Workflows allow you to define required end-user actions, which verifications are triggered as well as logic conditions to create fully customized verification journeys. You can use the same workflow for any number of verifications and can create multiple different workflows on your Dashboard.

After you have created your workflow, copy and save the workflow_id that can be found in the Workflow Builder, as you will need it in the following steps. You must ensure the workflow is valid and activated.

Next, create a Workflow Run using the Onfido API. At a minimum, you will need to provide the workflow ID that was saved from the previous step, as well as an applicant ID. With this applicant ID, you can pass information regarding the user to the Workflow Run by granting it access to the data stored in an Applicant object. At the same time, any business-specific data that you may have configured using the Workflow Builder can be passed to the workflow in the optional custom data object.

To configure the Smart Capture Link, you may provide data in the optional link object when making the Create Workflow Run call. This includes defining redirect URLs for when a workflow run has completed or expired, when the link will expire and what language will be used for the user’s verification journey (all attributes are optional). More detailed information regarding the links object can be found in our API reference.

Example API request using an applicant ID and the link object:

curl -X POST https://api.eu.onfido.com/v3.5/workflow_runs \
  -H 'Authorization: Token token=<YOUR_API_TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{
  "workflow_id": "<WORKFLOW_ID>",
  "applicant_id": "<APPLICANT_ID>",
  "link": {
      "completed_redirect_url": "https://example.onfido.com",
      "expired_redirect_url": "https://example.onfido.com",
      "expires_at": "2022-10-17T14:40:50Z",
      "language": "en_US"
  }
}'

The server response returns the created Workflow Run object:

HTTP/1.1 201 Created
Content-Type: application/json

{
  "id": "<WORKFLOW_RUN_ID>",
  "applicant_id": "<APPLICANT_ID>",
  "workflow_id": "<WORKFLOW_ID>",
  "workflow_version_id": 11,
  "status": "approved",
  "dashboard_url":"https://dashboard.onfido.com/results/<WORKFLOW_RUN_ID>"
  "output": {"prop1": "val_1", "prop2": 10}, 
  "reasons": ["reason_1", "reason_2"],
  "error": null,
  "created_at": "2022-06-28T15:39:42Z",
  "updated_at": "2022-07-28T15:40:42Z",
  "link": {
      "completed_redirect_url": "https://example.onfido.com",
      "expired_redirect_url": "https://example.onfido.com",
      "expires_at": "2022-10-17T14:40:50Z",
      "language": "en_US",
      "url": "https://eu.onfido.app/l/<WORKFLOW_RUN_ID>"
  },
}

The url attribute of the link object in the server response is the generated Smart Capture Link, which you will need in the next step.

Note: Regardless of whether data is passed to the link object when calling the endpoint, a link object will be returned by the server in the Workflow Run object.

Once you have generated the Smart Capture Link, you can send the URL to your end user. As soon as they open the link, the Onfido UI will load and the user can complete all interactive tasks (such as document and selfie uploads) until none remain. At the same time, the Onfido backend will complete any non-interactive tasks contained in the workflow (such as database checks and fraud signals).

4. Get notified of completion

You can set up a webhook to send a notification to your backend upon the completion of a workflow run.

The webhook event workflow_run.completed is fired upon completion of a workflow run.

Example webhook event object payload:

{
  "payload": {
    "resource_type": "workflow_run",
    "action": "workflow_run.completed",
    "object": {
      "id": "<WORKFLOW_RUN_ID>",
      "completed_at_iso8601": "2022-02-10T15:48:37.389407",
      "href": "https://api.onfido.com/v3.5/workflow_runs/<WORKFLOW_RUN_ID>"
    }
  }
}

5. Retrieve results

You can retrieve the outcome of a workflow run via the API by making a Retrieve Workflow Run call, or view the results on your Onfido Dashboard.

Example API request:

curl -X GET https://api.eu.onfido.com/v3.5/workflow_runs/<WORkFLOW_RUN_ID> \
  -H 'Authorization: Token token=<YOUR_API_TOKEN>' 

Further details on how to retrieve workflow runs via the API can be found in our API reference.

Rate Limiting

Generic Smart Capture Links have daily rate limits of 5 per IP address and 1000 per client. This helps mitigate the risks associated with an end user sharing the generic link.

Onfido

Our solutions

Onfido uses 256-bit SSL encryption 100% of the time on every device.

BSI ISO/IEC27001

Onfido has been certified by BSI to ISO 27001 under certificate number IS 660122.

© Onfido™, 2022. All rights reserved.
Company Registration Number: 07479524.