OSS-first docs

These docs teach the open system first: contracts, generated surfaces, runtimes, governance, and incremental adoption. Studio shows up as the operating layer on top, not as the source of truth.

pfo.workflow.refresh-openbanking-balances

Refreshes balances for synced accounts to surface the latest cash positions in dashboards.

  • Type: workflow (workflow)
  • Version: 1.0.0
  • Tags: open-banking, powens
  • File: packages/examples/pocket-family-office/src/workflows/refresh-openbanking-balances.ts
  • field.key.label
    pfo.workflow.refresh-openbanking-balances
    field.version.label
    1.0.0
    field.type.label
    workflow (workflow)
    field.title.label
    pfo.workflow.refresh-openbanking-balances
    field.description.label

    Refreshes balances for synced accounts to surface the latest cash positions in dashboards.

  • Type: workflow (workflow)
  • Version: 1.0.0
  • Tags: open-banking, powens
  • File: packages/examples/pocket-family-office/src/workflows/refresh-openbanking-balances.ts
  • field.tags.label
    open-banking,powens
    field.owners.label
    field.stability.label

    Refreshes balances for synced accounts to surface the latest cash positions in dashboards.

    Source Definition

    export const refreshOpenBankingBalancesWorkflow = defineWorkflow({
    	meta: {
    		key: 'pfo.workflow.refresh-openbanking-balances',
    		version: '1.0.0',
    		title: 'Refresh Open Banking Balances',
    		description:
    			'Refreshes balances for synced accounts to surface the latest cash positions in dashboards.',
    		domain: 'finance',
    		owners: [OwnersEnum.PlatformFinance],
    		tags: ['open-banking', 'powens', TagsEnum.Automation],
    		stability: StabilityEnum.Experimental,
    	},
    	definition: {
    		entryStepId: 'refresh-balances',
    		steps: [
    			{
    				id: 'refresh-balances',
    				type: 'automation',
    				label: 'Refresh Balances',
    				description:
    					'Trigger the Powens provider to obtain current and available balances.',
    				action: {
    					operation: { key: 'openbanking.balances.refresh', version: '1.0.0' },
    				},
    				requiredIntegrations: ['primaryOpenBanking'],
    				requiredCapabilities: [BALANCE_CAPABILITY],
    				retry: {
    					maxAttempts: 3,
    					backoff: 'exponential',
    					delayMs: 1_000,
    				},
    			},
    			{
    				id: 'fetch-balances',
    				type: 'automation',
    				label: 'Fetch Balances',
    				description:
    					'Load the canonical balance snapshots for downstream workflows and dashboards.',
    				action: {
    					operation: { key: 'openbanking.balances.get', version: '1.0.0' },
    				},
    				requiredIntegrations: ['primaryOpenBanking'],
    				requiredCapabilities: [BALANCE_CAPABILITY],
    				retry: {
    					maxAttempts: 2,
    					backoff: 'linear',
    					delayMs: 750,
    				},
    			},
    		],
    		transitions: [{ from: 'refresh-balances', to: 'fetch-balances' }],
    	},
    });