Browse the docs

Agent setup guide

Form Intake Processor

Each form response structured, filed in Notion, sent to the right Slack channel and confirmed by email.

Available About 20 min to set up

What it does

Each form response structured, filed in Notion, sent to the right Slack channel and confirmed by email.

  • Starts from each new row in your form's response sheet in Google Sheets (any form tool that writes to a sheet).
  • AI cleans up the answers, picks the category and priority from your own rules, and drafts a confirmation email that says only what you describe as next steps.
  • Files the response as a page in your Notion intake database.
  • Posts it to the Slack channel your routing rules give for its category (or your default channel).
  • Emails the person a confirmation, with Reply-to set to your team inbox. By default every confirmation waits for approval in Reviews; switch review off and only complaints or unclear responses wait.

What it needs

  • A paid plan (agents run live on paid plans).
  • An AI provider key (Settings → AI Providers).
  • Google Sheets, Notion and Slack, connected in Settings → Integrations.
  • A form whose responses are written to a Google Sheet, and a Notion database for intake.

What it doesn't do

  • It reads rows added at the bottom of the sheet after activation; existing rows aren't processed.
  • It doesn't create CRM records, tickets or calendar bookings.
  • No confirmation is sent when the response has no email address.
  • It doesn't read file uploads from the form; only the text in the sheet.

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, 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 Google Sheets

Connect the Google account that can open your response sheet (Settings → Integrations → Google Sheets).

3. Connect Notion

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

4. Connect Slack

Connect your Slack workspace (Settings → Integrations → Slack) and invite the app to each channel in your routing rules.

5. Pick the response sheet

Open the trigger, pick your Google account, paste the spreadsheet link and the tab name.

SettingWhat to enterIn step
Google account (Sheets)The Google account that can open the form's response sheet. Pick your connected Google Sheets account.“New form response”
Response spreadsheetPaste the link of the spreadsheet your form writes responses to.“New form response”
Response sheet (tab)The tab responses are added to, e.g. “Form Responses 1”.“New form response”

6. Describe your categories and channels

Open “Structure and classify the response” and replace the placeholder with your categories, Slack channel ids and next steps.

SettingWhat to enterIn step
Your form, categories and Slack channelsReplace the placeholder with what the form is for, your categories with the Slack channel id for each (right-click the channel → Copy link; the id starts with C), a default channel id, what happens next for each category, what counts as high priority and your team name. It starts as “[DESCRIBE YOUR FORM, YOUR CATEGORIES, EACH CATEGORY'S SLACK CHANNEL ID, A DEFAULT CHANNEL ID AND YOUR TEAM NAME HERE]” until you replace it.“Structure and classify the response”

7. Pick the Notion intake database

Open “File it in Notion” and pick your account and database.

SettingWhat to enterIn step
Notion accountThe Notion workspace with your intake database. Pick your connected Notion account.“File it in Notion”
Intake databaseThe database each response becomes a page in (title property “Name”). Share it with Fluxo Flow first: ••• → Connections.“File it in Notion”

8. Pick your Slack account

Open “Alert the right Slack channel” and pick your account.

SettingWhat to enterIn step
Slack accountThe Slack workspace with the channels in your routing rules (invite the app to each one). Pick your connected Slack account.“Alert the right Slack channel”

9. Add your team inbox

Open “Email the confirmation” and enter the address people's replies should go to.

SettingWhat to enterIn step
Your team inbox (Reply-to)People's replies to the confirmation come back to this address.“Email the confirmation”

10. Test it with Dry Run

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

11. Switch the trigger on

Open the trigger and click “Activate app trigger”: new rows are picked up on your plan's schedule interval. Only rows added after activation are processed.

How it works

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

  • New form response — Starts on “New row” in Google Sheets (an app event). Starts a run for each row added to your form's response sheet in Google Sheets (Google Forms, Typeform, Jotform… any form that writes to a sheet).
  • Structure and classify the response — AI step (runs on your AI provider key). AI cleans up the answers, picks the category, priority and Slack channel from your routing rules, and drafts the confirmation email.
  • File it in Notion — Notion: Create a page in a database. Creates a page in your intake database with the summary, category, priority and every answer.
  • Alert the right Slack channel — Slack: Post a message. Posts the response to the channel your routing rules give for its category.
  • Filed — Kept in the run history. The run history keeps the structured response and the Notion link.
  • Send the confirmation how? — Decision: picks the branch to follow. No email address: no confirmation. Routine responses (with review switched off): sent at once. Everything else: approved first.
  • No confirmation — Kept in the run history. Branch: No email. The response had no email address, so no confirmation is sent.
  • Approve the confirmation — A person approves or rejects it in Reviews (the run waits). Branch: Review. A teammate checks the confirmation email in Reviews, edits it if needed and approves it to send.
  • Email the confirmation — Sends an email from your workspace's sender. Branch: Routine / Approved. Emails the confirmation to the person from your workspace's sender, with replies going to your team inbox.
  • Confirmed — Kept in the run history. The run history keeps the confirmation that was sent.

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

sheet, row._row, row.Timestamp, row.Full name, row.Email address, row.Phone, row.What do you need help with?, row.Tell us more, row.Property type, row_number.

  • 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 and click “Activate app trigger”: new rows are picked up on your plan's schedule interval. Only rows added after activation are processed.
  • 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

Which form tools work?

Any form that writes responses to a Google Sheet: Google Forms (linked response sheet), Typeform, Jotform, Tally and others via their Sheets integration.

Can it send confirmations without review?

Yes. Change “REVIEW EVERY CONFIRMATION: yes” to “no” in the AI step: routine responses are then confirmed at once, while complaints and unclear ones still wait for approval.

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 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 .