R&D Workforce — What a new subscriber sends to compose their first report

For: any company / team just subscribing to R&D Workforce · rnd-workforce.kasercorp.com Goal: get your team's first real weekly report in the dashboard within 7 days of signup, with zero manual data entry after initial setup. Version: 1.0 · 2026-09-23


The short version — what you have to send us

#Who sends itWhatWhenAuto or manual
1Admin (once)Company + billing detailsAt signupManual · web form
2Admin (once)Per-engineer hourly rate and weekly hours targetDay 1 · Team pageManual · web form
3Each engineer (once)OAuth grant to GitHub + Claude Code + Cursor + ZoomDay 1 · Connect pageManual · click "Connect"
4Manager (per task)Three-way-agreement approval on hours for each new taskEvery new taskManual · dashboard button (or Slack/Zoom reply)
5No oneCommits, PRs, sessions, meeting time, task movesContinuousAuto · comes in via OAuth webhooks
6No oneWeekly reportEnd of weekAuto · diary-rollup cron computes, dashboard shows

That's it. Steps 1–3 are one-time setup. Step 4 is per-task, ~30 seconds. Step 5 & 6 are fully automatic once step 3 is done.


The 30-minute onboarding checklist

Total time to first live report: ~30 min of setup + 7 days of work happening + 0 more minutes.

Step 1 · Sign up (~2 min · admin)

Step 2 · Configure the AI Helper (~5 min · admin)

What you're setting: how the 5 KPIs (rate · hours · cost · perf · quota) are weighted for your team's scoring. Wrong here just means the delta score is skewed; correctable any time.

Step 3 · Add engineers + set rates + quotas (~10 min · admin)

For each engineer on your team:

FieldExampleWhy we need it
Emailalice@yourco.comLogin + activity attribution
NameAlice ChenDisplay in dashboard
Roleadmin \manager \engineerDetermines who can approve three-way agreements
Hourly rate ($/hr)$95/hrPowers KPI #1 (rate) and #3 (cost)
Weekly hours target (h)40hPowers KPI #2 (hours consumed %) and #5 (quota met %)
TimezoneAmerica/Los_AngelesDetermines when their "week" starts (Mon-Sun in local tz)
Language for AI summariesen \zh \ja \Per-engineer override (default: subscriber's default)

Two ways to bulk-add:

Step 4 · Each engineer connects their platforms (~5 min each · engineer)

Send each engineer this URL: https://rnd-workforce.kasercorp.com/showcase/connect.html

They click Connect on each row:

PlatformRequired?Signal it producesFeeds KPI
GitHub (per repo)✅ requiredCommits · PRs · reviews · mergesHours · Performance · Quota
Claude Code✅ requiredSession start/end · tool call count · durationHours (deep-work) · Performance
Cursor IDE✅ requiredEditor dwell time · deep-work blocks · files touchedHours (deep-work confirm) · Focus sub-score
Zoom (your R&D channel only)✅ requiredMeeting hours · thread activityHours (meetings deducted)
R&D Workforce task board✅ autoTask moves · three-way agreement stampsQuota · Performance
OpenAI (optional)Session usage for adjacent toolingHours (adjacent)
Google Calendar (optional)Meeting hours + deep-work block detectionHours (higher-precision)

All OAuth. Scope is read-only. Tokens stored encrypted in wf_scheduling.access_grants. Revocable per platform any time.

If an engineer refuses / can't connect one required platform: that KPI dimension is dampened for them (marked "signal partial" in their dashboard card). System still works; report will read "delta unreliable — reconnect Cursor" until fixed.

Step 5 · Manager approves the first three-way agreement (~30 sec / task)

Every time an engineer creates or moves a task to In progress:

  1. AI Helper proposes hours (via real Claude API, using the AI Helper profile + past similar tasks)
  2. Engineer signs (accept AI's number, or counter with their own + one-line reason)
  3. Manager approves in the dashboard (or via Zoom / Slack reply — one-click). This locks the agreed hours for delta scoring.

Without manager approval, the task can't move to "In progress" — the system returns HTTP 409 three_way_agreement_required. This is the intentional gate that makes the KPI fair (no post-hoc goalpost moving).

Step 6 · Wait 7 days

Activity flows in automatically. Diary-rollup cron runs nightly (23:15 UTC), weekly (Sunday 23:45 UTC), monthly (1st 00:00 UTC).

Monday morning of week 2: log into the dashboard, see:


What R&D Workforce does NOT need from you


Delivery guarantees

First report visible in dashboardDay 8 (Monday after first full week)
Real-time task boardDay 1 (immediately after Step 3 connects)
Live activity feedDay 1 (streams as OAuth events land)
Cost trackingDay 1 (rate × hours computed live)
Delta score per taskOn first task approval (three-way agreement completed)

If you don't see numbers within 24h of an engineer completing Step 4, that engineer's connect flow failed silently — check /showcase/connect.html for their coverage ring (should be 7/7).


Data ownership + portability

Everything R&D Workforce collects is yours. Two export paths:

If you cancel the subscription, we retain the data for 30 days then hard-delete (per Terms). Export before cancelling.


API for subscribers who want to push data instead of pull

Some teams want to feed R&D Workforce from their existing project-management system (Linear, Jira, Height, Shortcut, GitHub Projects). Rather than duplicate task entry, POST directly:


POST /api/wf/users               — bulk-create engineers
POST /api/wf/teams               — create teams (Kbot-Link, Meet3, …)
POST /api/wf/tasks               — create a task (fires AI-propose)
POST /api/wf/tasks/:id/estimates/engineer-sign
POST /api/wf/tasks/:id/estimates/manager-approve
POST /api/wf/tasks/:id/actuals   — record actual hours + ship time
GET  /api/wf/reports/weekly?user_id=<uuid>&week=<YYYY-WW>
GET  /api/wf/reports/team?subscriber_id=<uuid>&week=<YYYY-WW>

Auth: header x-api-key: <admin_api_key> (issued on signup, rotatable at Settings → API).

Full field spec: see the internal integration doc at .agent-mailbox/notices/2026-09-23T0800Z-KBOT-WORKFORCE-to-ALL-NOTICE-how-to-submit-working-report.md §3–§5.


Common questions

Q · What if I don't want to reveal engineer rates in the org-shared dashboard? A · Rates are per-engineer, only visible to admin + that engineer. Managers see cost totals per task, not rates.

Q · Do we have to use Claude Code? A · No, but Claude Code is the primary hours-signal we validate deeply against. Without it, the "Hours consumed" KPI leans on Cursor + GitHub commit windows only, which is ~85% as accurate.

Q · How does the three-way agreement work for a solo engineer with no manager? A · Admin doubles as manager. If admin = engineer (single-founder edge case), the AI Helper proposes and you sign both roles yourself — the system still logs it as three-way for audit consistency.

Q · What about temp-assist assignments (engineer working across two product lines)? A · Grant per product line explicitly (like Charles in our sample: Kbot-Link + Meet3). Time is attributed based on which repo's commits / which label is on the task.

Q · Can we import history from before we signed up? A · Yes — POST historical tasks via the API in §7 with merged_at in the past. The AI Helper will backfill three-way agreement metadata as "grandfathered" (no scoring effect) and the numbers show up in trend charts.


Reach us


Version history

— Kbot-Workforce lane