This collection of developer guides provides technical documentation for building integrations, automations, and custom workflows with Bank Connect. It covers the data model, Apex classes, admin/config scripts, record creation patterns, and refresh automation needed to extend or integrate with the application programmatically.
If you're looking for click-through installation and configuration steps instead, see the Admin Guide.
Core Data Model
Bank Connect's central object is Bank Verification (bankconnect__Bank_Verification__c). All product data (accounts, transactions, identity, income, investments, liabilities, statements) hangs off it via Master-Detail or Lookup relationships.
How to Create Bank Verification Request
Details the bankconnect__Bank_Verification__c object and the required fields for creating a Bank Verification record programmatically.
How to Refresh Plaid Products
Covers the invocable refreshPlaidProducts method for refreshing product data via Flow or Apex, plus links to the scheduled balance-refresh batch job pattern.
https://cloudmaven.atlassian.net/wiki/spaces/BC/pages/1461026845/How+to+Refresh+Plaid+Products
Key Apex Classes
These are the classes referenced during setup and integration work:
Site Guest User (external-facing) access:
-
bankconnect.WSProductService -
bankconnect.PlaidCallbackService -
bankconnect.BankVerificationController -
bankconnect.PlaidTransactionsCallBackService -
Visualforce page:
bankconnect.VerifyBankConnect
Admin/configuration scripts (run from Developer Console → Execute Anonymous):
// Set Plaid credentials and enable products for an environment
bankconnect.AdminServices.updatePlaidCredentials(environment, clientId, clientSecret, siteURL, encryptionKey, assets, assetPDF, auth, balance, income, transactions, insights, invest, liabilities);
// Enable processor token generation (for Auth + payment partners like Dwolla, Stripe)
bankconnect.AdminServices.enableProcessorTokenFeature(environment, bEnable);
// Enable Income Verification
bankconnect.AdminServices.enableIncomeVerification(environment, bEnable);
// Enable Identity Verification
bankconnect.AdminServices.enableIdentityVerification(environment, bEnable);
// Enable the Statements product
bankconnect.AdminServices.enableStatements(environment, bEnable);
// Enable the Cloud Maven Statistics component and Statement Summary auto-generation
bankconnect.AdminServices.enableCustomPlaidAnalytics(environment, plaidAnalytics, plaidStatementSummary);
// Allow a customer to connect multiple banks within one verification request
bankconnect.AdminServices.enableMultipleBankFeature(environment, bEnable);
Full parameter reference: Set up Plaid Credentials & Features via Script.
Product Sequencing (Multi-Product Workflows)
Sequencing lets you chain multiple Plaid products into one guided flow, branching on success/failure — e.g., try Identity Verification, then Income Verification, and fall back to Auth + Assets if income can't be confirmed.
Configured via Custom Metadata (Plaid Configuration → Product_Sequencing entry) as JSON:
{
"sequence": [
{
"order": 1,
"product": "Identity_Verification",
"success": 2
},
{
"order": 2,
"product": "Income_Verification",
"incomeSource": "Bank",
"incomeDuration": 30,
"fail": 3
},
{
"order": 3,
"product": "Auth;Assets",
"assetDuration": 60,
"assetPDF": true
}
]
}
The embedded verification URL needs &sequencing=true appended for sequencing to take effect. Full guide: How to Setup Product Sequencing.
Configuration Reference
All runtime behavior (email handling, refresh intervals, IDV template ID, Link customization, income duration defaults, etc.) is controlled through Plaid Common Settings — a custom setting with dozens of configurable keys grouped by product area (General, Link Customization, Auth, Assets, Transactions, Identity Verification, Income Verification, Payment).
Full field-by-field reference: Configurable Setting.
Webhooks
-
Bank data webhooks post to:
https://{site domain}/services/apexrest/bankconnect/Plaid_Callback -
Identity Verification webhook (event:
Identity verification status updated) is configured in the Plaid Dashboard under Platform → Developers → Webhooks, pointing to the same callback pattern. -
If Asset Webhook Batch Processing is enabled (
EnableAssetWebhookBatchProcessing), payload limits increase from 6 MB to 12 MB — useful for high-volume asset webhooks.