Browse the docs

Agent setup guide

Regulatory Filing Draft Assistant

Drafts SAR, CTR and other filings from your case data for a compliance officer to review and file.

Available About 25 min to set up

What it does

Drafts SAR, CTR and other filings from your case data for a compliance officer to review and file.

  • Receives each case from your case-management system or an analyst's form through a webhook, once you've decided to prepare a filing.
  • AI drafts the filing under the procedures you paste in: fields filled only from the case data and a factual chronological narrative for SARs.
  • The deadline is worked out in code, never by the AI: SAR 30 (or 60) calendar days after detection, CTR 15 days after the transaction (day counts you can change).
  • It lists missing and inconsistent data (e.g. totals that don't add up); drafts with gaps are posted to your Slack compliance channel to complete.
  • Complete drafts wait in Reviews for a compliance officer; once reviewed they're saved in your Notion filings database with a pre-filing checklist.

What it needs

  • A paid plan (agents run live on paid plans).
  • An AI provider key (Settings → AI Providers).
  • Slack and Notion, connected in Settings → Integrations.
  • A case-management system or form that can send case data to a webhook URL.

What it doesn't do

  • It never submits a filing (no BSA E-Filing, OFAC or other portal connection): a compliance officer reviews, files and owns every report.
  • It doesn't decide whether a filing is required, or watch your systems for reportable events; it drafts from the cases you send.
  • It only uses the case data you send and never fills a missing field with a guess; deadline notes must be confirmed against current regulations.
  • It doesn't track retention periods or prepare call 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: Slack and Notion.
  • A form, app or system that can send each new item to a webhook URL (the agent starts from a webhook).
  • About 25 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 Slack

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

3. Connect Notion

Connect Notion and share your filings database with the Fluxo Flow connection (Settings → Integrations → Notion).

4. Paste your filing procedures

Open “Draft the filing” and replace the placeholder with your procedures. Check the deadline day counts in “Work out the deadlines”.

SettingWhat to enterIn step
Your filing proceduresReplace the placeholder with the filings you prepare, the fields each needs and your narrative style. The agent only applies rules written there. Deadlines are computed in code in “Work out the deadlines” (SAR 30 / 60 calendar days after detection, CTR 15 days after the transaction): change the day counts there. It starts as “[PASTE YOUR FILING PROCEDURES HERE]” until you replace it.“Draft the filing”

5. Pick the Slack account and compliance channel

Open “Ask for the missing case data in Slack” and pick your account and a private channel. Invite the app to private channels first (/invite @Fluxo Flow).

SettingWhat to enterIn step
Slack accountThe Slack workspace alerts are posted to. Pick your connected Slack account.“Ask for the missing case data in Slack”
Compliance channelThe private channel your compliance team watches, e.g. #bsa-filings.“Ask for the missing case data in Slack”

6. Pick your Notion filings database

Open “Save the reviewed draft in Notion” and pick your account and database.

SettingWhat to enterIn step
Notion accountThe Notion workspace that holds your filings database. Pick your connected Notion account.“Save the reviewed draft in Notion”
Filings databaseThe Notion database drafts are saved in (share it with the Fluxo Flow connection, and restrict it to your compliance team).“Save the reviewed draft in Notion”

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 case-management system or analysts' form send cases 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.

  • Case ready for a filing draft — Starts when your form or app sends data to the agent's webhook URL. Your case-management system or a compliance analyst's form posts the case (filing type, subject, transactions, investigation notes) to the webhook URL.
  • Work out the deadlines — Step. In code, not AI: the filing due dates from the case's dates — SAR 30 calendar days after detection (60 when no subject is identified), CTR 15 days after the transaction — and how many days are left. Change the day counts here (add.days) to match current regulations and your procedures.
  • Draft the filing — AI step (runs on your AI provider key). AI drafts the filing's fields and narrative from the case data under your filing procedures and lists missing or inconsistent data; the deadline comes from the dates worked out in code.
  • Complete draft? — Decision: picks the branch to follow. Drafts with missing or inconsistent data go back to the case owner in Slack; complete drafts go to a compliance officer for review.
  • Ask for the missing case data in Slack — Slack: Post a message. Branch: Has gaps. Posts the case id, what's missing or inconsistent and the deadline note to your compliance channel.
  • Waiting for case data — Kept in the run history. The run history keeps the partial draft.
  • Compliance officer reviews the draft — A person approves or rejects it in Reviews (the run waits). Branch: Complete. The officer checks every field and the narrative against the case file, edits them and approves to save the draft; filing is done by the officer in the regulator's system.
  • Save the reviewed draft in Notion — Notion: Create a page in a database. Branch: Reviewed. Creates a page in your filings database with the fields, narrative, deadline note and checklist, ready for the officer to file.

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

case_id, filing_type, detected_on, analyst, subject.name, subject.account, subject.ein_last4, subject.address, activity_period.from, activity_period.to, transactions (a list), total_amount, notes.

  • 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 case-management system or analysts' form send cases 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 submit to FinCEN or other regulators?

No. It prepares a draft. A compliance officer reviews it and files it in the regulator's own system (e.g. BSA E-Filing).

Does it decide whether a SAR is needed?

No. That decision belongs to your institution. Send a case once you've decided to prepare a filing.

Where is the data kept?

In the run history and the Notion database you pick. Restrict that database to your compliance team.

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 .