Learn

Introduction to the returning user experience

Build a faster Link flow for existing Plaid users

The returning user experience (RUX) simplifies onboarding for users who have already connected a financial account with Plaid. If your application verifies the user’s phone number in your onboarding flow (e.g. with a one-time code) before the user enters Plaid Link, you may enable the returning user experience.

Returning User Flow in Plaid Link

Enabling the returning user experience

There are two flows that a returning user could encounter, depending on the Plaid product(s) your application uses. Both of these flows present the returning user with the institutions they have previously connected, which helps to streamline the institution selection process.

  1. The pre-matched RUX flow is available for all Plaid products and is available to all Plaid developers by default. This flow requires the user to only enter their password for a given financial institution. To enable this flow, provide a verified user.phone_number and a user.phone_number_verification_time for the end user when calling /link/token/create.

  2. The pre-authenticated RUX flow is available for Transactions, Assets, Investments, and Liabilities. This flow requires the user to enter a one-time passcode that’s sent to their mobile device. To enable this flow for a given user, provide a verified user.phone_number, a user.phone_number_verification_time, and a user.email_address (the email address does not need to be verified) for the end user when calling /link/token/create. You will also need to contact your Plaid Account Manager to be enabled for this flow.

iOS returning user instructions

If you use the Plaid iOS SDK and want to use either returning user flow in an iOS application, reach out to your Account Manager.

Testing RUX in the Sandbox

Real email addresses and phone numbers do not work in the Sandbox. Instead, the Sandbox has been seeded with a test user whose phone number and email address may be used to trigger a returning user flow. This user has the following information:

1
2
3
4
5
6
{
"legal_name": "John Doe",
"phone_number": "+1 415 555 0123",
"phone_number_verified_time": "2020-01-01T00:00:00Z",
"email_address": "example@plaid.com"
}

The valid OTP code sent to this user is always 123456.