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.
Fetches recent transactions from Powens for each linked account and stores them in the canonical ledger.
Source Definition
export const syncOpenBankingTransactionsWorkflow = defineWorkflow({
meta: {
key: 'pfo.workflow.sync-openbanking-transactions',
version: '1.0.0',
title: 'Synchronise Open Banking Transactions',
description:
'Fetches recent transactions from Powens for each linked account and stores them in the canonical ledger.',
domain: 'finance',
owners: [OwnersEnum.PlatformFinance],
tags: ['open-banking', 'powens', TagsEnum.Automation],
stability: StabilityEnum.Experimental,
},
definition: {
entryStepId: 'sync-transactions',
steps: [
{
id: 'sync-transactions',
type: 'automation',
label: 'Sync Transactions',
description:
'Call the Powens provider to pull incremental transactions for active accounts.',
action: {
operation: { key: 'openbanking.transactions.sync', version: '1.0.0' },
},
requiredIntegrations: ['primaryOpenBanking'],
requiredCapabilities: [TRANSACTION_CAPABILITY],
retry: {
maxAttempts: 4,
backoff: 'exponential',
delayMs: 1_500,
},
},
{
id: 'list-transactions',
type: 'automation',
label: 'List Transactions',
description:
'Retrieve the canonical transaction list for reporting and downstream analytics.',
action: {
operation: { key: 'openbanking.transactions.list', version: '1.0.0' },
},
requiredIntegrations: ['primaryOpenBanking'],
requiredCapabilities: [TRANSACTION_CAPABILITY],
retry: {
maxAttempts: 2,
backoff: 'linear',
delayMs: 1_000,
},
},
],
transitions: [{ from: 'sync-transactions', to: 'list-transactions' }],
},
});