Browse the docs

Agent setup guide

Payment → CRM Sync

Each QuickBooks payment logged on the right HubSpot company and deal, optionally moved to your paid stage, and posted to #wins.

Available About 15 min to set up

What it does

Each QuickBooks payment logged on the right HubSpot company and deal, optionally moved to your paid stage, and posted to #wins.

  • Starts on each customer payment recorded in QuickBooks Online (checked every few minutes).
  • Reads the QuickBooks customer and finds the HubSpot company with exactly the same name; no match or several matches are flagged in your finance channel.
  • AI confirms the match against the customer's email domain and looks for the one deal whose amount equals the payment.
  • Logs a note with the amount, date and QuickBooks reference on that deal (or on the company when no single deal matches).
  • Optionally moves the matched deal to the paid stage you name — the stage only, never the amount.
  • Posts the payment to your #wins channel in Slack.

What it needs

  • A paid plan (agents run live on paid plans).
  • An AI provider key (Settings → AI Providers).
  • QuickBooks Online, HubSpot and Slack, connected in Settings → Integrations.
  • HubSpot company names that match your QuickBooks customer names.

What it doesn't do

  • It never moves money, records payments or changes anything in QuickBooks.
  • It never edits deal amounts or any property other than the stage you name.
  • It matches by exact company name (confirmed by email domain); mismatches are flagged, not guessed, and it doesn't create missing companies or deals.
  • It isn't instant: QuickBooks is checked every few minutes, and only payments recorded after activation are synced.
  • It shows as “Coming soon” until the QuickBooks connector is approved.

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: QuickBooks Online, HubSpot and Slack.
  • The app it watches, connected in Settings → Integrations (the agent starts from an app event).
  • About 15 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 QuickBooks

Connect your QuickBooks Online company (Settings → Integrations → QuickBooks).

3. Connect HubSpot

Connect the HubSpot account your companies and deals are in (Settings → Integrations → HubSpot).

4. Connect Slack

Connect the Slack workspace with your finance and #wins channels (Settings → Integrations → Slack).

5. Name your HubSpot paid stage

Open “Confirm the match and pick the deal” and replace the placeholder with the pipeline id and stage id paid deals move to, or “none”.

SettingWhat to enterIn step
HubSpot paid stage (or none)Replace the placeholder with the pipeline id and stage id matched deals move to when paid (e.g. “Pipeline default, stage closedwon”), or write “none” to only log notes. It starts as “[PASTE YOUR HUBSPOT PAID STAGE HERE: PIPELINE ID AND STAGE ID, OR THE WORD none]” until you replace it.“Confirm the match and pick the deal”

6. Pick the QuickBooks company

Pick the same QuickBooks connection in the trigger and “Look up the QuickBooks customer”.

SettingWhat to enterIn step
QuickBooks company (trigger)The QuickBooks Online company whose payments start the agent. Pick your connected QuickBooks Online account.“New payment in QuickBooks”
QuickBooks company (customer lookup)The same QuickBooks company, used to read the customer's record. Pick your connected QuickBooks Online account.“Look up the QuickBooks customer”

7. Pick the HubSpot account

Pick the same HubSpot account in the four HubSpot steps.

SettingWhat to enterIn step
HubSpot account (find company)The HubSpot account your companies and deals are in. Pick your connected HubSpot account.“Find the company in HubSpot”
HubSpot account (find deals)The same HubSpot account. Pick your connected HubSpot account.“Find the company's deals”
HubSpot account (move deal)The same HubSpot account, used only to change the matched deal's stage. Pick your connected HubSpot account.“Move the deal to your paid stage”
HubSpot account (notes)The same HubSpot account, used to log the payment note. Pick your connected HubSpot account.“Log the payment note in HubSpot”

8. Pick the Slack channels

Open “Flag it for finance in Slack” and “Celebrate in #wins” and pick the account and channel in each. Invite the app to private channels first (/invite @Fluxo Flow).

SettingWhat to enterIn step
Slack account (flags)The Slack workspace unmatched payments are flagged in. Pick your connected Slack account.“Flag it for finance in Slack”
Finance channelWhere unmatched payments are flagged, e.g. #finance.“Flag it for finance in Slack”
Slack account (#wins)The Slack workspace payments are celebrated in. Pick your connected Slack account.“Celebrate in #wins”
Wins channelWhere payments are posted, e.g. #wins.“Celebrate in #wins”

9. Test it with Dry Run

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

10. Switch the trigger on

Open the trigger and click “Activate app trigger”. Payments recorded from then on are synced (earlier ones aren't).

How it works

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

  • New payment in QuickBooks — Starts on “New payment” in QuickBooks Online (an app event). Starts a run for each customer payment recorded in QuickBooks Online, including online invoice payments (checked every few minutes).
  • Look up the QuickBooks customer — QuickBooks Online: Find a customer. Reads the paying customer's QuickBooks record (company name and email), used to confirm the HubSpot match.
  • Find the company in HubSpot — HubSpot: Find records. Searches HubSpot for a company with exactly the QuickBooks customer's name.
  • Exactly one company? — Decision: picks the branch to follow. Only an exact, single company match continues; none or several are flagged in Slack instead of guessed.
  • Find the company's deals — HubSpot: Find records. Branch: One company. Reads the deals associated with that company (name, amount, pipeline, stage).
  • Confirm the match and pick the deal — AI step (runs on your AI provider key). AI confirms the company (email domain vs HubSpot domain), picks the one deal whose amount equals the payment if there is exactly one, and decides whether to move it to your paid stage. Anything unclear is flagged.
  • Match clear? — Decision: picks the branch to follow. Unclear matches are flagged; a clear deal match may move the deal to your paid stage; every clear match gets a CRM note.
  • Flag it for finance in Slack — Slack: Post a message. Branch: None or several / Unclear. Posts the payment and why it couldn't be matched (no company, several companies, or conflicting details) so someone logs it by hand.
  • Flagged — Kept in the run history. Nothing was written to HubSpot; the run history keeps the payment and the reason.
  • Move the deal to your paid stage — HubSpot: Update a deal. Branch: Move to paid. Changes only the matched deal's stage (to the paid stage you named). Amounts and every other property are left untouched.
  • Log the payment note in HubSpot — HubSpot: Add a note. Branch: Note only. Adds a note with the payment's amount, date and QuickBooks reference to the matched deal (or to the company when no single deal matched).
  • Celebrate in #wins — Slack: Post a message. Posts the payment to your wins channel.
  • Synced — Kept in the run history. The run history keeps the match and what was written.

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. The sample has the same shape as a real event from the app.

Sample data fields

id, total, date, customer_id, customer_name, invoice_ids (a list), created_at, payment.Id, payment.TotalAmt, payment.TxnDate, payment.PaymentRefNum, payment.CurrencyRef, payment.CustomerRef, payment.Line.

  • Nothing is sent or written: app actions, emails and Slack posts are simulated, and AI steps don't call your AI provider.

Go live

  • Open the trigger and click “Activate app trigger”. Payments recorded from then on are synced (earlier ones aren't).
  • Activating the app trigger needs the trigger's connected account. The first check only remembers what's already there, so older items don't start runs; the same item never starts two runs.
  • 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 change amounts or record anything in QuickBooks?

No. It only reads QuickBooks. In HubSpot it adds a note and, if you name a paid stage, changes the matched deal's stage — never amounts or other properties.

How does it match?

By exact company name (QuickBooks customer name = HubSpot company name), confirmed by the email domain when both have one, and by a deal amount equal to the payment. Anything else is flagged to your finance channel.

Where do I find the pipeline and stage ids?

HubSpot → Settings → Objects → Deals → Pipelines: the pipeline id is in the URL (the default pipeline is “default”), and each stage's id is shown when you edit it (e.g. “closedwon”).

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).
  • No runs start: activate the app trigger with a connected account. Only items created after activation start runs.
  • 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 .