Agent setup guide
Change Order Drafter
Field change requests turned into change orders priced from your own rate sheet — approved by your PM, then sent to the client for sign-off.
What it does
Field change requests turned into change orders priced from your own rate sheet — approved by your PM, then sent to the client for sign-off.
- Starts when your own form or tool posts a field change request (what changed, why, who asked, the client) to the agent's webhook.
- Reads your rate sheet in Google Sheets.
- AI drafts the change order: scope, reason, labour and material lines priced only from your rate sheet, markup only as your terms state it, schedule impact as reported and open questions; anything it can't price is left as TBD.
- Totals are recalculated in code before anyone sees them — never by the AI: each line (quantity × rate), the subtotal, markups and the total; anything the AI got wrong is corrected and flagged to the reviewer, and lines it couldn't price stay TBD.
- Your PM approves the pricing and wording in Reviews (and prices any TBD lines); nothing goes to the client before that.
- Emails the approved change order to the client for sign-off, with replies going to the PM, and files it in your Notion change-order database.
What it needs
- A paid plan (agents run live on paid plans).
- An AI provider key (Settings → AI Providers).
- Google Sheets and Notion, connected in Settings → Integrations.
- A rate sheet in Google Sheets and a way to post change requests to the webhook (your field form, tool or a script).
What it doesn't do
- It drafts and organises for a person to approve; it makes no legal or contract decision — whether a change is owed or billable, entitlement or fault — and isn't legal review.
- It prices only from your rate sheet and never invents rates, quantities, markups or totals; unpriced lines are left for the PM.
- Client sign-off happens outside the agent (a DocuSign version can follow when DocuSign is approved).
- It doesn't update your contract value, budget or schedule in other tools.
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 Notion.
- 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 Google Sheets
Connect the Google account that can open your rate sheet (Settings → Integrations → Google Sheets).
3. Connect Notion
Connect Notion and share your change-order database with Fluxo Flow (Settings → Integrations → Notion).
4. Describe your rates, markup and wording
Open “Draft the change order” and replace the placeholder with your rate sheet columns, markup terms, change order wording and sign-off.
| Setting | What to enter | In step |
|---|---|---|
| Your rate sheet, markup terms and wording | Replace the placeholder with your company name, the columns of your rate sheet, your markup or overhead-and-profit terms exactly as your contracts state them, your change order wording and the sign-off. It starts as “[DESCRIBE YOUR COMPANY, YOUR RATE SHEET COLUMNS, YOUR MARKUP / OVERHEAD TERMS AS WRITTEN IN YOUR CONTRACTS, YOUR CHANGE ORDER WORDING AND SIGN-OFF HERE]” until you replace it. | “Draft the change order” |
5. Pick your rate sheet
Open “Read your rate sheet” and pick the account, spreadsheet and tab.
| Setting | What to enter | In step |
|---|---|---|
| Google account (rate sheet) | The Google account that can open your rate sheet. Pick your connected Google Sheets account. | “Read your rate sheet” |
| Rate spreadsheet | Paste the link of the spreadsheet with your rate. | “Read your rate sheet” |
| Rate tab | The tab with one row per rate item, e.g. “Rates 2026”. | “Read your rate sheet” |
6. Add the PM's email
Open “Email it to the client for sign-off” and enter the address the client's reply should go to.
| Setting | What to enter | In step |
|---|---|---|
| PM's email (Reply-to) | The client's reply (approval or questions) comes back to this address. | “Email it to the client for sign-off” |
7. Pick the Notion change-order database
Open “File the approved change order in Notion” and pick your account and database.
| Setting | What to enter | In step |
|---|---|---|
| Notion workspace | The Notion workspace with your change-order database. Pick your connected Notion account. | “File the approved change order in Notion” |
| Change-order database | The database each approved change order becomes a page in (title property “Name”). Share it with Fluxo Flow first: ••• → Connections. | “File the approved change order in Notion” |
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 switch the webhook on. Copy its URL and secret into the field form or tool that sends change requests.
How it works
The agent is a normal workflow with 9 steps (1 AI step, with a person approving in Reviews). You can open, edit and monitor it like any other workflow.
- Field change request — Starts when your form or app sends data to the agent's webhook URL. Starts when your own form or tool posts a field change request (what changed, why, who asked, the client) to this agent's webhook URL.
- Read your rate sheet — Google Sheets: Read rows. Reads your rate sheet: one row per labour, material or equipment item with its unit and rate.
- Draft the change order — AI step (runs on your AI provider key). AI drafts the change order: scope, reason, labour and material lines priced only from your rate sheet, schedule impact as reported, and open questions. Anything it can't price is left for the PM.
- Check the math — Step. Recalculates every line (quantity × rate), the subtotal, each markup and the total in code — not by AI — writes the correct figures into the change order, email and record, and flags anything the AI got wrong for the PM. Lines marked TBD stay TBD.
- PM approves pricing and wording — A person approves or rejects it in Reviews (the run waits). The PM checks every line against the rate sheet, prices any TBD lines, edits the wording and approves; nothing goes to the client before that.
- Client email? — Decision: picks the branch to follow. Branch: Approved. With a client email the approved change order is emailed for sign-off; without one it's only filed in Notion.
- Email it to the client for sign-off — Sends an email from your workspace's sender. Branch: Email the client. Emails the approved change order to the client from your workspace's sender, with replies going to the PM.
- File the approved change order in Notion — Notion: Create a page in a database. Branch: No client email. Creates a page in your change-order database with the approved change order for the project record.
- Filed — Kept in the run history. The run history keeps the approved change order, the email and the Notion link. Client sign-off happens outside the agent.
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
project, client_name, client_email, co_number, requested_by, change_description, reason, location, field_notes, schedule_impact, submitted_by.
- 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 switch the webhook on. Copy its URL and secret into the field form or tool that sends change requests.
- 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
Where do the prices come from?
Only from your rate sheet in Google Sheets (item, unit, rate). Quantities come from the request. Anything without a matching rate or a stated quantity is left as “TBD — PM to price” — the agent never estimates.
Can the AI get the totals wrong?
Not in what your PM or client sees: after the AI drafts, every line (quantity × rate), the subtotal, each markup and the total are recalculated in code and written into the change order, the email and the record. If the AI's math was off, the review screen shows what was corrected (e.g. “subtotal 1080.00 → 810.00”).
Does the client sign inside the agent?
No. The client gets the approved change order by email and replies to approve, or you collect a signature your usual way. A DocuSign version can follow once DocuSign is approved.
How do I send a change request?
Post JSON with project, client_name, client_email, co_number, requested_by, change_description, reason, location, field_notes, schedule_impact and submitted_by to the webhook URL in the trigger's Activation panel — from your own field form, project tool or a script.
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.
- 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 .