Guide · Guide

How Do Small Contractors Document Change Orders and Get Written Client Approval Before Work Starts?

Key takeaways

  • A User Interaction node (code: user_interaction, blue icon) pauses the workflow and creates a task in the Task Inbox where the site lead types the change description. The workflow does not advance until the lead submits.
  • An Agent Interaction node (code: agent_interaction, purple icon) calls an AI agent automatically to draft the written change order from the site lead's description. The agent never prices the change: pricing is a human decision.
  • A Human Review node (code: human_review, amber icon) creates a review task in the Task Inbox for the contractor. The contractor reads the draft, edits if needed, and clicks Approve to advance or Request Changes to send it back.
  • A second Human Review node records the client's written approval. The workflow does not advance until the client approves, giving the contractor a timestamped record that work was authorized before the crew started.
  • Every task decision (Approve, Reject, Request Changes) is recorded in the audit log at Admin > Settings > Audit Log with the acting user's email address, user ID, and timestamp. The default retention period is 365 days, configurable under Admin > Settings > General > System Parameters > Retention Policy.

Summary

A small contractor can document change orders and capture client approvals by building a five-node workflow in Dave by voolama (hellodave.ai): a site lead describes the change, an AI agent drafts the written change order, the contractor reviews and sends it, and the client's written approval is recorded before work starts. Every decision is logged with the acting user's name and timestamp in the per-tenant audit log. This guide is specific to construction change orders, where the agent must never price the change and where the client's approval must be recorded before the crew starts work. For the same node pattern applied to proposal documents, see the guide on building an RFP response workflow.

The steps

  1. Create the workflow and add a Start node

    In Dave by voolama (hellodave.ai), open the sidebar and navigate to Workflows. Click New Workflow and give it a name such as 'Change Order Documentation'. The Workflow Editor opens to a blank canvas.

    The Workflow Editor uses a three-panel layout: the Node Palette on the left lists all 10 node types, the canvas in the center is where you build the graph, and the Properties Panel on the right appears when you click a node.

    Drag a Start node (green icon, code: start) from the Node Palette onto the canvas. Every workflow requires exactly one Start node. Click the node and rename it 'Change Order Start' in the Properties Panel. The Label field is editable; the Type and ID fields are read-only.

    Do this
    • Navigate to Workflows in the sidebar.
    • Click New Workflow and name it 'Change Order Documentation'.
    • Drag a Start node (green icon, code: start) from the Node Palette onto the canvas.
    • Click the node and rename it 'Change Order Start' in the Properties Panel.
    Example

    A hypothetical plumbing contractor creates a workflow called 'Change Order Documentation'. The Start node is labeled 'Change Order Start'. This is the entry point: when a site lead triggers the workflow, execution begins here.

    Best practice

    Name every node descriptively rather than leaving the default label. 'Change Order Start' is clearer than 'Start' when you return to the workflow later. The Properties Panel Label field is editable; the node Type and ID fields are read-only and cannot be changed after the node is placed on the canvas.

  2. Add a User Interaction node for the site lead's description

    Drag a User Interaction node (blue icon, code: user_interaction) from the Node Palette onto the canvas and place it below the Start node. Connect the Start node to the User Interaction node by dragging from the source handle (bottom circle) of the Start node to the target handle (top circle) of the User Interaction node.

    Rename the node 'Site Lead: Describe the Change'. In the Properties Panel, configure the Fields section to collect the information the agent needs to draft the change order:

    • What work is being added or changed? (text area)
    • Why is this change needed? (text area)
    • Who requested it: owner, architect, or site condition? (text)
    • What is the estimated schedule effect in days? (number)
    • Which part of the original scope does this affect? (text)

    When the workflow reaches this node, it pauses and creates a task in the Task Inbox for the assigned site lead. The workflow does not advance until the lead submits the form. Per the Dave by voolama Tasks help documentation, users with the Admin or Use role can view the Task Inbox and submit decisions; users with the Create, Curate, Reporting, or Financial role cannot.

    Do this
    • Drag a User Interaction node (blue icon, code: user_interaction) onto the canvas below the Start node.
    • Connect Start to User Interaction by dragging from the bottom handle of Start to the top handle of User Interaction.
    • Rename the node 'Site Lead: Describe the Change'.
    • Configure the Fields section with the five fields listed above.
    • Assign the node to the site lead's user account or to the Use role.
    Example

    In a hypothetical scenario, a site lead on a kitchen remodel notices the client wants to add an outlet behind the island. The lead opens the Task Inbox, finds the 'Site Lead: Describe the Change' task, fills in the five fields, and clicks Approve to submit. The workflow advances to the next node automatically.

    Best practice

    Keep the form fields specific and short. The agent drafts from what the site lead writes, so vague answers produce vague drafts. Prompting the lead with 'Who requested it: owner, architect, or site condition?' is more useful than a blank 'Reason' field. Use an Information node (indigo icon, code: information) to add instructions directly on the canvas next to this node: it does not affect execution but helps future editors understand the intent.

  3. Add an Agent Interaction node to draft the change order

    Drag an Agent Interaction node (purple icon, code: agent_interaction) onto the canvas below the User Interaction node. Connect the User Interaction node to the Agent Interaction node.

    Rename the node 'AI: Draft Change Order'. In the Properties Panel, open the Agent Assignment section and select the agent you have configured for this workflow. If you have not created an agent yet, go to Agents in the sidebar, create a new agent, and write a system prompt that instructs the agent to draft a change order document from the site lead's inputs.

    The system prompt must include all of the following instructions:

    • Draft a written change order using the five fields the site lead submitted.
    • Include: scope of the change, reason for the change, who requested it, estimated schedule effect in days, and the part of the original scope affected.
    • Do not include a price, cost estimate, or dollar amount of any kind. Leave a clearly labeled blank: 'Agreed price: ___________'.
    • Write in plain English. Do not use legal or contract language.
    • End with a signature block: 'Client approval: ___________ Date: ___________'.

    The Agent Interaction node calls the agent automatically when execution reaches it. No human task is created at this step. The agent reads the workflow context, including the site lead's form submission, and returns a draft change order document.

    The American Institute of Architects (AIA) change order guidance states that a written change order should document the scope change, the reason, the schedule effect, and the agreed adjustment before work begins. The five fields in Step 2 map directly to those four elements, with the fifth field ('Which part of the original scope does this affect?') added so the agent can write a description a third party can understand without referring back to the original contract.

    Do this
    • Drag an Agent Interaction node (purple icon, code: agent_interaction) onto the canvas below the User Interaction node.
    • Connect User Interaction to Agent Interaction.
    • Rename the node 'AI: Draft Change Order'.
    • Create or select an agent in the Agents section of the sidebar.
    • Write a system prompt that includes the five instructions listed above, especially the explicit instruction not to include a price.
    • Assign the agent to this node in the Agent Assignment section of the Properties Panel.
    Example

    In a hypothetical scenario, the site lead's five-field submission describes adding an electrical outlet behind a kitchen island, requested by the homeowner due to a design change, with a one-day schedule effect on the electrical rough-in phase. The agent drafts a one-page change order with those four elements, a blank price line, and a signature block. The draft appears in the next node's task payload for the contractor to review.

    Best practice

    The agent never prices the change. Pricing requires knowledge of current labor rates, material costs, and subcontractor quotes that the agent does not have and should not guess. Make the no-price instruction explicit in the system prompt rather than relying on the agent to infer it. For guidance on writing and versioning agent system prompts, the guide on how a contractor uses AI to write daily job site reports covers the agent configuration steps in detail.

  4. Add a Human Review node for the contractor to review and send

    Drag a Human Review node (amber icon, code: human_review) onto the canvas below the Agent Interaction node. Connect the Agent Interaction node to the Human Review node.

    Rename the node 'Contractor: Review and Send'. Assign it to the contractor's user account. In the Properties Panel, configure the Notifications section to notify the contractor by email when the task is created. The Notifications section offers three modes: Use workspace rule (the default), No notification, and Custom audience. Select Custom audience and choose the task assignee to ensure the contractor is notified directly.

    When execution reaches this node, it creates a review task in the Task Inbox. The task payload contains the AI-drafted change order. The contractor opens the task, reads the draft, and takes one of three actions:

    • Approve (green button): the draft is acceptable. The workflow advances to the client approval step.
    • Request Changes (outlined button): the draft needs revision. Add a comment explaining what to fix. The workflow can loop back to the Agent Interaction node for a revised draft.
    • Reject (red button): the change is not proceeding. The workflow routes to an End node.

    Every decision is recorded in the audit log with the contractor's email address, user ID, and timestamp. The audit log is found at Admin > Settings > Audit Log and is accessible only to users with the Admin role.

    Do this
    • Drag a Human Review node (amber icon, code: human_review) onto the canvas below the Agent Interaction node.
    • Connect Agent Interaction to Human Review.
    • Rename the node 'Contractor: Review and Send'.
    • Assign it to the contractor's user account in the User Assignment section.
    • Configure the Notifications section: select Custom audience and choose the task assignee.
    • Connect the Approve output to the client approval node (Step 5). Connect the Reject output to an End node.
    Example

    In a hypothetical scenario, the contractor opens the Task Inbox, finds the 'Contractor: Review and Send' task, reads the AI-drafted change order, adds the agreed price in the blank line, and clicks Approve. The workflow advances to the client approval step. The contractor emails the change order to the client and asks them to confirm approval by completing the next step in the system.

    Best practice

    Use the Comment field when clicking Request Changes to tell the agent exactly what to fix. A comment like 'The schedule effect should be two days, not one' gives the agent specific guidance on the next draft. For a broader look at how to keep every agent action and human decision accountable, see AI Agent Audit Trails and Approval Workflows: How DAVE Keeps Every Action Accountable.

  5. Add a second Human Review node for the client's written approval and save the workflow

    Drag a second Human Review node (amber icon, code: human_review) onto the canvas below the first Human Review node. Connect the Approve output of the contractor's review node to this new node.

    Rename the node 'Client: Approve Change Order'. Assign it to the client's user account if the client has a seat in your Dave by voolama workspace. If the client does not have a seat, assign it to the contractor and use the Comment field as the record of the client's verbal or written approval received outside the system.

    When the client approves, the workflow advances to an End node and the change order is authorized. The full record, including the site lead's description, the AI draft, the contractor's review decision, and the client's approval, is stored in the instance history and the audit log.

    To view the audit record, go to Admin > Settings > Audit Log. Filter by the workflow name or the contractor's email address to find all change order decisions. Export the results as a CSV file for your records. The default retention period is 365 days. If your contracts or state law require a longer record, go to Admin > Settings > General > System Parameters > Retention Policy and increase the retention period. The Dave by voolama audit log documentation notes that SOC 2 recommends at least 2,555 days (7 years) of retention; a warning is displayed if retention is set below that threshold when SOC 2 compliance is enabled.

    Click Save Version in the top-right corner of the Workflow Editor to save the completed graph. Each click of Save Version creates a new, immutable snapshot. Previous versions are preserved and can be loaded later.

    Do this
    • Drag a second Human Review node (amber icon, code: human_review) onto the canvas.
    • Connect the Approve output of the contractor's review node to this node.
    • Rename the node 'Client: Approve Change Order'.
    • Assign it to the client's user account, or to the contractor if the client does not have a seat.
    • Connect the Approve output of this node to an End node.
    • Connect the Reject output to an End node or a Routing node that loops back for renegotiation.
    • Click Save Version in the top-right corner of the Workflow Editor to save the completed graph.
    Example

    In a hypothetical scenario, the client logs into the workspace, opens the 'Client: Approve Change Order' task, and clicks Approve with the comment 'Approved as discussed on site.' The workflow reaches the End node. The contractor goes to Admin > Settings > Audit Log, filters by the client's email address, and exports the approval record as a CSV for the project file.

    Best practice

    For the audit log to be useful as a dispute record, make sure every person who completes a task is logged in under their own user account rather than a shared account, so the acting user's email address in the log is unambiguous. Save a new workflow version after every significant change to the graph. Each save is non-destructive: previous versions are preserved and can be loaded later.

Dave by voolama (hellodave.ai) is a managed AI workflow platform where small businesses build structured approval processes without writing code or running any infrastructure. For a small contractor, the five-node change order workflow in this guide answers a specific question that verbal agreements do not: who authorized this work, and when?

This guide is specific to construction change orders. It differs from a general drafting-and-approval workflow in two ways: the agent is explicitly prohibited from pricing the change, and the client's written approval is recorded inside the system before the crew starts work. For the same node pattern applied to proposal documents, see the guide on building an RFP response workflow. This guide goes further by adding the no-price constraint and the construction-specific field set the agent needs to produce a usable change order document.

The article Where Does AI Actually Help a Small Construction or Trades Business? identifies change order drafting as one of the clearest fits for AI on a job site: the scope is defined, the format is consistent, and the output goes to a human for review before anything happens. This guide builds that workflow step by step.

The companion guide How Can a Contractor Use AI to Write Daily Job Site Reports? covers the daily reporting workflow that runs alongside this one. The resource What Should a Daily Construction Job Report Include? lists the ten sections a complete daily report needs, including a change requests section. When a site lead marks a change request in a daily report, that is the trigger to start this change order workflow.

The Agent Interaction node in this workflow calls an AI agent to draft the written change order from the site lead's five-field description. The agent produces a structured document with four elements: the scope of the change, the reason for the change, who requested it, and the estimated schedule effect in days. These four elements align with the American Institute of Architects (AIA) change order guidance, which states that a written change order should document the scope change, the reason, the schedule effect, and the agreed adjustment before work begins.

The agent does not price the change. This is a deliberate design decision, not a limitation. Pricing a change order requires knowledge of current labor rates, material costs, subcontractor quotes, and the contractor's margin, none of which the agent has access to or should guess. The agent's system prompt explicitly instructs it to leave a blank labeled 'Agreed price: ___________' for the contractor to fill in during the review step.

The agent also does not send the change order to the client. Sending is a human action that happens after the contractor reviews and approves the draft. The workflow records the contractor's approval decision in the audit log before the client ever sees the document.

For a detailed look at how the audit log records every agent action and human decision, see AI Agent Audit Trails and Approval Workflows: How DAVE Keeps Every Action Accountable.

What this guide does not cover.

  • Legal or contract advice. This guide describes how to build a workflow that documents change orders and records approvals. It does not address whether a change order recorded this way satisfies the requirements of your specific contract, your state's contractor licensing law, or any applicable construction lien statute. Consult a licensed attorney before relying on any approval record as a substitute for a signed written change order required by your contract.
  • Pricing the change. The agent never prices the change. The contractor fills in the agreed price during the Human Review step before sending the document to the client.
  • Sending the change order to the client. This workflow records the client's approval inside Dave by voolama. It does not send the change order document by email or integrate with your email system. The contractor sends the document outside the system and then records the client's response in the Task Inbox.
  • Integration with accounting or project management software. This workflow does not push approved change orders to QuickBooks, Procore, or any other system. That integration would require an API Call node and a separate configuration step not covered here.
  • Disputes after approval. The audit log records who approved and when. It does not resolve disputes about the scope or price of an approved change order. The audit log is evidence, not a substitute for a signed paper document if your contract requires one.

Frequently asked questions

Can the AI agent write the price into the change order draft?

No, and it should not. The agent drafts the scope description, the reason for the change, the schedule effect, and who requested it. Pricing is a human decision that requires knowledge of current labor rates, material costs, and subcontractor quotes. Leave a clearly labeled blank in the draft for the contractor to fill in before sending it to the client. The agent's system prompt should explicitly say: do not include a price or cost estimate.

Who can open the Workflow Editor to build this workflow?

In Dave by voolama (hellodave.ai), only users with the Admin or Curate role can open the Workflow Editor. Users with the Create, Use, Reporting, or Financial role cannot open the editor. Dave by voolama has six default roles, all of which are editable. If the person building the workflow cannot see the Workflow Editor in the sidebar, ask an Admin to check their role assignment.

Who can complete tasks in the Task Inbox?

In Dave by voolama, users with the Admin or Use role can view the Task Inbox, open task detail pages, and submit decisions. Users with the Create, Curate, Reporting, or Financial role cannot access the Task Inbox. The site lead who describes the change and the contractor who reviews the draft both need the Admin or Use role to complete their respective tasks.

Where do I find the record of who approved the change order and when?

In Dave by voolama, go to Admin > Settings > Audit Log. Every task decision, including Approve, Reject, and Request Changes, is recorded with the acting user's email address and user ID, the timestamp, and the entity affected. You can filter by date range, event type, or actor email, and export the results as a CSV file. Only users with the Admin role can access the Audit Log. The default retention period is 365 days.

What happens if the client rejects the change order?

In Dave by voolama, the Human Review node that captures the client's decision has three outgoing paths: Approve, Reject, and Request Changes. Connect a Routing node (code: routing, purple icon) to the Reject output to branch the workflow back to the contractor for a revised scope, or connect it directly to an End node if the change is withdrawn. The Routing node is a logic-only node that evaluates the decision and directs execution without creating a new task or calling an agent.

Sources

  1. How Can a Contractor Use AI to Write Daily Job Site Reports? (hellodave.ai)
  2. Where Does AI Actually Help a Small Construction or Trades Business? (hellodave.ai)
  3. AI Agent Audit Trails and Approval Workflows: How DAVE Keeps Every Action Accountable (hellodave.ai)
  4. Managing Change Orders, American Institute of Architects (AIA)
  5. What Should a Daily Construction Job Report Include? (hellodave.ai)

Last reviewed