How to use Process Discovery
The playbook for running voice-agent interview campaigns and turning them into an automation backlog for the FDE team.
On this page
Quick start
- Templates: start from “Administrative Staff — General” (pre-seeded) or build one per staff type, then Publish.
- Check Settings has an active consent document (v1.0 is pre-seeded).
- Create a campaign: pick the template version + consent doc, set recording and anonymization policy.
- Upload a CSV of invitees, Activate the campaign, and send invites (or use Copy link to hand links out directly).
- Staff complete interviews on their own schedule; analysis runs automatically within minutes of each completion.
- Work the Backlog: open top opportunities, generate dossiers, curate clusters, export Markdown/CSV for the FDE team.
1 · Interview templates
A template is the agent's interview plan: sections (with a goal and a time budget) containing questions (with a goal, a required flag, and a probe depth). The agent works through sections in order, adapts wording naturally, and probes inside each section.
- Probe depth per question: 0 = ask and move on · 1 = one clarifying follow-up · 2 = dig for specifics (numbers, system names) · 3 = up to three follow-ups until the goal is genuinely met.
- Probing notes steer follow-ups, e.g. “always pin down a number per week and ask how many other people do this same work.”
- Key terms boost transcription of campus jargon (Concur, TritonLink, EASy…). Add any acronyms your unit uses.
- Preview prompt shows the exact composed instructions the agent receives — read it before publishing.
- Publishing freezes a version. Campaigns pin a version, so editing later creates v2 and never changes live interviews.
Good targets: 4–6 sections, ~25–30 minutes total budget. Interviews longer than ~35 minutes degrade — trim sections that the Analytics drop-off chart shows bleeding people.
2 · Consent documents
California requires all-party consent, and this system evidences it twice: the interviewee accepts a consent screen (click, timestamped) and the agent reads a spoken script verbatim and records the verbal yes before any substantive question. Both are pinned to the consent document version in force, so you can always prove what someone agreed to.
Manage versions in Settings. Documents are immutable once used — to change wording, create a new version, activate it, and use it for new campaigns.
3 · Campaigns
A campaign points one template version at one group of staff. Key settings (fixed at creation):
- Audio recording on/off (+ optional retention in days — recordings auto-delete after it). Transcripts are always kept.
- Anonymize reports: dossiers, exports, and the Q&A refer to people as “role, department” only, and the fde role loses access to raw transcripts for this campaign.
- Target length (the agent paces to it) and a hard cap per call (a safety stop — hitting it pauses, never loses work).
- Link expiry and the reminder schedule.
Status: draft → active → paused/closed. Invites only send and links only work while the campaign is active.
4 · Invitations & links
Upload a CSV with columns email, first_name (required) and last_name, role_title, department (recommended — role/department feed the analysis). Extra columns are kept as metadata.
- Each person gets a personal magic link — no account, no scheduling. The same link serves the whole lifecycle: start, pause, resume, done.
- Send emails pending invites; Remind re-sends (also automatic per the campaign schedule); Revoke kills a link immediately; Copy link rotates the token and puts a fresh URL on your clipboard for hand-delivery.
- Every send/copy rotates the token — older links die. Links expire per campaign setting, but a paused interview auto-extends so nobody gets locked out mid-conversation.
5 · What interviewees experience
- Landing page: what this is, time estimate, consent notice → explicit agree.
- Mic check with a live level meter.
- Voice conversation with the agent: a visible roadmapticks off topics as they're covered; live captions; mute, Pause (resume anytime on any device with the same link), and End controls.
- Thank-you page + a receipt email on completion.
Built-in guardrails: the agent never asks for or repeats student names or identifiers, reassures anyone worried about evaluation, and steers tangents back to process. Connection drops are non-events — progress is saved and the link resumes where they left off.
6 · From transcript to backlog (automatic)
On completion, each interview flows through six stages:
- Redact — identifiers are stripped before anything else reads the transcript (regex + AI entity pass).
- Extract — each described work process becomes a structured record. Every number must be backed by a verbatim quote; a validator nulls anything it can't find in the transcript, so vague answers produce “unknowns,” not invented data.
- Score — annual hours, feasibility (0–5), confidence, and a route-to-solution (script / RPA / LLM agent / AI assist / redesign first).
- Embed— vectors for clustering and the Q&A.
- Cluster — “travel reimbursements” in Biology and “expense reports” in Chemistry merge into one canonical process. Borderline matches get an AI adjudication; your merge/split decisions are permanent overrides.
- Roll up — campaign-level totals, the people-multiplier, and priority ranking.
Interview statuses: completed → processing → analyzed. Failures are retried automatically (up to 3×) and surface on the Dashboard; the interview detail page has a Re-run analysis button, which is also how you re-process everything after methodology changes.
7 · Reading the results (per campaign)
- Backlog — canonical processes ranked by
priority = org hours/yr × (feasibility/5) × confidence. An asterisk on hours means it includes a capped extrapolation from “N other people do this too” claims. Filter by route or department; export CSV. - Dossier(click any backlog row) — the FDE handoff document: baseline metrics per source, systems & access modes, exceptions, verified quotes, route rationale, and the “what we don't know yet”checklist that should drive the engineer's first week. Generate / regenerate on demand; export as Markdown. Curation lives here too: rename, merge into another cluster, or split a wrongly-grouped source out — these decisions persist through every re-cluster.
- Heatmap — departments × hours/pain/feasibility: where to focus.
- Systems — manual hours flowing through each system. Rows spanning many departments are platform-level opportunities (one integration, many beneficiaries).
- Themes — non-process findings (training gaps, policy confusion, shadow IT). Often cheaper to fix with a doc or a class than an automation.
- Analytics — completion funnel, section drop-off (trim what bleeds people), minutes, and cost per completed interview.
- Ask — free-form questions over the corpus (“what do people say about Concur?”). Answers cite their sources and refuse to speculate beyond the interviews.
Roles & permissions
| Role | Can do | Cannot do |
|---|---|---|
| owner | Everything, including managing console access | — |
| admin | Templates, campaigns, invites, curation, re-runs, transcripts | Add/remove console users |
| fde | Backlog, dossiers, aggregates, Ask; transcripts on non-anonymized campaigns | Raw transcripts on anonymized campaigns; any configuration |
| viewer | Read-only dashboards and backlog | Any changes; raw transcripts |
Add people in Settings (owner only) — they sign in with an emailed magic link; there are no passwords.
Privacy & framing — the load-bearing rules
- Never performance evaluation.It's promised in the consent document, the invite emails, and the agent's own reassurances — and the product enforces it by having no per-person metrics anywhere. Don't undermine the promise in how you talk about the program.
- Frame campaigns as “take tedious work off your plate,” not “find efficiencies.” Candor depends on it.
- PII is redacted before analysis, but treat transcripts as sensitive (~UC P3): limit who has admin/fde access, use anonymize reports for sensitive units, and set an audio retention period rather than keeping recordings forever.
- Interviewing staff about their work is fine; deploying automations that change duties is a labor-relations event (HEERA) — loop in HR/LR before the FDE team ships changes.
Costs & capacity
- Voice: roughly $0.10–0.20 per minute → $3–7 for a 30-minute interview.
- Analysis: runs on UCSD's on-prem Triton AI modelsby default — transcripts stay on campus infrastructure and the marginal LLM cost is $0 (embeddings of redacted text cost fractions of a cent). On cloud models it's ≈$0.26 per interview, with a configurable hard $5 default ceiling.
- A 500-person campaign lands around $2–4k total. Actuals show up per-interview on the Analytics page.
- Concurrency: each live interview is one Vapi call (10 concurrent included; more is a per-line add-on). Staff interview on their own schedule, so bursts are rare in practice.
Troubleshooting
- Interview stuck in “processing” — background sweeps retry automatically every few minutes. If it lands in “failed,” the interview page shows the reason and a Re-run analysis button (commonly: a missing
ANTHROPIC_API_KEY/OPENAI_API_KEY). - Someone lost their link / it expired — use Remind or Copy link; both issue a fresh token.
- Half-finished interviews — paused interviews auto-finalize after 48 hours of inactivity: whatever was captured gets analyzed; empty ones close as abandoned.
- Wrongly merged or split processes — fix it on the dossier page (merge/split/rename); your decision sticks through all future re-clustering.
- No emails in local development — without
RESEND_API_KEY, admin sign-in links appear directly on the “check your email” page, and invite emails are replaced by Copy link. Real voice calls locally additionally need Vapi keys and a webhook tunnel (see the README). - Transcription mangles campus jargon— add the terms to the template's key-terms list and re-publish.