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 it | What | When | Auto or manual |
|---|---|---|---|---|
| 1 | Admin (once) | Company + billing details | At signup | Manual · web form |
| 2 | Admin (once) | Per-engineer hourly rate and weekly hours target | Day 1 · Team page | Manual · web form |
| 3 | Each engineer (once) | OAuth grant to GitHub + Claude Code + Cursor + Zoom | Day 1 · Connect page | Manual · click "Connect" |
| 4 | Manager (per task) | Three-way-agreement approval on hours for each new task | Every new task | Manual · dashboard button (or Slack/Zoom reply) |
| 5 | No one | Commits, PRs, sessions, meeting time, task moves | Continuous | Auto · comes in via OAuth webhooks |
| 6 | No one | Weekly report | End of week | Auto · 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)
- Visit https://rnd-workforce.kasercorp.com/register
- Fill in: company name · admin email · admin password
- Stripe checkout: $59.99/mo for 5 seats (+ $10 / month per extra seat)
- On success: workspace provisioned, admin logged in
Step 2 · Configure the AI Helper (~5 min · admin)
- Land on https://rnd-workforce.kasercorp.com/showcase/ai-helper-config.html
- Pick a preset — Balanced (default) · Quality-first · Velocity-first — or tune weights per metric
- Sub-metrics you turn on/off change what the AI Helper reads from your engineers' activity
- Save profile → published to
wf_scheduling.ai_helper_profiles
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:
| Field | Example | Why we need it | |||
|---|---|---|---|---|---|
alice@yourco.com | Login + activity attribution | ||||
| Name | Alice Chen | Display in dashboard | |||
| Role | admin \ | manager \ | engineer | Determines who can approve three-way agreements | |
| Hourly rate ($/hr) | $95/hr | Powers KPI #1 (rate) and #3 (cost) | |||
| Weekly hours target (h) | 40h | Powers KPI #2 (hours consumed %) and #5 (quota met %) | |||
| Timezone | America/Los_Angeles | Determines when their "week" starts (Mon-Sun in local tz) | |||
| Language for AI summaries | en \ | zh \ | ja \ | … | Per-engineer override (default: subscriber's default) |
Two ways to bulk-add:
- CSV upload on the Team page — columns exactly as above
- API —
POST /api/wf/userswith the same fields (see §7 below)
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:
| Platform | Required? | Signal it produces | Feeds KPI |
|---|---|---|---|
| GitHub (per repo) | ✅ required | Commits · PRs · reviews · merges | Hours · Performance · Quota |
| Claude Code | ✅ required | Session start/end · tool call count · duration | Hours (deep-work) · Performance |
| Cursor IDE | ✅ required | Editor dwell time · deep-work blocks · files touched | Hours (deep-work confirm) · Focus sub-score |
| Zoom (your R&D channel only) | ✅ required | Meeting hours · thread activity | Hours (meetings deducted) |
| R&D Workforce task board | ✅ auto | Task moves · three-way agreement stamps | Quota · Performance |
| OpenAI (optional) | ⚪ | Session usage for adjacent tooling | Hours (adjacent) |
| Google Calendar (optional) | ⚪ | Meeting hours + deep-work block detection | Hours (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:
- AI Helper proposes hours (via real Claude API, using the AI Helper profile + past similar tasks)
- Engineer signs (accept AI's number, or counter with their own + one-line reason)
- 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:
/showcase/dashboard.html— team KPI + trend line + task board/showcase/<engineer-slug>.html— per-engineer weekly report with the 5 KPIs, sub-scores, tasks list
What R&D Workforce does NOT need from you
- Timesheet spreadsheets — hours are inferred from commit windows + Cursor deep-work + Claude session duration
- Screen recordings / keystroke logs — never recorded, never asked
- Private chat content — only channel activity metadata (thread count, meeting duration)
- Manual "what did I do this week" write-ups — the task board + git history is the write-up
- Anything more than 3 minutes per engineer per week after Day 1 setup
Delivery guarantees
| First report visible in dashboard | Day 8 (Monday after first full week) |
| Real-time task board | Day 1 (immediately after Step 3 connects) |
| Live activity feed | Day 1 (streams as OAuth events land) |
| Cost tracking | Day 1 (rate × hours computed live) |
| Delta score per task | On 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:
- CSV / JSON export from any dashboard page — one-click download of the raw rows
GET /api/wf/export?subscriber_id=<yours>&format=json— full-fidelity export of all subscriber data
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
- Product questions: any admin-level user can chat with the AI Helper in-app
- Integration / API questions:
support@kbot.kasernet.com(Zoho-backed, real inbox) - Emergencies: dashboard's "Report a problem" button routes to the R&D Zoom channel
Version history
- v1.0 · 2026-09-23 · initial spec, aligned with R&D Workforce Phase 1 shipping (AI-propose live · SMTP wired · diary cron installed)
— Kbot-Workforce lane