Bank Connect

Developer Guides

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.

Schema Model


How to Create Bank Verification Request

Details the bankconnect__Bank_Verification__c object and the required fields for creating a Bank Verification record programmatically.

https://cloudmaven.atlassian.net/wiki/spaces/BC/pages/1461157910/How+to+Create+Bank+Verification+Request


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 ConfigurationProduct_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.