Voice coaching plans: author, track, and close with measured impact
A coaching plan is a multi-week improvement program for one agent: a goal, a target date, coaching sessions linked to it, a close-out judgement, and a measured before/after read on the agent’s metrics. The workspace lives at Voice → Coaching Plans. Individual coaching notes on a call’s detail page continue to capture the moment — the plan rolls those sessions into one tracked cycle with a verdict on whether the agent’s numbers moved.1. The plan lifecycle
Every plan moves through the same arc:- Author — a supervisor (or an auto-coaching trigger) opens the plan against an agent with a goal statement and an optional target date. The plan starts as
active. - Mid-period — the plan is editable while active. Link per-call coaching notes to it, revise the goal or target date, and check in-flight progress on the metrics at any time.
- Close with outcome — the plan ends with a terminal status (
completedorcancelled) and your outcome judgement (met,partial, ormissed). The close is permanent: a closed plan cannot be edited or re-closed to a different status.
qa_score or csat) and a system owner, and they behave exactly like supervisor-authored plans once open. See the auto-coaching thresholds in Build a contact-center QA program.
2. Author a plan
Open Voice → Coaching Plans and click New plan, or post to the API:agent_user_id— the agent the plan addresses (required).goal— the improvement statement, up to 2,000 characters. Write it against the metric the effectiveness report measures (AHT, first-contact resolution, or CSAT where available) so the close-out is decidable on data, not impressions.due_at— optional target date (ISO 8601). A short dated window keeps the cadence of coaching sessions bounded; omit it for an open-ended plan you close manually once the goal lands.
201) as active with you as the owner. During the mid-period you can revise the goal, target date, or addressed agent — PUT /voice/coaching-plans/{id} accepts any subset of those fields. Editing a closed plan returns 409 PLAN_CLOSED.
Screenshot placeholder — the New plan composer at Voice → Coaching Plans, showing the agent selector, goal field, and target-date input. Capture against a tenant with at least one active plan so the list below the composer is visible.
3. Track the mid-period
The workspace lists active plans first, then closed ones, ordered by target date. Filter by agent, owner, or status from the dashboard, or over the API:GET /voice/coaching-plans/{id} reads one plan with its current status and outcome fields.
4. Close with an outcome
When the cycle ends, close the plan from the Close dialog in the workspace, or post:status—completed(default) orcancelled.outcome—met,partial, ormissed. Required at close; it records your judgement, and it stays a judgement by design.outcome_notes— optional narrative, up to 2,000 characters.
200 instead of an error, so an accidental double-click is safe. Trying to re-close it differently returns 409 PLAN_ALREADY_CLOSED.
5. Read the before/after KPI report
Your outcome call is subjective. The effectiveness report is the objective complement — it compares the agent’s real metrics from a window before the plan against a window after it:improved, regressed, flat, or insufficient_data):
- Average handle time (
aht_seconds) — talk-only duration per completed call. Lower is better. - First-contact resolution (
fcr_pct) — share of completed calls where the same caller did not call back within the follow-up window (default 24 hours). Higher is better. - CSAT (
avg_csat) — mean 1–5 score from post-call surveys. Higher is better.
window_days long each (default 14, up to 90):
- The before window is the span immediately preceding the plan’s creation, so coaching-in-progress calls never pollute the baseline.
- The after window anchors on the close date for a closed plan. For a still-active plan it anchors on creation and reports in-flight progress, flagged as
in_progressin the response.
insufficient_data rather than a misleading zero delta. Check the report before you close: a plan you are tempted to extend may already show the improvement, and a plan you marked met that still shows regressed handle time deserves a second look.
Screenshot placeholder — the Coaching effectiveness panel on a plan in Voice → Coaching Plans, showing the before/after values and direction for AHT, FCR, and CSAT. Use a closed plan so the report reads as a post-completion measurement.
Templates, or an ad-hoc plan?
Every plan has the same shape — an agent, a goal, a target date — but the phrasing of the goal varies. The curated template library at Voice → Coaching Templates holds vetted coaching phrases that supervisors reuse across shifts, so floor coaching stays on-brand. Reach for it when the gap recurs (“de-escalate angry caller”, “ask a discovery question”); write an ad-hoc goal statement when the plan targets a specific metric move. Templates standardize the wording; they never substitute for the plan itself.Pair plans with QA and coaching notes
The close-out works best when the cycle runs on evidence:- QA scorecards — a low evaluation score can auto-assign the plan in the first place, and re-scoring the agent during the cycle tells you whether the behaviors changed.
- Coaching notes — link every session note to the plan so the cycle reads as one program, not scattered comments.
- Effectiveness report — let AHT / FCR / CSAT arbitrate the outcome at close instead of impressions.
Who sees and edits plans
Owners, admins, and supervisors can create, edit, close, and read any plan. An agent sees only the plans addressed to them — and their own effectiveness report. Attempting to read another agent’s plan returns403.
See also
- Build a contact-center QA program — the auto-coaching thresholds that assign plans without a supervisor
- Supervisor coaching: plans, templates, and effectiveness reporting — the template library and the full coaching workspace in one guide
- Agent assist: whisper coaching — in-call guidance the template library also serves
- Error codes — the
409state-conflict and403role shapes this surface returns