Browse the docs

Agent setup guide

Maintenance Request Triage

Every tenant request classified by trade and urgency, emergencies sent to on-call in Slack, a Notion work order filed and the tenant acknowledged.

Available About 20 min to set up

What it does

Every tenant request classified by trade and urgency, emergencies sent to on-call in Slack, a Notion work order filed and the tenant acknowledged.

  • Starts from each request your tenant form posts to its webhook.
  • AI picks the trade (plumbing, electrical, HVAC…) and the urgency — emergency, within 24 hours or routine — using your own definitions, erring towards the more urgent level.
  • Emergencies are posted to your on-call Slack channel at once, with the tenant's phone number and what they were told.
  • Every request becomes a work order in your Notion maintenance database (status New, urgency, trade, property, unit, tenant, full request).
  • The tenant gets an acknowledgement with your expected timeframe and only the safety steps you pre-wrote for that problem; when anyone may be in danger it starts with “call 911 (or your local emergency number) now”.
  • Acknowledgements go out automatically. A property manager approves them first when your rules ask for it, or when the request mentions an injury, a legal, habitability or charges dispute, an accommodation request, or is unclear.

What it needs

  • A paid plan (agents run live on paid plans).
  • An AI provider key (Settings → AI Providers).
  • Notion and Slack, connected in Settings → Integrations, and a Notion work-order database with the listed properties.
  • A tenant request form or portal that can post JSON to a webhook.
  • Your written emergency definitions, response times and safe interim steps.

What it doesn't do

  • It doesn't dispatch a vendor, book a time or promise a repair date, cost or compensation.
  • It never writes its own safety or repair advice: tenants only get the steps you pre-wrote, plus “call 911 (or your local emergency number)” when anyone may be in danger. It is not an emergency service — tenants should always call emergency services first.
  • It doesn't make legal or habitability decisions or handle accommodation requests; those go to a person.
  • It applies the same written rules to every tenant and never uses protected characteristics.
  • It doesn't read photos (the link is kept on the work order).

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: Notion and Slack.
  • A form, app or system that can send each new item to a webhook URL (the agent starts from a webhook).
  • 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 Notion

Connect Notion and share your work-order database with the Fluxo Flow integration (Settings → Integrations → Notion).

3. Connect Slack

Connect the Slack workspace your on-call person uses (Settings → Integrations → Slack).

4. Paste your maintenance rules

Open “Classify the request” and replace the placeholder with your emergency definitions, response times, emergency line and your own pre-written safety steps.

SettingWhat to enterIn step
Your maintenance rules and safety stepsReplace the placeholder with your company name, what counts as an emergency, response times per urgency, your emergency phone line, your own safe interim steps per problem (the only safety advice tenants get), whether every acknowledgement needs approval, and your sign-off. It starts as “[PASTE YOUR COMPANY NAME, WHAT COUNTS AS AN EMERGENCY, RESPONSE TIMES PER URGENCY, YOUR EMERGENCY PHONE LINE, YOUR PRE-WRITTEN SAFE INTERIM STEPS PER PROBLEM, WHETHER EVERY ACKNOWLEDGEMENT NEEDS APPROVAL AND YOUR SIGN-OFF HERE]” until you replace it.“Classify the request”

5. Pick the work-order database

Open “Create the Notion work order” and pick your account and database.

SettingWhat to enterIn step
Notion accountThe Notion workspace with your maintenance work-order database. Pick your connected Notion account.“Create the Notion work order”
Work-order databaseThe Notion database work orders are added to, with the properties Name (title), Status (select), Urgency (select), Trade (select), Property (text), Unit (text), Tenant (text), Tenant email (email), Received (date).“Create the Notion work order”

6. Pick the on-call channel

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

SettingWhat to enterIn step
Slack accountThe Slack workspace your on-call person uses. Pick your connected Slack account.“Alert the on-call person”
On-call Slack channelThe channel the on-call person watches (e.g. #maintenance-oncall), with notifications on.“Alert the on-call person”

7. Add your maintenance inbox

Open “Email the tenant” and enter the address tenants' replies should go to.

SettingWhat to enterIn step
Your maintenance inbox (replies)Tenants' replies to the acknowledgement come back to this address (Reply-to).“Email the tenant”

8. Test it with Dry Run

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

9. Switch the trigger on

Open the trigger, switch the webhook on and copy its URL and secret into your tenant request form.

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.

  • Tenant maintenance request — Starts when your form or app sends data to the agent's webhook URL. Starts when your tenant request form (on your website or portal) posts a request to this webhook: tenant, property, unit, the problem and access details.
  • Classify the request — AI step (runs on your AI provider key). AI picks the trade (plumbing, electrical, HVAC…) and the urgency (emergency, within 24 hours or routine) using your rules, picks only your own pre-written safety steps that fit, and drafts the tenant's acknowledgement and the work order.
  • Needs a look first? — Decision: picks the branch to follow. Acknowledgements go out automatically unless your rules ask to approve every one, or the request mentions an injury, a legal or habitability issue, an accommodation request or is unclear. Emergencies are never held.
  • Check the acknowledgement — A person approves or rejects it in Reviews (the run waits). Branch: Check first. A property manager reads the request and the drafted acknowledgement in Reviews, edits it (or the urgency) if needed and approves. Reject only spam or duplicates: nothing is created or sent.
  • Rejected (spam or duplicate) — Kept in the run history. Branch: Spam / duplicate. Nothing was created or sent; the run history keeps the request.
  • Emergency? — Decision: picks the branch to follow. Branch: Automatic / Approved. Emergencies alert your on-call person in Slack straight away; every request then gets its Notion work order and acknowledgement.
  • Alert the on-call person — Slack: Post a message. Branch: Emergency. Posts the emergency to your on-call Slack channel with the tenant's phone number, what's wrong and what the tenant was told.
  • Create the Notion work order — Notion: Create a page in a database. Branch: Not an emergency. Adds the work order to your Notion maintenance database: title, status New, urgency, trade, property, unit, tenant and the full request.
  • Email the tenant — Sends an email from your workspace's sender. Sends the acknowledgement (expected timeframe and only your own safety steps) to the tenant, with replies going to your maintenance inbox.
  • Logged and acknowledged — Kept in the run history. The run history keeps the request, the classification, the work order link and the email.

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

tenant_name, tenant_email, tenant_phone, property, unit, description, permission_to_enter, pets, best_times, photos_url, submitted_at.

  • 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 tenant request form.
  • 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

What should the form send?

A JSON POST with tenant_name, tenant_email, tenant_phone, property, unit, description, permission_to_enter, pets, best_times and photos_url (a link, optional). Field names must match; your form or site posts them with the webhook's signature header.

Where do the safety tips come from?

Only from the safe interim steps you write in the rules (e.g. “turn the water off at the valve under the sink”). The agent picks the ones that fit; it never writes its own. When anyone may be in danger it always adds “call 911 (or your local emergency number) now”.

Does it send a technician?

No. It classifies, files the work order, alerts on-call for emergencies and acknowledges the tenant. Your team dispatches and schedules.

What Notion database do I need?

A database with the properties Name (title), Status (select), Urgency (select), Trade (select), Property (text), Unit (text), Tenant (text), Tenant email (email), Received (date). Share it with the Fluxo Flow integration (••• → Connections).

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 .