This document provides a developer guide for creating Bank Verification records within Salesforce using the custom object bankconnect__Bank_Verification__c. This automation streamlines customer banking information verification.
When to use: Integration workflows, account onboarding, loan applications, or any process requiring verified banking, identity or income data.
Prerequisites
Before creating a Bank Verification record, ensure you have:
Salesforce Setup
-
The BankConnect package installed
-
User permissions: Access to CloudMaven - Bank Connect permission set
Required Data
-
Valid parent record ID (Contact, Opportunity, or custom object)
-
Customer email address (must be valid format)
Plaid Products Available
-
Auth— Bank account and routing number verification -
Assets— Asset holdings and balances -
Transactions— Transaction history -
Balance— Account balance information -
Investments— Investment account details -
Liabilities— Liability account information -
Statements— Bank statements -
Identity_Verification— Identity verification -
Income_Verification— Income verification
Object Overview
Object Name: bankconnect__Bank_Verification__c
This is a custom Salesforce object created as part of the BankConnect package. It holds all necessary data related to a customer's bank verification request and its processing status.
Required Fields for Bank Verification Record Creation
|
Field API Name |
Description |
Data Type / Notes |
|---|---|---|
|
|
Record name |
Text |
|
|
Your company name (appears on the Plaid toolkit) |
Text (String) |
|
|
First name of the customer |
Text |
|
|
Last name of the customer |
Text |
|
|
Email address of the customer |
Email format |
|
|
Semicolon-separated list of Plaid products to request |
Semicolon-separated (no spaces). Example: Auth;Assets;Transactions. Invalid products will cause validation error on insert. |
|
|
Number of days of asset history to retrieve |
Integer; Required only if Assets is selected in Plaid_Products__c. Range: 1-730 days. Default: 30 |
|
|
Include Asset PDF in the request |
Boolean (optional) |
|
|
Start date for transaction data |
Date; Required only if Transactions is selected. End date must be after start date. Default: 90 days prior to today |
|
|
End date for transaction data |
Date; Required only if Transactions is selected. Default: current date |
|
|
Set to true to skip sending an automatic email to the customer |
Boolean (Optional) |
|
|
Salesforce Record ID of the parent object (e.g., Contact, Opportunity, Custom Object) |
18-character Salesforce Record ID |
Code Example with Error Handling
What Happens After Record Creation
Once you insert a Bank Verification record, the following occurs automatically:
1. Status Update
Record status changes from "Not Requested" to "Requested" (typically within seconds)
2. Email Notification
(unless SkipAutoTriggerEmail__c = true)
-
Customer receives email with secure Plaid widget link
-
Email sent to
bankconnect__Email__caddress
3. Plaid Widget
Customer completes bank connection process
-
Security authentication with their bank
-
Grants permission for selected products
-
Completes within 5-15 minutes
4. Record Status Flow
-
Requested → Authorized (customer successfully completes Plaid widget)
-
Requested → Failed (authentication error or timeout)
Common Errors & Validation Rules
|
Error |
Cause |
Solution |
|---|---|---|
|
|
First Name, Last Name, Email, or Plaid Products not provided |
Verify all required fields are populated before insert |
|
Invalid Plaid product: "Auth2" |
Typo in product name or unsupported product |
Use exact product names (case-sensitive): Auth, Assets, Transactions, Balance, Investments, Liabilities, Statements, Identity_Verification, Income_Verification |
|
Parent Record does not exist |
ParentRecordId references a deleted or non-existent record |
Validate the 18-character Record ID exists before creating verification request |
|
Email format invalid |
Email address doesn't match standard format |
Ensure email follows: user@domain.com |
|
Asset_Request_Duration must be 1-730 |
Invalid duration value |
Set duration between 1 and 730 days |
|
Transaction_End_Date before Transaction_Start_Date |
Date range invalid |
Ensure End Date is after Start Date |
|
Email not sent to customer |
SMTP or email service issue |
Check |