Automate Your Bank
Transaction Sync
SheetLink MAX gives you a CLI and REST API to build scheduled bank data pipelines — Postgres syncs, CSV exports, Google Sheets reports, and more. Set it up once, run it on your schedule.
Chrome extension is free. Automation requires MAX ($10.99/mo).
What You Can Automate with MAX
Any output, any schedule, any infrastructure you already use.
Scheduled CLI Syncs (cron)
Add sheetlink sync to your crontab and run it on any schedule — daily, weekly, or hourly. Outputs to Postgres, SQLite, CSV, JSON, or Google Sheets.
sheetlink sync --output postgres
REST API from Any Language
Call the SheetLink REST API from Python, Node.js, Go, or any HTTP client. Pull transactions, filter by date or account, and push to your own storage or dashboard.
GET /transactions?start_date=2026-01-01
Webhook-Style Polling
Run a polling script after each sync. Compare latest transaction IDs against your database and trigger downstream actions — Slack alerts, email reports, or budget warnings.
sheetlink sync && node check-new-txns.js
CI/CD Pipeline Integration
Add bank sync as a step in your GitHub Actions or other CI workflow. Use API key auth for headless environments — no browser or Google OAuth pop-up required.
sheetlink auth --api-key $SL_API_KEY
Automation Recipes
Copy-paste these patterns to build your own bank data pipeline.
1. Daily CSV to S3
Export a fresh CSV every morning and archive it in S3 for a permanent transaction record.
# crontab -e 0 7 * * * sheetlink sync --output csv && \ aws s3 cp transactions.csv \ s3://my-bucket/bank-data/$(date +\%Y-\%m-\%d).csv
2. Weekly Postgres Sync + dbt Run
Refresh your database every Sunday night and rebuild your dbt models against fresh transaction data.
# crontab -e — every Sunday at 11 PM 0 23 * * 0 sheetlink sync --output postgres && \ cd /path/to/dbt-project && \ dbt run --select finance
3. Monthly Google Sheets Report
Refresh your Google Sheet on the first of each month — your existing formulas and pivot tables update automatically.
# crontab -e — 1st of month at 8 AM 0 8 1 * * sheetlink auth --api-key $SL_API_KEY && \ sheetlink sync
4. Slack Alert on Large Transactions
Sync to JSON, parse for transactions over a threshold, and post a Slack message.
sheetlink sync --output json
# In Node.js (check-large-txns.js):
const txns = JSON.parse(fs.readFileSync('transactions.json'));
const large = txns.filter(t => Math.abs(t.amount) > 500);
for (const t of large) {
await fetch(SLACK_WEBHOOK_URL, {
method: 'POST',
body: JSON.stringify({
text: `Large transaction: ${t.merchant_name} — $${t.amount} on ${t.date}`
})
});
}SheetLink in GitHub Actions
Run a scheduled bank sync from a GitHub Actions workflow. Store your API key as a repository secret.
# .github/workflows/bank-sync.yml
name: Daily Bank Sync
on:
schedule:
- cron: '0 7 * * *' # Every day at 7 AM UTC
workflow_dispatch: # Allow manual trigger
jobs:
sync:
runs-on: ubuntu-latest
steps:
- name: Install SheetLink CLI
run: npm install -g sheetlink-cli
- name: Authenticate with API key
run: sheetlink auth --api-key ${{ secrets.SHEETLINK_API_KEY }}
- name: Sync transactions to Postgres
run: sheetlink sync --output postgres
env:
DATABASE_URL: ${{ secrets.DATABASE_URL }}Privacy note: SheetLink uses manual sync — no persistent background access to your bank. The sync command fetches the latest data you authorized during your most recent manual bank connection via Plaid.
Manual Sync vs. Scheduled Automation
Manual Chrome Sync (Free / Pro)
- →Open Chrome, click Sync Now
- →Works great for personal monthly review
- →Syncs to Google Sheets or Excel
- →You control when data is fetched
- →No CLI or API access
- →Best for: individuals, occasional use
Scheduled CLI Automation (MAX)
- ✓Cron job or GitHub Actions runs on schedule
- ✓No manual steps — runs while you sleep
- ✓Output to Postgres, CSV, JSON, Sheets
- ✓API key auth — no browser required
- ✓Trigger downstream jobs after sync
- ✓Best for: developers, business owners, analysts
Who Automates Bank Data with SheetLink
SaaS Financial Dashboards
Build an internal finance dashboard that shows real-time spending, cash runway, and account balances — fed by a scheduled SheetLink sync into Postgres and visualized in Metabase or Grafana.
Accountant Automation
Run a nightly CSV sync and automatically email it to your bookkeeper. They get fresh transaction data every morning without any manual bank logins.
Multi-Entity Bookkeeping
Manage finances for multiple business entities or clients. Each entity syncs to a separate Postgres schema or Google Sheet on the same schedule, giving you a unified automated workflow.
Developer Finance Tools
Build your own spending tracker, net worth calculator, or budget app on top of the SheetLink REST API. Query transactions in your language of choice and render the UI however you want.
Pricing
Free
- ✓7 days of transaction history
- ✓Google Sheets sync
- ✓1 bank connection
- ✓Manual sync on demand
Pro
- ✓24 months of history
- ✓Google Sheets + Excel add-in
- ✓Unlimited banks
- ✓Manual sync on demand
MAX
- ✓Everything in Pro
- ✓CLI + REST API
- ✓API key for headless auth
- ✓Postgres / SQLite / CSV / JSON
- ✓Automation + cron support
Frequently Asked Questions
How do I automate bank transaction sync?
With SheetLink MAX, install the CLI (npm install -g sheetlink-cli), authenticate with an API key for headless use (sheetlink auth --api-key <key>), then run sheetlink sync on a schedule using cron or GitHub Actions.
Does SheetLink sync bank data automatically in the background?
No — SheetLink uses manual sync as a privacy feature. There is no persistent background access to your bank. You trigger syncs explicitly via the Chrome extension, CLI, or a scheduled job you control.
Can I run SheetLink in GitHub Actions or a CI/CD pipeline?
Yes. Use sheetlink auth --api-key <key> for headless authentication (no browser required), then call sheetlink sync with your preferred output. Store the API key as a GitHub Actions secret and run on a schedule trigger.
What outputs can I automate?
SheetLink MAX supports: Google Sheets (sheetlink sync), Postgres (--output postgres), SQLite (--output sqlite), CSV (--output csv), and JSON (--output json).
Can I trigger actions after a sync completes?
Yes. The CLI exits with a standard exit code on success or failure. Chain additional commands using && in your shell or define them as subsequent steps in a GitHub Actions job.
What plan do I need for automation?
Automation via CLI and API key requires the MAX tier at $10.99/mo or $99/year. Free and Pro tiers support manual sync only via the Chrome extension or Excel add-in.
Automate Your Bank Data Pipeline Today
Get MAX, install the CLI, and have your first scheduled sync running in under 15 minutes.