apiVersion: naftiko.io/v1alpha1 kind: CapabilityComposition metadata: name: digital-banking-experience title: Digital Banking Experience Workflow provider: jack-henry description: >- End-to-end workflow that composes Banno's Authentication Framework, Consumer API, and Plugin Framework to deliver a third-party-embedded digital-banking experience: authorize the user via OIDC, read account and transaction context, surface a custom Banno plugin card, and (when needed) execute a transfer or Zelle payment on the user's behalf. tags: - Digital Banking - Workflow - OAuth - Plugins - Embedded Banking spec: steps: - id: authorize capability: banno-authentication-framework operation: authorize description: Redirect the user through Banno OIDC for consent on requested scopes. - id: exchangeToken capability: banno-authentication-framework operation: exchangeToken description: Trade the authorization code for access + identity tokens. - id: getUser capability: banno-consumer-api operation: getUser description: Resolve the authenticated user profile. - id: listAccounts capability: banno-consumer-api operation: listAccounts description: Fetch the user's deposit, debt, line-of-credit, and investment accounts. - id: listTransactions capability: banno-consumer-api operation: listTransactions description: Pull recent transactions for the active account. - id: renderPluginCard capability: banno-plugin-framework operation: getPluginManifest description: Load the partner plugin manifest and render the card in the user's dashboard. - id: createTransfer capability: banno-consumer-api operation: createTransfer description: When the user initiates an action from the plugin, schedule a transfer. optional: true - id: sendZelle capability: banno-consumer-api operation: sendZellePayment description: Alternative — send a Zelle payment if the action calls for it. optional: true