BankSync

Connect AI agents to real bank accounts — transactions, balances, investments, and loans across 15,000+ institutions.

Community: Submitted by a user or imported; check the owner before granting accessOnlineAPI key requiredGlobalFreeRead-only

What it can do

  • Get Data Type Schema: Get the available source fields for a given data type — use this before building fieldMappings in create_feed or update_feed. Returns each field's key (use as sourceField), name,
  • List Feed Sources: List all supported feed source types and the data types each source can produce. Use this to discover valid source × dataType combinations before calling create_feed. Also describes
  • List Workspaces: List all workspaces the authenticated user belongs to. Returns workspaceId, name, and role for each — workspaceId is required by all other tools.

What data it sees

Do you need an account

An API key from the service settings is required

Connect AI agents to real bank accounts — transactions, balances, investments, and loans across 15,000+ institutions. Sync to Notion, Google Sheets, and Airtable.

Server tool list (28)

Raw names from tools/list. Only developers need these.

get_data_type_schemaGet the available source fields for a given data type — use this before building fieldMappings in create_feed or update_feed. Returns each field's key (use as sourceField), name, type, description, and whether it is required. Required fields must be mapped before a sync will complete successfully. For extractor/upload feeds, fields are user-defined in extractionConfig — this tool only covers bank sync (sync source) data types.
list_feed_sourcesList all supported feed source types and the data types each source can produce. Use this to discover valid source × dataType combinations before calling create_feed. Also describes what each source type does and what configuration it needs.
list_workspacesList all workspaces the authenticated user belongs to. Returns workspaceId, name, and role for each — workspaceId is required by all other tools.
get_workspaceGet name, subscription plan, and settings for a workspace. Returns 403 if the user is not a member — use list_workspaces to find valid workspaceIds.
list_integrationsList connected destination integrations (Notion, Google Sheets, Airtable) for a workspace. Returns integrationId needed when configuring a feed destination.
delete_integrationRemove a destination integration (Notion, Airtable, Google Sheets) from the workspace. Any feeds using this integration as their destination will fail to sync after removal. To add a new integration, use the BankSync app to complete the OAuth authorization flow.
list_banksList all connected bank/institution connections for a workspace. Returns bankId needed for list_accounts, get_transactions, and other data tools.
get_bankGet a bank connection and its live accounts fetched directly from the institution. Returns bankId, institution name, and accounts with accountId and accountType.
create_bank_linkInitiate a new bank connection. Returns a link token and hosted authorization URL. For Plaid: open authUrl in a browser — the user authenticates with their bank and Plaid returns a public_token. Then call connect_bank with the public_token to complete the connection. For Basiq: open authUrl and follow the authorization flow — the connection becomes active automatically.
connect_bankComplete a Plaid bank connection by exchanging the public_token received from Plaid Link. Call create_bank_link first to get the authorization URL, have the user complete the Plaid flow, then pass the returned public_token here to create the bank connection in the workspace.
delete_bankRemove a bank connection from the workspace. The bank will no longer sync data and existing feeds referencing it will fail until updated.
list_accountsFetch live accounts for a bank connection directly from the institution — not cached. Returns accountId, accountType (checking/savings/investment/loan), balance, and currency. Use accountId with get_transactions, get_balance, etc.
get_accountFetch a single account's current details directly from the institution. Returns accountType, balance, currency, and institution name. Use list_accounts to discover valid accountIds.
get_transactionsFetch bank transactions for an account. For Plaid banks: omit from/to and pass cursor for efficient incremental sync — returns added/modified/removed arrays plus nextCursor. For Basiq banks: use from/to date range. Returns up to 500 transactions per call.
get_balanceFetch the current live balance for an account directly from the institution — not cached. Returns current balance, available balance, and credit limit where applicable.
get_holdingsGet current investment holdings (positions, quantities, market values) for an investment account. Only valid for accounts with accountType="investment" — use list_accounts to check.
get_tradesGet investment transactions (buys, sells, dividends) for an investment account over a date range. Only valid for accounts with accountType="investment" — use list_accounts to check.
get_loanGet loan details (outstanding balance, interest rate, next payment) for a loan or liability account (mortgage, personal loan, credit card). Use list_accounts to find accounts with accountType="loan" or "credit".
list_feedsList all data pipeline feeds in a workspace. Returns feedId, name, source, dataType, and status. Use feedId with trigger_sync, list_jobs, and get_job.
get_feedGet the full configuration and status of a specific feed pipeline, including sourceConfig, destinationConfig, fieldMappings, and schedule. Use list_feeds to find valid feedIds.
create_feedCreate a new data pipeline feed. source must be one of: sync, extractor, upload. dataType must be one of: transactions, balances, trades, holdings, loans, receipts, invoices, documents. Typical workflow: 1. list_banks → find bankId and accountId values 2. list_integrations → find integrationId for destination 3. get_data_type_schema(dataType) → discover available sourceField keys for fieldMappings 4. create_feed → create with sourceConfig + destinationConfig + fieldMappings 5. trigger_sync → run the feed sourceConfig.type must match source. destinationConfig and fieldMappings are optional on creation but required before triggering a sync. Returns the full feed document including generated feedId.
update_feedUpdate a feed's name, configuration, or schedule. Pass only the fields to change — this is a partial update. source and dataType cannot be changed after creation. Use get_feed to see current values. Use get_data_type_schema to check valid sourceField keys before updating fieldMappings.
validate_feedPre-flight validate a feed configuration without creating it. Returns errors (would block creation) and warnings (should be resolved before syncing). Use this before create_feed to catch mistakes early — especially useful when building field mappings. For updates, pass feedId to validate against the existing feed's source/dataType context.
delete_feedPermanently delete a feed and all its sync job history. This cannot be undone. Use cancel_job first if a sync is currently running.
list_jobsList sync job history for a feed, newest first. Use the status filter to check for running jobs before triggering a new sync — only one job can run at a time per feed.
get_jobGet current status and progress of a specific sync job. Poll this after trigger_sync to track completion. Status will be: queued → in_progress → completed (or failed/cancelled).
trigger_syncQueue a new sync job for a feed and return the full job object. Use get_job with the returned jobId to poll for progress. Check list_jobs first — only one job can be queued or running per feed at a time.
cancel_jobCancel a queued or in_progress sync job. Returns the updated job with status="cancelled". Has no effect on completed or failed jobs — check status with get_job first.