Browse the docs

Agent setup guide

Bookkeeping & Finance Agent

Categorizes every transaction against your chart of accounts and sends the unclear ones to your bookkeeper.

Available About 20 min to set up

What it does

Categorizes every transaction against your chart of accounts and sends the unclear ones to your bookkeeper.

  • Receives each transaction from your bank-feed export, card or expense tool, processor or another workflow through a webhook.
  • AI decides income, expense, transfer, refund or owner, picks the account from the chart of accounts you paste in, applies your tax rules and rates its confidence.
  • Clear, high-confidence transactions are added straight to your Google Sheets ledger as “Auto-categorized”.
  • Unclear ones (low confidence, transfers, unknown tax, over your review threshold, possible capital purchases) are posted to your Slack finance channel and wait in Reviews.
  • Once your bookkeeper confirms or corrects the category, the row is added to the ledger as “Reviewed”, with the reason it was flagged.

What it needs

  • A paid plan (agents run live on paid plans).
  • An AI provider key (Settings → AI Providers).
  • Google Sheets and Slack, connected in Settings → Integrations.
  • A bank-feed export, card tool, processor or script that can send each transaction to a webhook URL.

What it doesn't do

  • It doesn't connect to your bank or pull transactions by itself; they arrive through the webhook.
  • It doesn't post entries to QuickBooks, Xero or any ledger: it logs to a Google Sheet your bookkeeper imports or reconciles.
  • It never invents accounts or tax rates: it only uses what you paste in, and flags the rest for review.
  • It isn't tax advice, and it doesn't send payment reminders or monthly reports.

Availability and plans

Available

Its workflow is built and tested, and every app it needs is live. You can get it and set it up now.

Included free on the Enterprise plan; on other paid plans it's a one-time purchase per workspace (the price is on the Agents page). The Agents page in the app always shows its current status.

Before you start

  • A paid plan: agents run live, and the Free plan only runs Dry Runs.
  • An AI provider key (OpenAI, Anthropic, Google and more) in Settings → AI Providers. AI usage is billed by your provider.
  • These apps, connected in Settings → Integrations: Google Sheets and Slack.
  • A form, app or system that can send each new item to a webhook URL (the agent starts from a webhook).
  • About 20 minutes.

Set it up step by step

Get the agent first (buy it, or it's already yours when your plan includes it), then in Agents → My agents press “Set up this agent”. That creates the agent's workflow in your workspace (it counts towards your plan's workflow limit) and opens the canvas with a setup checklist above it. Each item links to the exact place to go and ticks itself off when it's done.

1. Connect your AI provider

The AI steps run on your own key (OpenAI, Anthropic, Google and more). Add one in Settings → AI Providers.

2. Connect Google Sheets

Connect the Google account that can edit your ledger spreadsheet (Settings → Integrations → Google Sheets).

3. Connect Slack

Connect the Slack workspace your finance team uses (Settings → Integrations → Slack).

4. Paste your chart of accounts and tax rules

Open “Categorize the transaction” and replace the placeholder with your accounts, codes, tax rates and review rules.

SettingWhat to enterIn step
Your chart of accounts and tax rulesReplace the placeholder with your account names (and codes), the tax rates that apply and any rules, e.g. review anything over $2,000 or capitalize equipment over $2,500. The agent only uses accounts written there. It starts as “[PASTE YOUR CHART OF ACCOUNTS AND TAX RULES HERE]” until you replace it.“Categorize the transaction”

5. Pick your ledger sheet

Open both Google Sheets steps and pick your account, the spreadsheet and the tab. Give the tab a header row: Date, Description, Counterparty, Amount, Currency, Direction, Account, Code, Tax, Confidence, Status, Notes, Transaction id, Source account.

SettingWhat to enterIn step
Google account (ledger sheet)The Google account that can edit your ledger spreadsheet. Pick your connected Google Sheets account.“Add to your ledger sheet”
Ledger spreadsheetPaste the link of the spreadsheet categorized transactions are added to.“Add to your ledger sheet”
Ledger tabThe tab inside the spreadsheet, e.g. Transactions.“Add to your ledger sheet”
Google account (reviewed rows)The same Google account, for rows your bookkeeper approved. Pick your connected Google Sheets account.“Add reviewed row to your ledger sheet”
Ledger spreadsheet (reviewed rows)Usually the same spreadsheet as above.“Add reviewed row to your ledger sheet”
Ledger tab (reviewed rows)Usually the same tab as above.“Add reviewed row to your ledger sheet”

6. Pick the Slack account and finance channel

Open “Tell your bookkeeper in Slack” and pick your account and channel. Invite the app to private channels first (/invite @Fluxo Flow).

SettingWhat to enterIn step
Slack accountThe Slack workspace review alerts are posted to. Pick your connected Slack account.“Tell your bookkeeper in Slack”
Finance channelThe channel your bookkeeper watches, e.g. #finance.“Tell your bookkeeper in Slack”

7. Test it with Dry Run

Press Dry Run: the agent runs on sample data with no messages sent and nothing written to your apps.

8. Switch the trigger on

Open the trigger, switch the webhook on and have your bank-feed export, card tool or processor send each transaction to its URL.

How it works

The agent is a normal workflow with 8 steps (1 AI step, with a person approving in Reviews). You can open, edit and monitor it like any other workflow.

  • New transaction — Starts when your form or app sends data to the agent's webhook URL. Your bank-feed export, card or expense tool, payment processor or another workflow posts each transaction to the workflow's webhook URL.
  • Categorize the transaction — AI step (runs on your AI provider key). AI picks the direction, the account from your chart of accounts and the tax treatment, rates its confidence and flags anything a bookkeeper should check.
  • Clear or needs review? — Decision: picks the branch to follow. High-confidence transactions with nothing to check go straight to your ledger sheet; everything else waits for your bookkeeper.
  • Add to your ledger sheet — Google Sheets: Add a row. Branch: Clear. Appends the categorized transaction to your Google Sheet, marked “Auto-categorized”.
  • Tell your bookkeeper in Slack — Slack: Post a message. Branch: Needs review. Posts the transaction, the suggested account and why it needs a look to your finance channel.
  • Bookkeeper checks the category — A person approves or rejects it in Reviews (the run waits). Branch: Needs review. Your bookkeeper confirms or corrects the account and tax treatment in Reviews before the row is logged.
  • Add reviewed row to your ledger sheet — Google Sheets: Add a row. Branch: Approved. Appends the transaction as checked by your bookkeeper, marked “Reviewed”, with the reason it was flagged.
  • Bookkeeper notified — Kept in the run history. The run history keeps the alert that was posted.

Test it with Dry Run

Press Dry Run in the canvas. The agent runs on the sample data stored on its trigger (the “Sample data for Dry Run” box), so you can check every step's output before anything is live. Edit the sample to match the fields your own form or app sends.

Sample data fields

transaction_id, date, description, amount, currency, type, source_account, counterparty, source.

  • Nothing is sent or written: app actions, emails and Slack posts are simulated, and AI steps don't call your AI provider.
  • Approval steps use the Dry Run decision you pick in the step's settings (approved, rejected or timeout), so you can try each branch.

Go live

  • Open the trigger, switch the webhook on and have your bank-feed export, card tool or processor send each transaction to its URL.
  • The webhook is protected by a secret: send it in the header shown in the Activation panel (requests without it are refused with 403). Each request starts one run.
  • The setup checklist adds a “paid plan” item before activation: live runs need a paid plan (the Free plan only runs Dry Runs).
  • When every checklist item is done and the trigger is on, the checklist says “Live — this agent is running”. Follow its runs in the workflow's History tab and in Analytics → Agents.

Questions

Does it post to QuickBooks or Xero?

No. It logs categorized rows to a Google Sheet your bookkeeper can import or reconcile against. QuickBooks and Xero have no expense or journal-entry actions in Fluxo Flow yet.

Which columns does the sheet get?

Date, description, counterparty, amount, currency, direction, account, account code, tax treatment, confidence, status, notes, transaction id and source account, in that order (columns A–N). Add a header row with those names.

Can I send a whole bank statement at once?

Send one transaction per webhook call. Most bank-feed and spreadsheet tools can loop over rows and call a webhook for each.

Troubleshooting

  • “No AI provider connected” or a rejected key: connect or fix the key in Settings → AI Providers, then press Test there.
  • A checklist item stays unticked: the setting is still empty or still contains its placeholder text. Open the step from the checklist and fill it in.
  • An app step fails with “Needs reconnect”: the account's access was revoked or expired. Reconnect it in Settings → Integrations.
  • Slack says the app isn't in the channel: in Slack, type /invite @Fluxo Flow in that channel (always needed for private channels).
  • Nothing happens when your form sends data: check the webhook is switched on and the request carries the secret header (403 means it's missing or wrong).
  • A run shows as paused: it's waiting for someone in Reviews to approve or reject it.
  • A step failed: open the run in History and check that step in the Trace tab for the error and what it received.

Generated from the agent's own workflow, so it always matches what the agent does. Last updated .