Key takeaways
- In Dave by voolama (hellodave.ai), the User Interaction task pauses the workflow and creates a task in the Task Inbox for the crew lead to submit end-of-day notes. The crew lead navigates to Tasks in the sidebar, opens the task, and submits seven fields: job site address, date, crew members present, work completed today, materials used, any delay or safety incident, and any change request from the client. The AI agent uses only what is in the workflow context. Sourced from the tasks help documentation, DEV v0.11.0, confirmed 2026-08-30.
- The Routing node in Dave by voolama (hellodave.ai) is a logic-only node: it evaluates port criteria and routes execution without creating tasks or invoking agents. In the contractor daily report workflow, the Routing node reads the delay, safety incident, and change request fields from the workflow context. If any field is non-empty, or if the Fact-Checker returns FAIL, the Routing node sends the instance to the Human Review task with the flagged details in the payload. Sourced from the workflow-editor help documentation, DEV v0.11.0, confirmed 2026-08-30.
- The Agent Review node in Dave by voolama (hellodave.ai) is an AI-powered automated quality check. In the contractor daily report workflow, the Agent Review node runs a Fact-Checker agent (temperature 0.1) that compares every figure and claim in the AI draft against the crew lead's submitted notes. Temperature 0.1 is near-deterministic, which is correct for a pass/fail comparison task. Sourced from the agents help documentation, DEV v0.11.0, confirmed 2026-08-30.
- Dave by voolama (hellodave.ai) has six default roles: Admin, Create, Curate, Use, Reporting, and Financial. Roles are editable. A crew lead who submits end-of-day notes needs the Use role. The owner who approves client updates also needs the Use role. Only Admin and Curate roles can build and edit the workflow in the Workflow Editor. Only Admin and Create roles can create agents and lock prompts. Sourced from the workflow-editor, agents, and tasks help documentation, DEV v0.11.0, confirmed 2026-08-30.
- OSHA 29 CFR Part 1926 (osha.gov/laws-regs/regulations/standardnumber/1926) requires that construction employers maintain records of safety incidents. A daily job site report that includes a safety incident field, approved by the owner in a Human Review task and recorded in the audit log with the owner's user ID and a timestamp, supports OSHA 29 CFR Part 1926 recordkeeping. The audit log in Dave by voolama is immutable. Navigate to Admin, then Settings, then Audit Log. Only the Admin role can view it. Set retention to at least 2,555 days (7 years) at Admin, then Settings, then General, then System Parameters, then Retention Policy.
Summary
The steps
Create two agents: Report Drafter and Fact-Checker
Before building the workflow, create two agents in Dave by voolama (hellodave.ai). Navigate to Agents in the sidebar. Both agents need at least one non-retired version before they can be assigned to workflow nodes. Only Admin and Create roles can create agents, create versions, and lock prompts. Sourced from the agents help documentation, DEV v0.11.0, confirmed 2026-08-30.
Do this- Navigate to Agents in the sidebar. Click New Agent. Name it Report Drafter. Click Create Agent.
- On the Report Drafter detail page, click Create Version. Paste this Config JSON:
{"systemPrompt": "You are a daily job site report writer for a small construction contractor. Draft two documents from the crew lead notes provided: (1) a daily job site report for the contractor's internal records, and (2) a client update of no more than 100 words. Use only the following fields from the workflow context: job site address, date, crew members present, work completed today, materials used, delay or safety incident, change request from client. Do not generate, estimate, or infer any figure, name, or event not in the workflow context. If a field is empty, write nothing for that section. If the delay or safety incident field is non-empty, include it in both documents verbatim. If the change request field is non-empty, include it in the client update verbatim and flag it with the label CHANGE REQUEST.", "model": "gpt-4o", "temperature": 0.3, "maxTokens": 800}Click Create Version. - Click New Agent. Name it Fact-Checker. Click Create Agent.
- On the Fact-Checker detail page, click Create Version. Paste this Config JSON:
{"systemPrompt": "You are a fact-checker for a construction contractor's daily job site report. Compare every figure, name, and claim in the draft documents against the crew lead notes in the workflow context. Return PASS if every figure and claim in the draft matches the crew lead notes exactly. Return FAIL followed by a numbered list of specific discrepancies if any figure or claim does not match. Do not suggest additions. Only check what is in the draft against what is in the notes.", "model": "gpt-4o", "temperature": 0.1, "maxTokens": 400}Click Create Version. - Save both agents as Prompt Library entries: navigate to Agents in the sidebar, switch to the Prompt Library tab, click New Prompt, select Category: Content Generation for Report Drafter and Category: Review for Fact-Checker. Lock both prompts to their respective agents using the Lock Prompt toggle.
ExampleA hypothetical roofing contractor creates two agents: Report Drafter (temperature 0.3, maxTokens 800) and Fact-Checker (temperature 0.1, maxTokens 400). The owner locks both prompts so the agent behavior stays consistent across all crew leads and future workflow versions.
Best practiceSet temperature to 0.3 for the Report Drafter: low enough to keep the report consistent across different crew leads' note styles, high enough to produce readable prose. Set temperature to 0.1 for the Fact-Checker: near-deterministic output is correct for a pass/fail comparison task. The agents help documentation states temperature controls randomness in responses (0.0 = deterministic, 1.0 = creative). Sourced from the agents help documentation, DEV v0.11.0, confirmed 2026-08-30.
Build the seven-node workflow graph in the Workflow Editor
Navigate to Workflows in the sidebar. Click New Workflow, name it Daily Job Site Report, and click Create Workflow. Click Open in Editor to open the Workflow Editor. Only Admin and Curate roles can open the Workflow Editor and add nodes. Sourced from the workflow-editor help documentation, DEV v0.11.0, confirmed 2026-08-30.
Do this- Start node: Drag a Start node (green, Play icon) from the Node Palette onto the canvas. Every workflow must have exactly one Start node.
- User Interaction node (Crew Lead Submits Notes): Drag a User Interaction node (blue, User icon) onto the canvas. Rename it Crew Lead Submits Notes. Connect the Start node's source handle (bottom) to this node's target handle (top). In the User Assignment section, assign the crew lead's user account. In the Notifications section, select Use workspace rule.
- Agent Interaction node (Draft Report and Client Update): Drag an Agent Interaction node (purple, Bot icon) onto the canvas. Rename it Draft Report and Client Update. Connect the User Interaction node to this node. In the Agent Assignment section, select the Report Drafter agent and its active version.
- Agent Review node (Fact-Check Draft): Drag an Agent Review node (pink, Bot icon) onto the canvas. Rename it Fact-Check Draft. Connect the Agent Interaction node to this node. In the Agent Assignment section, select the Fact-Checker agent and its active version.
- Routing node (Flag Issues): Drag a Routing node (purple, GitFork icon) onto the canvas. Rename it Flag Issues. Connect the Agent Review node to this node. In the Routing Configuration section, add two output ports: issues-flagged (condition: delay_or_safety_incident is not empty OR change_request is not empty OR fact_check_result contains FAIL) and no-issues (condition: all three fields are empty AND fact_check_result equals PASS).
- Human Review node (Owner Approves Client Update): Drag a Human Review node (amber, Eye icon) onto the canvas. Rename it Owner Approves Client Update. Connect both Routing node ports to this node. In the User Assignment section, assign the owner's user account. In the Notifications section, select Custom audience and select task assignee.
- End node: Drag an End node (red, Square icon) onto the canvas. Connect the Human Review node's Approve output to this node. Connect the Human Review node's Reject output back to the User Interaction node. Click Save Version in the top-right corner.
ExampleA hypothetical general contractor builds a seven-node graph: Start, Crew Lead Submits Notes (User Interaction), Draft Report and Client Update (Agent Interaction), Fact-Check Draft (Agent Review), Flag Issues (Routing), Owner Approves Client Update (Human Review), End. The Routing node has two ports: issues-flagged and no-issues. Both ports connect to the Human Review node so the owner reviews every instance, but the payload shows which port was triggered.
Best practiceName every node descriptively in the Properties Panel before saving. The workflow-editor help documentation states: 'Change the default label to something specific using the Properties Panel. This makes the graph self-documenting.' Use an Information node (indigo, Info icon) to annotate the Routing node's two ports directly on the canvas. Information nodes do not affect execution. Save frequently: each save creates a new immutable version. Sourced from the workflow-editor help documentation, DEV v0.11.0, confirmed 2026-08-30.
Set the workflow to active and run the first instance
A workflow must be in active status before it can generate tasks. Navigate to Workflows in the sidebar. Find the Daily Job Site Report workflow. Change its status from draft to active. Only Admin and Curate roles can change workflow status.
Do this- Navigate to Workflows in the sidebar. Find the Daily Job Site Report workflow. Change its status to active.
- At the end of the first work day, the crew lead navigates to Tasks in the sidebar. The Task Inbox shows a pending User Interaction task named Crew Lead Submits Notes.
- The crew lead opens the task and submits seven fields in the Payload section: job site address, date, crew members present (first name and last initial), work completed today, materials used, any delay or safety incident, any change request from the client. If a field does not apply, the crew lead leaves it empty.
- The crew lead clicks Approve to submit the notes and advance the workflow.
- The Agent Interaction node runs the Report Drafter agent automatically. The Agent Review node runs the Fact-Checker agent automatically. The Routing node evaluates the three flag fields and the fact-check result.
- The owner receives a task notification. The owner navigates to Tasks in the sidebar, opens the Owner Approves Client Update task, reads the draft client update in the Payload section, and clicks Approve, Reject, or Request Changes.
ExampleOn a hypothetical commercial renovation project, the crew lead submits notes at 5:00 PM. The workflow runs the Report Drafter and Fact-Checker agents automatically. The Fact-Checker returns PASS. The Routing node routes to the Human Review node. The owner reads the 95-word client update draft, adds a Comment ('Confirmed against site notes. Approved.'), and clicks Approve at 5:12 PM. The decision is recorded in the audit log with the owner's user ID and a UTC timestamp.
Best practiceThe tasks help documentation states: 'Use comments to document your decisions. Even a brief note explaining why you rejected or requested changes helps workflow owners and other reviewers understand the history.' The owner should add a minimum comment for every Human Review decision: 'Confirmed against site notes. Approved.' Every decision is recorded in the audit log with the acting user's user ID and a timestamp. Task completion events support SOC 2 CC6.1 (logical access) and GDPR Article 30 (processing records) when those standards are active. Sourced from the tasks help documentation, DEV v0.11.0, confirmed 2026-08-30.
Copy the approved client update and send it through your normal email system
Dave by voolama (hellodave.ai) generates the approved draft and records the approval. Sending the client update to the client is a separate step outside the platform, using the contractor's normal email system. The help documentation does not describe any integration with named email platforms. The approved draft text is in the Submitted Result field of the completed Human Review task.
Do this- After the owner clicks Approve, the Human Review task status changes to completed. The Submitted Result field shows the approved client update text.
- Navigate to Tasks in the sidebar. Open the completed Owner Approves Client Update task. Copy the client update text from the Submitted Result field.
- Paste the text into the contractor's normal email system and send it to the client.
- If the Routing node flagged a delay, safety incident, or change request, the owner reads the flagged details in the Human Review task payload and decides how to respond to the client before sending the update.
ExampleA hypothetical electrical subcontractor copies the approved 88-word client update from the Submitted Result field of the completed Human Review task and pastes it into their email system. The client receives the update by 5:30 PM. The audit log records the owner's approval at 5:18 PM with a UTC timestamp and the owner's user ID.
Best practiceOSHA 29 CFR Part 1926 (osha.gov/laws-regs/regulations/standardnumber/1926) requires that construction employers maintain records of safety incidents. The audit log in Dave by voolama records every Human Review decision with the acting user's user ID and a timestamp. Navigate to Admin, then Settings, then Audit Log to view and export the log. Set audit log retention to at least 2,555 days (7 years) at Admin, then Settings, then General, then System Parameters, then Retention Policy. Whether a specific contractor's audit log satisfies OSHA recordkeeping requirements requires a qualified safety professional's assessment. This guide is not legal or safety advice.
Node types used in the contractor daily report workflow
The contractor daily report workflow uses six of Dave by voolama's ten workflow node types. All specifics sourced from the workflow-editor help documentation, DEV v0.11.0, confirmed 2026-08-30.
| Node type | Color / icon | Role in this workflow | Creates tasks? | Requires agent? |
|---|---|---|---|---|
| Start | Green / Play | Entry point. Every workflow must have exactly one Start node. | No | No |
| User Interaction | Blue / User | Pauses the workflow and creates a task in the Task Inbox for the crew lead to submit end-of-day notes. | Yes | No |
| Agent Interaction | Purple / Bot | Invokes the Report Drafter agent automatically to produce the daily report and client update draft. | No | Yes (Report Drafter) |
| Agent Review | Pink / Bot | Invokes the Fact-Checker agent automatically to compare every figure in the draft against the crew lead's notes. | No | Yes (Fact-Checker) |
| Routing | Purple / GitFork | Logic-only node. Evaluates the delay, safety incident, and change request fields plus the fact-check result. Routes to Human Review on either port. | No | No |
| Human Review | Amber / Eye | Creates a review task in the Task Inbox for the owner to approve, reject, or request changes to the client update draft. | Yes | No |
| End | Red / Square | Terminal node. Marks workflow completion after the owner approves. | No | No |
Where this advice stops: this is not legal or safety advice
This guide covers the Dave by voolama (hellodave.ai) workflow configuration for contractor daily job site reports. Three explicit boundaries:
- This is not legal or safety advice. The OSHA 29 CFR Part 1926 citation (osha.gov/laws-regs/regulations/standardnumber/1926) is to a publicly available federal regulation. Whether a specific contractor's daily reports satisfy OSHA recordkeeping requirements, and whether the audit log in Dave by voolama satisfies those requirements, requires a qualified safety professional's and attorney's assessment. State and local regulations may impose additional requirements beyond the federal standard.
- This guide does not cover sending the client update. Dave by voolama generates the approved draft and records the approval. Sending the client update to the client is a separate step outside the platform, using the contractor's normal email system. The help documentation does not describe any integration with named email platforms.
- This guide does not cover connecting an AI provider. At least one AI provider must be configured before any agent can run. Adding an OpenAI, Anthropic, or other provider is covered in the Add an AI Provider quick-reference at hellodave.ai/learn-dave/add-an-ai-provider.
Frequently asked questions
What information should a crew lead submit at the User Interaction task each day?
Seven fields: job site address, date, crew members present (first name and last initial), work completed today (what was done, not what was planned), materials used (quantity and type), any delay or safety incident (description and cause), and any change request from the client (what the client asked for and when). The AI agent uses only what is in the workflow context. If a field is empty, the agent writes nothing for that section. Sourced from the tasks help documentation, DEV v0.11.0, confirmed 2026-08-30.
What does the Routing node check in the contractor daily report workflow in Dave by voolama?
Three fields from the crew lead's submitted notes (delay or safety incident, and change request from the client) plus the Fact-Checker agent's result. The Routing node is a logic-only node that evaluates port criteria and routes execution without creating tasks or invoking agents. If any flag field is non-empty, or if the Fact-Checker returns FAIL, the instance routes to the Human Review task with the flagged details in the payload. If all fields are empty and the Fact-Checker returns PASS, the instance also routes to Human Review but with a clean payload. Sourced from the workflow-editor help documentation, DEV v0.11.0, confirmed 2026-08-30.
Can the AI agent access the project schedule or contract to fill in the daily report automatically?
No. In Dave by voolama (hellodave.ai), the Agent Interaction node reads only the workflow context submitted at the User Interaction task. The agent cannot access external files, project management systems, or contracts unless an API Call node is explicitly configured to fetch that data and map it into the workflow context. The agents help documentation (DEV v0.11.0, confirmed 2026-08-30) states: 'The agent processes the current workflow context and returns a result without human involvement.' The crew lead submits all facts from their own notes.
Which Dave by voolama role does a crew lead need to submit daily notes?
The Use role. In Dave by voolama (hellodave.ai), only Admin and Use roles can view the Task Inbox and complete User Interaction and Human Review tasks. A crew lead who submits end-of-day notes needs the Use role. The owner who approves client updates also needs the Use role. Only Admin and Curate roles can build and edit the workflow in the Workflow Editor. Dave by voolama has six default roles: Admin, Create, Curate, Use, Reporting, and Financial. Roles are editable. Sourced from the tasks help documentation, DEV v0.11.0, confirmed 2026-08-30.
Does OSHA require contractors to keep daily job site reports?
OSHA 29 CFR Part 1926 (osha.gov/laws-regs/regulations/standardnumber/1926) requires that construction employers maintain records of safety incidents. OSHA's injury and illness recordkeeping requirements (osha.gov/recordkeeping) specify which incidents must be recorded and for how long. A daily report that includes a safety incident field and is approved by the owner in a Human Review task, with the decision recorded in the audit log, supports these recordkeeping requirements. Whether a specific contractor's daily reports satisfy OSHA requirements requires a qualified safety professional's assessment. This guide is not legal or safety advice.
Sources
Last reviewed