Persona ID verification

Demo

You can see the demo of the functionality on this page and the read-only editor here.

High-level app flow

Verify users' identities with the Persona app and an embedded HTML. Get the results sent directly to an API workflow.

Set up Persona account

Create an account on the Persona dashboard, entering your info & your organization’s info (name, industry, size).

You'll also need to decide what type of verification to use. The options are:

  1. Government ID & Selfie

  2. (US only) Driver’s License front & back sides

Configure Persona dashboard

  1. Set brand colors, styles, fonts

  2. Define text used in this flow (headers, prompts to select document type, button text).

  3. Update info in Development section

    1. Write the subdomain that should appear if users access this verification through the Persona website (e.g. airdev.withpersona.com).

      1. After this step, you can preview your verification flow from a link on the dashboard.

    2. (optional) List domains that are allowed to use this tool. E.g. https://airdev.co, https://*.airdev.co if used on subdomains or www.airdev.co. If no domains are listed, your template can be used on any website. This is OK for testing, but should be changed once the app is actually running with real user data.

Set up Persona plugin in Bubble

Through AirDev's Persona plugin, you can add Persona's functionality to your Bubble app.

We recommend processing user data in the Persona dashboard. To get some relevant data back to the Bubble dashboard, you should set up Events that send the results of Verification requests back to an API workflow on the target Bubble app.

To set the plugin up in Bubble using the sandbox (testing) credentials, follow these steps and follow along in the example app above:

Go to the Development section of the Persona dashboard and copy the Template ID. This is the code used in the Plugin tab of the Bubble editor, and it tells Persona which form to load.

Next, add the Persona Bubble element to whichever page you’d like to use it on. To open the popup, run the plugin element action “Open Persona Popup”. While testing, select “sandbox” for the “environment” variable.

Next, set up an API Workflow for each of the different events you want to receive from the Persona Webhooks. We recommend using at least the verification.passed and verification.failed events, but there are a number of other events that could be useful.

This webhook can be used for the inquiry.created event

After the API Workflow is set up, create a webhook in the Persona dashboard that executes on the relevent event. Point this webhook at the API Workflow you created in the previous step, and in the API Workflow, set up the workflow by pressing "Detect Data" while testing the Persona plugin on your test page. The URL to point the webhook at will look something like this, and you can copy it after you've pressed "Detect Data": https://withpersona.bubbleapps.io/version-test/api/1.1/wf/persona_inquiry_created/initialize

The second request here is what you want. We used the first one to test that it was working.
Part of the format of the verification.passed request, after initialization

After the previous API Workflow is successfully initialized, disable that webhook and set up another one without the "initialize" at the end of the URL, e.g. https://withpersona.bubbleapps.io/version-test/api/1.1/wf/persona_inquiry_created

Create a new webhook without the "initialize" text at the end

Next, link the user to the results of this request by using the Inquiry ID state of the Persona element. When this state changes, an event is triggered on the Bubble page, as in the above demo page. You can either create or edit some data object when this happens.

Connect the user to the data from the above API Workflows

Finally, when you've got this all set up, tested, and are ready to use real user data, you'll need to contact the Persona team. Persona states in their documentation: “When you’re ready to use the API in production using live data, please contact us.”

Without going through this step, there are no actual verifications performed on any of your submissions. Users can click a box to either allow their verifications to pass or fail. This is intended for developer use when testing the application, but clearly makes the results of the verifications worthless for actual client use.