Agencies run client work in Asana and track time in Harvest. The agent reads both, drafts a weekly client status, and routes it to the account lead for sign-off before it leaves the building. Dock stores the read, the decision, and the attribution. Asana keeps the tasks. Harvest keeps the hours. Nothing about that changes.
Asana and Harvest stay the system of record for the raw data. Dock is the system of record for what the AGENT INTERPRETS. Each Dock row carries a pointer back to the platform record, agent identity, decision, reviewer, and timestamp. The agent re-fetches platform data via fresh API reads when it needs current state.
The Dock surface: Client Status Drafts
| Client | Asana project | Harvest hours wk | Agent status read | Risks flagged | Account lead | Sign-off |
|---|---|---|---|---|---|---|
| Northwind Rebrand | proj/9981 | 38.5 / 42 budgeted | On track, milestone 3 of 5 closed | Copy review slipped 2 days | Priya R. | Approved 2026-05-28 |
| Helix App Launch | proj/9842 | 71.0 / 60 budgeted | At risk, over-burn on QA | Scope creep on settings flow | Marcus B. | Returned for edits |
| Aster DTC Site | proj/9907 | 22.0 / 30 budgeted | Healthy, ahead on design | None | Priya R. | Approved 2026-05-29 |
Each row links to the Asana project and the Harvest timesheet. The "Agent status read" field captures what the agent interpreted from those reads. "Sign-off" is the account lead's call, not the agent's.
The workflow: Friday status drafts
Thursday night the agent pulls every active Asana project tagged client-billable, joins it to the Harvest week, and writes one row per client into Client Status Drafts. The status read is generated, not asserted: percent complete, burn vs budget, the next milestone, and any task that has slipped its due date twice. Friday morning the assigned account lead opens Dock, sees their clients filtered to them, reads the agent's draft against the linked Asana view, and either approves, edits, or returns. Approved rows flow to the client-facing status email. Returned rows go back to the agent with the lead's note attached. The Asana tasks themselves are untouched. The agent did not move a card or close a milestone. It read, drafted, and waited.
Why it matters
Asana's own research found 62 percent of the workday goes to repetitive coordination instead of skilled work, and teams lose 3.6 hours a week to unnecessary meetings (Asana Anatomy of Work 2023). Agency status reporting is a textbook case: the data lives in two tools, the interpretation is judgment, and the meeting exists to bridge them. Putting the draft in Dock with named account-lead attribution shortens the loop without giving the agent the authority to send client communications on its own. The 4As operations guidance for member agencies stresses that client trust depends on a named human owner for every deliverable; agent-drafted status without sign-off breaks that.
This is the same pattern we use for research synthesis, design reviews, and broader project management: the platform owns the work, Dock owns the interpretation, a named person owns the call. The agent has its own identity so the audit trail shows which agent read what, when, and what the human did about it.
See the full pillar at Dock for consulting and agencies.
FAQ
Does the agent update Asana tasks directly? No. The agent reads Asana through the API and writes its interpretation to Dock. Task updates remain a human action inside Asana so project history stays clean.
What if the account lead disagrees with the agent's status read? They return the row with a note. The agent re-reads the Asana and Harvest data, redrafts, and the row goes back into the lead's queue. The original draft is retained for audit.
How does Harvest data show up? The agent calls Harvest at draft time for the current week's hours per project. Budgets live in Dock as a column on the project row. The agent compares fresh hours to that budget.
Can different account leads see only their clients? Yes. The Client Status Drafts surface filters on the Account lead column, so each lead's Friday view shows only their book. The agent identity that drafted the row is visible on every entry.