Browse the docs

Agent setup guide

Cleaning Job Quality Check

Checks each crew end-of-visit form against your checklist — issues go to a supervisor first, clean visits get a done email and a review request.

Available About 15 min to set up

What it does

Checks each crew end-of-visit form against your checklist — issues go to a supervisor first, clean visits get a done email and a review request.

  • Starts from each new row your crew's end-of-visit form adds to its sheet (address, service type, checklist ticks, issues, photo links).
  • AI compares it with your checklist for that service type and flags missed items, damage, access problems and anything your rules call an issue.
  • Flagged visits go to your supervisors' Slack channel before the customer hears anything.
  • Clean visits get a “your home is done” email listing only the ticked tasks, with replies to your office.
  • Waits 2 days, then sends a short feedback check-in with your review link.

What it needs

  • A paid plan (agents run live on paid plans).
  • An AI provider key (Settings → AI Providers).
  • Google Sheets and Slack, connected in Settings → Integrations.
  • A crew end-of-visit form (e.g. Google Forms) that writes to a sheet, and your written checklists.

What it doesn't do

  • It trusts the crew's form and doesn't look at photos.
  • Damage claims follow your own process; the supervisor contacts the customer.
  • It isn't the Housecall Pro / SMS job review request agent: it works from your own form and email.
  • Wait steps last at most 30 days (this one waits 2 days); rows already in the sheet before activation aren't processed.

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

Connect the Google account that can open your end-of-visit form's response sheet (Settings → Integrations → Google Sheets).

3. Connect Slack

Connect the Slack workspace your supervisors use (Settings → Integrations → Slack).

4. Pick the crew's form sheet

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

SettingWhat to enterIn step
Google account (crew form)The Google account that can open your end-of-visit form's response sheet. Pick your connected Google Sheets account.“Crew's end-of-visit form”
End-of-visit forms spreadsheetPaste the link of the spreadsheet with your end-of-visit forms (the trigger watches it for new rows).“Crew's end-of-visit form”
End-of-visit forms tabThe tab your crew's form adds rows to, e.g. “Form Responses 1”.“Crew's end-of-visit form”

5. Paste your checklists

Open “Check the visit against your checklist” and replace the placeholder with your checklists, issue rules, review link and sign-off.

SettingWhat to enterIn step
Your checklists and rulesReplace the placeholder with your company name, the checklist for each service type, what counts as an issue, your review link, your sign-off and how customers reach you. It starts as “[PASTE YOUR COMPANY NAME, YOUR CHECKLIST FOR EACH SERVICE TYPE (STANDARD, DEEP CLEAN, MOVE-OUT…), WHAT COUNTS AS AN ISSUE TO FLAG, YOUR REVIEW LINK, YOUR SIGN-OFF AND HOW CUSTOMERS REACH YOU HERE]” until you replace it.“Check the visit against your checklist”

6. Pick the supervisors' channel

Open “Alert the supervisor” 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 supervisors use. Pick your connected Slack account.“Alert the supervisor”
Supervisors' channelWhere flagged visits are posted, e.g. #quality.“Alert the supervisor”

7. Add your office inbox

Open the two email steps and enter your office inbox as Reply-to in each.

SettingWhat to enterIn step
Your office inbox (done email)Customers' replies to the “done” email come back here.“Email “your home is done””
Your office inbox (feedback email)The same inbox, for replies to the feedback request.“Ask for feedback and a review”

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 and click “Activate app trigger”. New form rows are picked up on your plan's schedule interval.

How it works

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

  • Crew's end-of-visit form — Starts on “New row” in Google Sheets (an app event). Starts a run for each row your crew's end-of-visit form adds to its sheet (address, service type, checklist ticks, issues, photo links), checked on your plan's schedule interval.
  • Check the visit against your checklist — AI step (runs on your AI provider key). AI compares the crew's ticks with your checklist for that service and flags missed items, damage, access problems and anything else your rules call an issue. Clean visits get the “your home is done” email and the follow-up request.
  • Anything to flag? — Decision: picks the branch to follow. Missed items, damage, access problems or anything unclear go to the supervisor first and the customer isn't emailed; clean visits get the “done” email.
  • Alert the supervisor — Slack: Post a message. Branch: Issue. Posts the visit, the missed items and issues in the crew's words and the photo links to your supervisors' Slack channel. The customer isn't emailed.
  • Sent to the supervisor — Kept in the run history. The run history keeps the form and the alert; the supervisor contacts the customer.
  • Email “your home is done” — Sends an email from your workspace's sender. Branch: Clean. Emails the customer what was done today (only the ticked checklist items), with replies going to your office.
  • Wait 2 days — Waits 2 days. Pauses the run for 2 days before asking for feedback.
  • Ask for feedback and a review — Sends an email from your workspace's sender. Asks how the clean held up, invites a reply with anything to fix, and links your review page.
  • Done and followed up — Kept in the run history. The run history keeps both emails.

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

row._row, row.Timestamp, row.Crew, row.Customer, row.Customer email, row.Address, row.Service type, row.Checklist done, row.Not done / why, row.Issues, row.Photos, row_number, sample_note.

  • Nothing is sent or written: app actions, emails and Slack posts are simulated, and AI steps don't call your AI provider.
  • Wait steps don't wait: they report how long they would wait and the run goes on.

Go live

  • Open the trigger and click “Activate app trigger”. New form rows are picked up on your plan's schedule interval.
  • 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

What should the crew's form ask?

Customer, customer email, address, service type, a checklist (one tick per task), anything not done and why, issues (damage, access, supplies) and photo links. A Google Form writing to a sheet works well.

Does it look at the photos?

No. It trusts the crew's form and passes the photo links to the supervisor.

Is this the same as the job review request agent?

No. That one starts from Housecall Pro invoices and texts; this one checks the crew's form first and only follows up visits that are clean.

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 “Waiting until …” in History: that's a Wait step; it continues on its own (it can be cancelled through the API).
  • 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 .