Agent setup guide
Event & Group Inquiry Responder
Every event inquiry gets 2–3 fitting packages with a quote range from your sheet, a proposal for approval and a HubSpot deal.
What it does
Every event inquiry gets 2–3 fitting packages with a quote range from your sheet, a proposal for approval and a HubSpot deal.
- Starts on each inquiry your event, group-booking or catering form posts to the agent.
- AI pulls out the date, headcount, budget, event type and anything missing.
- Checks the date against your booked-dates sheet and says neutrally whether it looks open, on hold or booked.
- Picks 2–3 fitting packages from your packages sheet, with their prices and the headcount.
- Each package's estimated range (guests × price), the overall quote range and the deal amount are recalculated in code before anyone sees them — never by the AI; anything the AI got wrong is corrected and flagged to the approver.
- Drafts the proposal email; it waits for approval, then is sent with replies to your events inbox.
- Creates or updates the HubSpot contact, creates a linked deal in your events pipeline and notes the details; big events are posted to your events channel in Slack.
What it needs
- A paid plan (agents run live on paid plans).
- An AI provider key (Settings → AI Providers).
- Google Sheets, HubSpot and Slack, connected in Settings → Integrations.
- A packages sheet with prices, a booked-dates sheet you keep current, and a form or website that can post to a webhook.
What it doesn't do
- It doesn't hold or book the date: availability is only as good as your booked-dates sheet.
- It never invents prices, packages or discounts: everything comes from your packages sheet, and the email says prices are confirmed in a written quote.
- No proposal is emailed before you approve it (the HubSpot contact and deal are created straight away).
- It doesn't take deposits or send contracts.
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, HubSpot and Slack.
- 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 Google Sheets
Connect the Google account that can open your packages and booked-dates sheets (Settings → Integrations → Google Sheets).
3. Connect HubSpot
Connect your HubSpot account (Settings → Integrations → HubSpot).
4. Connect Slack
Connect your Slack workspace (Settings → Integrations → Slack) and invite the app to your events channel.
5. Describe your venue
Open “Qualify the inquiry and draft the proposal” and replace the placeholder with your spaces, policies, big-event rule and sign-off.
| Setting | What to enter | In step |
|---|---|---|
| Your venue details | Replace the placeholder with your venue name, spaces and capacities, minimum spend, deposit and hold policy, your big-event rule, the next step you offer and your sign-off. It starts as “[DESCRIBE YOUR VENUE: NAME, SPACES AND CAPACITIES, MINIMUM SPEND, DEPOSIT AND HOLD POLICY, WHAT COUNTS AS A BIG EVENT, NEXT STEP YOU OFFER (CALL / SITE VISIT) AND YOUR SIGN-OFF HERE]” until you replace it. | “Qualify the inquiry and draft the proposal” |
6. Pick your packages and booked-dates sheets
Open “Read your packages” and “Read your booked dates” and pick the account, spreadsheet and tab for each.
| Setting | What to enter | In step |
|---|---|---|
| Google account (packages) | The Google account that can open your packages sheet. Pick your connected Google Sheets account. | “Read your packages” |
| Packages spreadsheet | Paste the link of the spreadsheet with your packages. | “Read your packages” |
| Packages tab | One row per package: Package, Includes, Price per person or Flat price, Min guests, Max guests, Spaces. | “Read your packages” |
| Google account (booked dates) | The Google account that can open your booked-dates sheet. Pick your connected Google Sheets account. | “Read your booked dates” |
| Booked-dates spreadsheet | Paste the link of the spreadsheet where you keep booked and held dates. | “Read your booked dates” |
| Booked-dates tab | One row per booked or held date: Date, Space, Status (Booked / Hold). | “Read your booked dates” |
7. Pick your HubSpot account and pipeline
Open the four HubSpot steps, pick your account in each, and the events pipeline and first stage in “Create the event deal”.
| Setting | What to enter | In step |
|---|---|---|
| HubSpot account (contact) | The HubSpot account your events team uses. Pick your connected HubSpot account. | “Create or update the HubSpot contact” |
| HubSpot account (deal) | The same HubSpot account. Pick your connected HubSpot account. | “Create the event deal” |
| Events pipeline | The HubSpot deal pipeline for events. | “Create the event deal” |
| First stage | The stage new inquiries start in, e.g. “Inquiry” or “Proposal sent”. | “Create the event deal” |
| HubSpot account (link) | The same HubSpot account. Pick your connected HubSpot account. | “Link the deal to the contact” |
| HubSpot account (note) | The same HubSpot account. Pick your connected HubSpot account. | “Note the inquiry on the deal” |
8. Pick the events channel
Open “Alert the events team in Slack” and pick your account and channel.
| Setting | What to enter | In step |
|---|---|---|
| Slack account | The Slack workspace your events team uses. Pick your connected Slack account. | “Alert the events team in Slack” |
| Events team channel | Where big-event inquiries are posted, e.g. #events. | “Alert the events team in Slack” |
9. Add your events inbox
Open “Email the proposal” and enter the Reply-to address.
| Setting | What to enter | In step |
|---|---|---|
| Your events inbox (Reply-to) | Inquirers' replies to the proposal come back to this address. | “Email the proposal” |
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, switch the webhook on and copy its URL and secret into your inquiry form or website.
How it works
The agent is a normal workflow with 18 steps (1 AI step, with a person approving in Reviews). You can open, edit and monitor it like any other workflow.
- New event inquiry — Starts when your form or app sends data to the agent's webhook URL. Your event, group-booking or catering form posts each inquiry here (name, email, event type, date, guests, budget, message).
- Read your packages — Google Sheets: Read rows. Reads your packages sheet: one row per package with what's included, price per person or flat price, minimum guests and the spaces it fits.
- Read your booked dates — Google Sheets: Read rows. Reads your booked-dates sheet: one row per date already taken or on hold (date, space, status).
- Qualify the inquiry and draft the proposal — AI step (runs on your AI provider key). AI pulls out the date, headcount, budget and event type, checks the date against your booked dates, picks 2–3 fitting packages priced only from your packages sheet, and drafts the proposal email.
- Check the math — Step. Recalculates each package's estimated range (guests × price), the overall quote range and the deal amount in code — not by AI — writes them into the proposal email and CRM note, and flags anything the AI got wrong for the approver.
- Create or update the HubSpot contact — HubSpot: Create or update a contact. Creates the inquirer as a HubSpot contact (or updates the one with the same email).
- Create the event deal — HubSpot: Create a deal. Creates a deal in your events pipeline, named after the event, with the low end of the quote range as its amount.
- Link the deal to the contact — HubSpot: Link two records. Associates the new deal with the contact so the inquiry history sits together.
- Note the inquiry on the deal — HubSpot: Add a note. Adds the event details, what the booked-dates sheet showed and the packages suggested as a note on the deal.
- In HubSpot — Kept in the run history. The contact, deal and note ids are in the run history.
- Big event? — Decision: picks the branch to follow. Events above your big-event rule are posted to the team in Slack straight away.
- Alert the events team in Slack — Slack: Post a message. Branch: Big event. Posts a one-line summary of the big event, the date status and the quote range to your events channel.
- Team alerted — Kept in the run history. The Slack alert is in the run history.
- No alert — Kept in the run history. Branch: Not big. Below your big-event rule: no Slack alert.
- Approve the proposal — A person approves or rejects it in Reviews (the run waits). The proposal email waits in Reviews. Check the packages, prices and what it says about the date, edit it and approve; nothing is sent before that.
- Email the proposal — Sends an email from your workspace's sender. Branch: Approved. Emails the approved proposal to the inquirer from your workspace's sender, with replies going to your events inbox.
- Proposal sent — Kept in the run history. The run history keeps the proposal that was sent.
- Not sent — Kept in the run history. Branch: Rejected. Rejected in Reviews; reply to the inquirer yourself. The HubSpot deal was still created.
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
name, email, phone, company, event_type, event_date, guests, budget, message.
- 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 copy its URL and secret into your inquiry form or website.
- 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 hold the date?
No. It reads your booked-dates sheet to say whether the date looks open, but it never holds or books anything — keep that sheet current and confirm dates yourself.
Where do the prices come from?
Only from your packages sheet: price per person or flat price, multiplied by the headcount. Flat extras (room hire) are listed separately. Packages it can't price from the sheet aren't quoted.
Can the AI get the estimates wrong?
Not in what the inquirer sees: after the AI drafts, each package's estimate (guests × price), the overall range and the HubSpot deal amount are recalculated in code and written into the email and the CRM note. If the AI's math was off, the review screen shows what was corrected.
Which forms work?
Any form or website that can POST JSON to the agent's webhook URL with its secret header: your own site, or a form tool with a webhook action that can send custom headers.
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 .