The Weekly Team Workflow
One loop, once a week: every member says how many hours they can give, Kavanah hands out the week's work against those hours, people log time as they go, and the lead reviews what was committed against what was delivered. Four steps, four surfaces, and the same numbers flow through all of them.
The loop at a glance
- 1Commit — each member records the hours they can give this week (Portfolio → Resources → Respond on the open request, or Submit My Availability for a standing entry — or tell the agent).
- 2Assign — a weekly scheduled agent run reads those commitments and skills, assigns the open work, and each assignee is emailed.
- 3Log— members track time on their tasks with the task's Start Timer or a manual entry (Dashboard → Time Tracker → Entries → Log time). Time is always attributed to the person logged in.
- 4Review— Reports → Check-ins shows every member's week as hours logged of hours committed, with tasks done and still open; the lead reads it before the next commit.
Who does what, and when
Team members
- Friday (or whenever your lead's request arrives): answer the availability request (Respond, then Save Availability) with your hours for next week and any time off. You get an email and a push notification when a request is opened; the link drops you on the Resources tab. Your standing entry is the fallback for weeks nobody asks.
- Monday morning:your week's assignments are in your inbox, on the project board (filter by Assignee) and in the Hub's Tasks assigned to you. Kavanah only assigns work to people who committed hours; if you committed 0 or marked yourself unavailable, nothing lands on you.
- Through the week:run the timer from the task, or log a manual entry at the end of the day. An entry you forget is a gap the review cannot see. The agent can log for you too (“log 2 hours on the typography task”).
- Friday: your check-in draft is generated for you (or click Generate my draft now on Reports → Check-ins). Edit it if the narrative is wrong, then Save draft or Send to admins — the numbers come from the ledger and are not editable.
Leads and admins
- Thursday or Friday: open a workspace-wide availability request for next week (Portfolio → Resources → Request Availability: Window Start / End, Respond By, then Send Request) — or have the agent do it on a schedule: “every Thursday at 3pm, open an availability request for next week and ask everyone to reply by Friday noon”. The team is notified the moment it opens.
- Monday:the assignment run fires. Read the digest it emails you — who got what and why — and reassign anything you disagree with. Every assignment the run makes is undoable from the agent's undo stack.
- Friday: open Reports → Check-ins. Each card reads
8h / 32h committed. A member who committed hours and logged none still gets a check-in — that row is the one to talk about, not hide.
Setting up the assignment run
The run is an ordinary scheduled agent run (Sidebar → Workspace → Scheduled Runs to see its output; Settings → AI Agent → Scheduled agent runs to manage it). Two switches must be on first: the agent must be enabled, and the workspace autonomy ceiling must be Safe or higher — a schedule cannot act on its own below that, and Kavanah will refuse to create one rather than silently downgrade it to a read-only briefing.
- 1Create a weekly schedule on Monday at the hour you want the plan to land, autonomy Safe.
- 2Prompt it to read
list_availability_submissions, find the open unassigned tasks in the projects you name, call recommend_assignees for each, assign with update_task only to members who committed hours this week, and finish with email_my_digest. - 3Optionally turn on Availability-aware assignment in Settings → AI Agent so
recommend_assignees and create_task's auto-assign also weigh availability automatically, not just when the prompt says so.
A sample prompt: “Run the weekly assignment pass for Website Redesign. Read this week's availability submissions. For each open task with no assignee, call recommend_assignees and assign it with update_task to the best-matched member who has committed hours; set a Friday due date if it has none. Never reassign work that already has an owner. End with email_my_digest summarising who got what and why.”
Where the numbers come from
- Committed hours are resolved per member, most specific first: their reply to an availability request whose window overlaps the week → their standing availability → the admin-set team capacity. If none exists the check-in says so rather than assuming 40.
- Logged hoursare the member's time entries in the week. A member can only log, edit, or delete their own entries; an owner or admin can log on someone's behalf (the forgotten Friday), and the entry is still recorded under that member's name.
- Assignments made by the agent email the new assignee the same way a hand-made assignment from the task modal does, honouring their notification preferences and quiet hours.
Team capacity (hours per week and cost per hour) is an admin setting. Members cannot change it — through the UI, the API, or the agent — and should use availability, not capacity, to say what they can give this week.
When something looks wrong
- A member says they never saw the availability request: check Settings → Notifications — the request rides the Tasks email channel, and quiet hours hold it back until they end.
- The Monday run assigned nobody: it only assigns to members with a committed-hours entry for the week. Open Portfolio → Resources and see who has not replied.
- A check-in reads 0h logged of 32h committed: the hours were promised but no time entries exist for that week. That is the review working, not a bug — ask before assuming.
- The check-in shows no committed hours: the member has neither answered a request nor set a standing entry, and no capacity row exists for their name. Ask them to submit availability.