Browse the docs

Agent setup guide

Closed-Won Handoff for Zoho CRM

When a Zoho CRM deal reaches Closed Won, writes the kickoff brief in Notion and alerts the delivery team, once per deal.

Available About 20 min to set up

What it does

When a Zoho CRM deal reaches Closed Won, writes the kickoff brief in Notion and alerts the delivery team, once per deal.

  • Starts when a Zoho CRM deal is created or changed (checked on your plan's schedule interval) and keeps only deals in the Closed Won stage.
  • Remembers every deal it hands off, so later edits don't start a second kickoff; deals won more than 30 days ago are skipped — worked out in code from the closing date in your time zone, never by the AI.
  • Reads the deal's contact from Zoho CRM.
  • AI writes the kickoff brief: what was sold, stakeholders, commitments recorded in the sale (quoted), gaps to confirm and first steps.
  • Creates the brief as a page in your Notion onboarding database and alerts your delivery team in Slack with the link.

What it needs

  • A paid plan (agents run live on paid plans).
  • An AI provider key (Settings → AI Providers).
  • Zoho CRM, Notion (with an onboarding database shared with Fluxo Flow) and Slack, connected in Settings → Integrations. Zoho CRM is waiting for vendor approval, so this agent switches on once it's live.
  • Deals with a filled-in description, or a Handoff_Notes deal field where sales writes scope and promises.

What it doesn't do

  • It can't read Zoho notes, emails or activities: the brief comes from the deal's fields and its contact, so add a Handoff_Notes deal field.
  • It doesn't create projects, tasks or invoices, or contact the customer.
  • It doesn't change anything in Zoho CRM.
  • It hands each deal off once; to hand one off again, clear its memory entry.

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: Zoho CRM, Notion and Slack.
  • The app it watches, connected in Settings → Integrations (the agent starts from an app event).
  • 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 Zoho CRM

Connect your Zoho CRM org (Settings → Integrations → Zoho CRM).

3. Connect Notion

Connect Notion and share your onboarding database with Fluxo Flow (Settings → Integrations → Notion).

4. Connect Slack

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

5. Pick your Zoho CRM org

Open the trigger and “Read the deal's contact” and pick your Zoho CRM account in each. If your won stage has another name, change it in “Closed Won?”.

SettingWhat to enterIn step
Zoho CRM account (deals)The Zoho CRM org whose won deals are handed off. Pick your connected Zoho CRM account.“Deal created or changed in Zoho CRM”
Zoho CRM account (contact)The same Zoho CRM org, used to read the deal's contact. Pick your connected Zoho CRM account.“Read the deal's contact”

6. Describe your services

Open “Write the kickoff brief” and replace the placeholder with your services and kickoff needs.

SettingWhat to enterIn step
Your services and kickoff needsReplace the placeholder with what you sell, who delivers it and what a good kickoff needs (start date, access, success criteria, billing contact…). It starts as “[DESCRIBE WHAT YOU SELL, YOUR DELIVERY TEAM AND WHAT A GOOD KICKOFF NEEDS HERE]” until you replace it.“Write the kickoff brief”

7. Pick the Notion onboarding database

Open “Create the onboarding page in Notion” and pick your account and database.

SettingWhat to enterIn step
Notion accountThe Notion workspace with your onboarding database. Pick your connected Notion account.“Create the onboarding page in Notion”
Onboarding databaseThe database each kickoff brief becomes a page in (title property “Name”). Share it with Fluxo Flow first: ••• → Connections.“Create the onboarding page in Notion”

8. Pick the Slack account and channel

Open “Alert the delivery team” and pick your account and channel. Invite the app to private channels first (/invite @Fluxo Flow).

SettingWhat to enterIn step
Slack accountThe Slack workspace the delivery team uses. Pick your connected Slack account.“Alert the delivery team”
Delivery team channelThe channel your delivery or onboarding team watches, e.g. #onboarding.“Alert the delivery team”

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”: deal changes are checked on your plan's schedule interval and Closed Won ones are handed off.

How it works

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

  • Deal created or changed in Zoho CRM — Starts on “New or updated record” in Zoho CRM (an app event). Starts a run each time a Zoho CRM deal is created or changed (checked on your plan's schedule interval); the next step keeps only Closed Won deals.
  • Closed Won? — Decision: picks the branch to follow. Only deals in the Closed Won stage go on; every other change stops here.
  • Not won — Kept in the run history. Branch: Other change. The change wasn't a Closed Won deal; nothing is done.
  • Handed off already? — Recalls what it remembered earlier (memory “closed-won-handoff-zoho”). Branch: Closed Won. Checks whether this deal was already handed off, so later edits to a won deal don't start a second kickoff.
  • First time? — Decision: picks the branch to follow. A deal that was already handed off is skipped.
  • Already handed off — Kept in the run history. Branch: Already handed off. This deal's kickoff brief was created on an earlier run.
  • Closed recently? — Step. Branch: First time. In code, not AI: works out how long ago the deal's Closing_Date was in your time zone; a deal won more than 30 days ago that was only edited now is skipped (a blank closing date counts as recent). Change the 30 days here (within.min).
  • Won in the last 30 days? — Decision: picks the branch to follow. Deals won more than 30 days ago that were only edited now are remembered and skipped, without an AI call.
  • Remember the old deal — Remembers it for later runs (memory “closed-won-handoff-zoho”, kept until deleted). Branch: Closed long ago. Remembers the old deal so its later edits are skipped at once.
  • Old deal, skipped — Kept in the run history. The deal was won more than 30 days ago (checked in code); no kickoff is created.
  • Read the deal's contact — Zoho CRM: Get a record. Branch: Recent. Reads the contact linked to the deal (name, title, email, phone). A deal without a contact carries on without one.
  • Write the kickoff brief — AI step (runs on your AI provider key). AI turns the deal and its contact into a kickoff brief: scope, stakeholders, commitments made, gaps to confirm and first steps.
  • Create the onboarding page in Notion — Notion: Create a page in a database. Creates a page in your onboarding database with the full kickoff brief.
  • Alert the delivery team — Slack: Post a message. Posts the win, the short summary and the link to the kickoff page to your delivery channel.
  • Remember the handoff — Remembers it for later runs (memory “closed-won-handoff-zoho”, kept until deleted). Remembers that this deal was handed off (kept until you clear it), so it fires once per deal.
  • Handed off — Kept in the run history. The run history keeps the brief and the Notion page link.

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, email, modified_time, record.

  • Nothing is sent or written: app actions, emails and Slack posts are simulated, and AI steps don't call your AI provider.
  • Memory steps don't read or write stored memory: a recall finds nothing, and a save only shows what it would store.

Go live

  • Open the trigger and click “Activate app trigger”: deal changes are checked on your plan's schedule interval and Closed Won ones are handed off.
  • 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

My won stage isn't called “Closed Won”.

Open the “Closed Won?” step and change the stage name to yours.

Does it read Zoho notes or emails?

No. It reads the deal's fields (including Description and a Handoff_Notes field if you add one) and the deal's contact.

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 .