Odly
← All guides

Training pack

Onboard a new hire

Scenario drills + a week-1 plan + a trainer guide + a self-check quiz, run in a separate training workspace — a workspace is its own tenant, so nothing here touches the live one. This is the same pack as the printable training.html, companion to docs/howto/training/.
On this page
Trainer setup — once, before day 1

Run by the manager/admin who owns onboarding.

0

Create the training workspace

Public signup page — no in-app “create workspace” exists

Trainer
  1. Open the app's /signup page signed out (no invite token= in the link — that version accepts invitations). Fill workspace name, name, email, password — an address not already an Odly account (e.g. a training@ alias).
  2. You are now its org_admin. The workspace starts on the Free plan's 14-day trial: all features + managed AI, ~10 seats, 25 channels, ~1,000 messages. Run the cohort inside the trial — after it, Free caps bite: 2 seats (over-limit members get paused, not deleted — an admin chooses who stays), 1 channel (extras paused), 500 msgs/mo, no managed AI (BYO key), plan features (lead qualification, Jira sync, audit logs, SSO) off — and only 1 active department, so routing drills die too. A permanent training workspace needs a paid plan or a platform-team arrangement.
  3. Alternative: the platform team (global admin) can create one via the platform API — there's no console button for it.
  4. Connect a test mailbox: Settings → Integrations → Message Sources. Signup seeded all six departments but only Info starts active (the default/fallback) on a Free-plan signup — activate Support/Billing/etc. during the trial via the console or API, then link the source to the ones drills route between (Assign departments).
  5. Add one approved KB entry on your drill topic (feeds A1's suggestion).
  6. Run the before-day-1 checklists — trainee, trainer and admin — so nothing blocks day one.
  7. Invite the trainee: Users → Invite User → role Support - Manage tickets and messages → pick their departments → Send Invitation.
  8. Trainee accepts the email link — an existing Odly account works: same email → the invite adds a second membership (no duplicate account; refused only if no seat is free). With two memberships, the workspace switcher appears at the bottom of the sidebar — selection is per browser tab, and a banner names the workspace on Settings/admin screens.
What a trainer cannot force: AI classifications (KB suggestions, the Spam — to confirm pile, needs-routing marks, lead detection). Manual levers that always work: Mark as suspicious, Mark as lead, Resolve as spam, Not customer work, replies, merges, On-hold, short SLA thresholds. Each drill says which it needs and gives a fallback.
Reset between cohorts: there's no self-serve wipe (Settings → System cleanup is platform-admin only). Resolve/delete leftovers, reuse the workspace, or spin up a fresh one per cohort — each gets a fresh trial.
Week 1 — agent track
W

The five-day plan

Manager and admin tracks run 2–3 days on their own drills

Plan
  • Day 1 — quick start + cheat sheet + shadowing; drills A1–A3 (reply, note, resolve).
  • Day 2 — A4–A9 (reopen, Not customer work, spam piles, suspicious, routing, Needs Routing).
  • Day 3 — A10–A16 (tickets, merge, On-hold, SLA, leads, WhatsApp, handover).
  • Day 4 — live inbox supervised (switch via the workspace switcher — it's per-tab, so keep training open in a second tab). No pre-send approval exists: trainee drafts as an Internal note for review, or the trainer reviews sent replies on the thread.
  • Day 5 — quiz (≥16/20) + sign-off checklist; all green → invite them to the live workspace.
  • Manager track — agent Day 1–2 material + M1–M5 (M1–M2 day 1, M3–M5 day 2, optional day-3 shadowing). Admin track — AD1–AD6 inside the training workspace (AD1–AD2, AD3–AD4, AD5–AD6 across the days).
Day 0 — before they start: run the before-day-1 checklists (invite accepted + first sign-in done, departments active, test mailbox connected, admin prerequisites) so nothing on day one is blocked by setup.
Agent drills · role: support
A1

Answer with a KB suggestion

Seed: approved KB entry on the topic + an outside mail asking it — the suggestion is likely, never guaranteed. Fallback: any thread whose AI/KB tab shows one; otherwise run A2.

Agent
You need: role support · a trial or paid workspace (managed AI) or a BYO provider key (drill AD3) — a bare post-trial Free workspace has no AI, so this drill can't run there · the trainer has created the KB entry and sent the sample mail · start on Messages.
You'll see: the KB tab in the right panel offers a suggested answer with Use in reply — the same suggestion also sits inline in the thread as a dashed AI suggestion · N% card with Tap to insert into reply.
  1. Claim it — click Claim on its card, or open it and set Assigned to yourself in the header strip.
  2. Open the KB tab in the right panel and read the suggestion.
  3. Click Use in reply — it lands in the composer.
  4. Edit the wording if needed and check the composer is on Reply (not Internal note).
  5. Click SEND (or ⌘↵).
The KB tab — Use in reply, then SEND
① Use in reply on the KB tab (step 1) · ② SEND (step 2)
Done right when: the reply shows in the thread and the status chip reads Pending (awaiting the customer).
Common mistakes: sending the suggestion unedited; using Use it from the AI-draft panel expecting the same thing (that's the draft generator, not the KB suggestion); posting it as an internal note.
A2

No suggestion → answer, ask, save

Seed: any mail on a topic with no KB entry — reliable.

Agent
You need: role support · any plan state · the trainer has sent the sample mail · start on the thread.
  1. Switch the composer to Internal note and POST NOTE a question for a colleague (notes are team-only).
  2. Switch back to Reply, write the answer, SEND → the thread is now Pending, i.e. active.
  3. Click Resolve & save to KB so the answer feeds future suggestions. ⚠ That button only appears on an active thread — one the customer has written in (a seeded inbound mail counts). On a thread the customer never wrote in — unreviewed, e.g. an outbound-started one — the row offers only Resolve (there's no answer to capture), and the whole row is absent on filtered/spam/suspicious threads, resolved/closed ones, and threads already linked to a ticket. If it's absent: resolve normally with Resolve, then create the KB entry from the KB page.
The composer — INTERNAL NOTE, SEND, Resolve & save to KB
① INTERNAL NOTE → POST NOTE (step 1) · ② SEND then Resolve & save to KB (step 2)
Done right when: the note appears in the Notes tab, the status is Resolved, and a pending KB entry exists for a manager to approve (some entries get auto-approved — either outcome is correct).
Common mistakes: expecting the KB entry to be usable immediately — it needs review; posting the reply as a note; hunting for Resolve & save to KB on a thread that hasn't been answered yet (it isn't offered there).
A3

Customer replies → then Resolve

Seed: trainer replies again from outside ("thanks, one more thing…") — reliable; send it after the trainee finishes A1/A2's reply.

Agent
You need: role support · any plan state · A1/A2 finished and the trainer's follow-up mail sent · start on Messages.
  1. Find it in In Progress — the thread moves Pending → In Progress (customer replied last → your turn), and the card's dark spine shows a customer reply.
  2. Answer, SEND → back to Pending.
  3. When it's truly done, click Resolve.
The decision row — Resolve ends the thread
② Resolve when it's done (step 2) — the row's other exits are for different endings
Done right when: the card sits in the Resolved column.
Common mistakes: resolving while the customer still has an open question; thinking Pending means “parked” — it's “waiting on the customer”.
A4

Customer writes back after Resolved

Seed: one more outside reply on the resolved thread — reliable.

Agent
You need: role support · any plan state · A3 resolved and the trainer's re-open mail sent · start on Messages.
  1. Find it back in Open — the thread reopens to Open on its own: resolved/closed conversations reopen on a new customer reply, resolution timestamps are cleared, and the first-response SLA cycle starts again. Answer as normal.
  2. Resolve again when done.
Done right when: you can explain why it left Resolved and where it went.
Common mistakes: thinking resolved threads are final; a confirmed spam thread is the exception — it stays refused and never resurfaces.
A5

Newsletter → Not customer work

Seed: any newsletter/auto-mail — reliable.

Agent
You need: role support · any plan state · the trainer has sent the newsletter mail · start on the thread.
  1. Open it, confirm it's not customer work.
  2. Click Not customer work (the quiet exit beside Resolve).
The decision row — Not customer work
① Not customer work — the quiet exit beside Resolve
Done right when: the thread leaves the work board — it sits in the Resolved column under a muted Not customer work/Closed chip, counts as closed (not resolved) in statistics, and no SLA clock runs on it.
Common mistakes: using Resolve (claims someone answered it and inflates resolved stats) or Resolve as spam for legitimate mail.
A6

Spam: Resolve as spam + the confirm pile

Seed: obvious junk mail for resolve-as-spam (reliable); the “to confirm” half needs an AI-flagged item — use one already there or walk the controls on the Spam column without clicking.

Agent
You need: role support · any plan state · the trainer has sent the junk mail (and there's an item in the to-confirm pile, or you walk the controls) · start on Messages filtered to the Spam queue.
You'll see: the Spam board column; in list view, the Queue filter splits it into Spam — to confirm and Spam — confirmed.
  1. On the junk thread, click Resolve as spam → it moves to Spam (confirmed), not Resolved.
  2. Open list view, filter Queue → Spam — to confirm.
  3. On an unconfirmed item, choose Confirm — it is spam (real junk) or Approve — Move to Open (a false positive — returns it to the board).
A filtered spam thread — the confirm strip
② Confirm — it is spam — Approve — Move to Open beside it rescues a false positive (step 2)
Done right when: the trainee can say which half an item lands in and that confirmed spam never resurfaces or counts as resolved.
Common mistakes: approving real spam back to the board; using Resolve for junk.
A7

Suspicious mark — review, don't click

Seed: trainer marks a thread ⋯ → Mark as suspicious — the mark is a manual action too, so this always works.

Agent
You need: role support · any plan state · the trainer has applied Mark as suspicious to a thread · start on the thread or the bell's Suspicious row.
You'll see: a Suspicious badge on the card (amber) and the Suspicious row in the notification bell; in list view, Queue → Suspicious shows the lens.
  1. Open it via the bell's Suspicious row or the Queue filter.
  2. Don't click links or open unexpected attachments — read, judge.
  3. Decide: Not Spam — Approve (safe — optionally teaches the filter via the two toggles), or leave/escalate it (e.g. Resolve & move to spam if it's really junk). Phishing/scam flags relabel the approve button Not a Threat — Approve.
A suspicious thread — the review strip
② Not Spam — Approve for a safe thread — phishing/scam flags label it Not a Threat — Approve; Resolve & move to spam handles junk (step 2)
Done right when: the mark is resolved deliberately, and the trainee can say suspicious is a mark on a thread, not a separate inbox.
Common mistakes: clicking links inside the suspicious body; treating the badge as “already handled”.
A8

Wrong department → Dept + Create rule

Seed: mail meant for another dept; the trainee must be a member of the target dept — agents can only route to depts they belong to.

Agent
You need: role support with membership in the target department · ≥2 departments active and linked to the source — a fresh workspace starts with only Info active (Free-plan seeding), activate the rest during the trial; on post-trial Free the budget is 1 active department, so this drill can't run then · the trainer has sent the off-department mail · start on the thread.
  1. Click the Dept value in the header meta strip (tooltip: “Click to change department”).
  2. Pick the right department; optionally turn on Create rule so the engine learns the correction.
  3. Confirm — the thread moves dept.
The Dept control — pick the department, optionally Create rule
① Create rule — the toggle teaches the engine the correction
Done right when: the thread shows the new Dept value, and the trainee knows Create rule mints a learned rule (written rules are a manager/admin Settings job).
Common mistakes: routing to a dept you're not a member of (refused); expecting the same-dept re-pick to do anything without Create rule on.
A9

Route from Needs Routing

Seed: can't be forced — use a marked thread if the queue is non-empty, else run the same skill on any thread via the Dept select (A8) and explain the difference.

Agent
You need: role support · needs-routing marks come from the AI router → trial/paid managed AI or a BYO key; ≥2 active departments like A8 (fresh workspaces start with only Info active) · manual routing itself works on every plan · start on Needs Routing.
  1. Open Needs Routing in the Work nav — the nav item only appears when the queue is non-empty.
  2. Read the thread, pick its department in the row's Select department… picker, and route it.
Needs Routing — pick a department, then Route
the Needs Routing queue — pick a department per row, then Route
Done right when: the thread leaves the Needs Routing queue and lands in Open under its new department.
Common mistakes: guessing departments; forgetting these are ordinary threads with a mark — they still sit in a work column, not a hidden pile.
A10

Needs engineering → Create ticket

Seed: a bug-report mail — reliable; Push to Jira / Sync to Jira only if Jira is connected (a Pro+ feature, on during the trial — skip it otherwise).

Agent
You need: role support · tickets work on every plan incl. Free; the Push to Jira/Sync to Jira part needs Jira connected — a Pro+ feature (on during the trial, off on Free) · the trainer has sent the bug-report mail · start on the thread.
  1. Open ⋯ More actions → Create ticket (it reads Create lead ticket on a lead thread).
  2. Fill the form — Title, Description, Priority, Assignee; if Jira is connected, tick Sync to Jira.
  3. Save — the ticket chips appear on the thread; a linked Jira ticket syncs comments roughly once a minute.
The ⋯ menu — Create ticket
① Create ticket in the ⋯ menu (step 1)
The Create Ticket form
② the form — Title, Description, Priority… Create ticket saves it (step 2)
Done right when: a ticket exists linked to the thread (filter Linked → Has Ticket finds it).
Common mistakes: looking for the ticket button in the action strip — it's in the ⋯ menu; the separate Push to Jira on an existing ticket is per-ticket (agents may push), while the Tickets page's bulk Sync to Jira is admin-only.
A11

Duplicate threads → merge

Seed: two mails from the same outside address — reliable (merge needs same-channel conversations; up to 20).

Agent
You need: role support · any plan state · the trainer has sent the two duplicate mails from one address · start on the thread that should survive.
  1. Open the thread to keep → ⋯ More actions → Merge with another thread….
  2. In the dialog, search by “Thread number, address or subject”.
  3. Confirm — the merged thread shows the “Same conversation” section with Unmerge if needed.
Merge with another thread — search and fold in
① the merge dialog — search the thread to fold in, then confirm
Done right when: one thread carries both histories.
Common mistakes: merging unrelated threads; forgetting unmerge exists.
A12

On-hold and back

Seed: any open thread + a later customer reply — reliable.

Agent
You need: role support · any plan state · an open thread + the trainer's release mail · start on the thread.
You'll see: the status control in the header offers On-hold and Resolved (Open/In Progress/Pending are derived, not settable).
  1. Set the status to On-hold → the card parks (amber badge).
  2. To return it manually, set it back to Open.
  3. Watch the customer's reply clear the park automatically → In Progress.
The status dropdown — On-hold
① On-hold — set it back to Open to release the thread manually (step 2)
Done right when: the trainee can say On-hold is a parked overlay, and a customer reply always releases it.
Common mistakes: parking instead of replying; expecting Pending items to be in the On-hold column.
A13

SLA at risk / breached

Seed: admin sets a 5-min first-response target (Settings → Workspace → SLA Thresholds), send a mail, wait — the flag goes At risk past 80% of target, Breached past it; restore the real target after.

Agent
You need: role support · any plan state · the admin has set the short first-response target and the trainer's mail has aged past 80% / past it · start on Messages or the SLA page.
You'll see: the SLA badge on the card — amber At risk, red Breached; no clock runs on resolved/closed/spam threads. The SLA page lists every at-risk and breached thread.
  1. Find the thread via the SLA flags/sort on the board.
  2. Answer it first — SLA risk means answer before older but safe threads.
The SLA page — the Recent SLA Breaches list
① the Recent SLA Breaches list — each row's red +Nm is the overrun; the same threads carry amber At risk / red Breached badges in the inbox
Done right when: the trainee reads the badge correctly and reprioritizes.
Common mistakes: thinking a resolved thread can still breach — finished is a recorded result, not a live clock.
A14

Hot lead

Seed: buying-intent mail + trainer ⋯ → Mark as lead (AI lead detection itself is a plan feature; the manual mark works regardless).

Agent
You need: role support · Mark as lead works on every plan — it's a manual action; only AI lead detection and the Lead tab's qualification fields are a plan feature (trial/paid, off on bare Free) · the trainer has sent the buying-intent mail · start on the thread.
You'll see: the Lead state, a conditional Lead tab on the thread, and the ⋯ menu offering Unmark as lead / Not a lead — close.
  1. Review the Lead tab's captured fields.
  2. ⋯ More actions → Create lead ticket.
  3. Reply fast; reassign to sales via Assigned if needed.
The ⋯ menu on a lead — Create lead ticket
① Create lead ticket — ⋯ also offers Unmark as lead / Not a lead — close
Done right when: a lead ticket tracks the thread (filter AI State → Lead).
Common mistakes: resolving a live lead instead of ticketing it.
A15

WhatsApp outside 24h

Only if WhatsApp is connected in the training workspace — needs a real WhatsApp thread quiet >24h; skip otherwise (not part of a minimal training setup).

Agent
You need: role support · a WhatsApp source connected · a WhatsApp thread older than 24h · start on the thread.
You'll see: where a reply would go, the app offers the template dialog “Continue with an approved template” — outside the window, an approved template is the only sendable message.
  1. Open the WhatsApp thread, start a reply.
  2. Pick an approved template, fill its parameters, send.
Done right when: the trainee knows free-form WhatsApp only works within 24h of the customer's last message.
Common mistakes: promising an instant reply on an old WhatsApp thread.
A16

End-of-shift handover

Seed: any active thread + a colleague (the trainer) to take it — reliable.

Agent
You need: role support · any plan state · an active thread + the trainer online to receive it · start on the thread.
  1. Write an Internal note summarizing where it stands → POST NOTE.
  2. Change Assigned in the header meta strip to the next agent — the customer sees nothing.
The composer in INTERNAL NOTE mode
① INTERNAL NOTE — POST NOTE is team-only (step 1); step 2's Assigned sits in the header
Done right when: the thread is owned by the colleague with a note explaining context — no customer-visible change.
Common mistakes: reassigning without a note (context dies); resolving instead of handing over.
Manager drills · role: moderator
M1

Rebalance workload

Seed: 3–4 mails, all assigned to one member — reliable (assignment is a normal action).

Manager
You need: role moderator · any plan state · the trainer has seeded 3–4 mails all assigned to one member · start on Statistics.
You'll see: Statistics → Team Performance lists each member with an Open backlog column (plus first-response and resolution stats).
  1. Open Statistics → Team Performance and read the Open backlog column.
  2. Open a heavy agent's threads, pick one, and change Assigned in the header meta strip to the idle agent — with an internal note for context.
Statistics → Team Performance
① Team Performance → the Open backlog column (step 1)
Done right when: the backlog column reflects the move and the trainee knows the board also filters by Assignee.
Common mistakes: reassigning without an internal note; counting on auto-assignment — distribution rules are an admin setting.
M2

Approve / reject KB entries

Seed: the agent trainee runs A2 (Resolve & save to KB) once or twice → pending entries appear (some may auto-approve — a couple of captures usually leaves one pending).

Manager
You need: role moderator · any plan state · pending entries exist · start on Knowledge Base.
You'll see: the Knowledge Base page with status filters — All · Approved · Pending · Rejected · Hidden.
  1. Open Knowledge Base, filter to Pending.
  2. Read an entry; click Approve if it's good, Reject if not (rejected entries delete after 90 days).
Knowledge Base filtered to Pending
① the Pending filter (step 1) · ② Approve on an entry (step 2)
Done right when: no pending entries remain and the trainee can say who can approve — moderator/org_admin (MANAGE_KNOWLEDGE_BASE), not support.
Common mistakes: approving without reading; assuming agent captures go live instantly.
M3

Needs Routing + Engine Activity

Seed: can't be forced — use whatever is in the queue, or walk the page even when empty; if no suggestions yet, review the recent auto-actions.

Manager
You need: role moderator · needs-routing marks and engine suggestions are AI output → trial/paid managed AI or a BYO key; ≥2 active departments (fresh workspaces start with only Info active — activate more during the trial). On bare post-trial Free, run the manual routing part and review Engine Activity's recent auto-actions · start on Needs Routing.
You'll see: the Needs Routing page (nav item only when non-empty) and Settings → AI → Engine Activity — pending suggestions plus recent auto-actions; visible to moderators for the domains they manage.
  1. Open Needs Routing, route or re-check the listed threads.
  2. Open Settings → AI → Engine Activity, review pending suggestions — Accept or Decline each.
Settings → AI → Engine Activity — the suggestion queue
The Engine Activity page — pending suggestions and recent auto-actions appear here (step 2's screen)
Done right when: the trainee can explain that a manual route teaches the engine only when Create rule was on, and that Engine Activity is where suggestions are judged.
Common mistakes: declining suggestions without reading the evidence; assuming Engine Activity is admin-only.
M4

Review SLA breaches

Seed: if nothing has breached, an admin sets a short target (Settings → Workspace → SLA Thresholds) and lets one training mail breach — or use history.

Manager
You need: role moderator · any plan state · an admin has set a short target and let a mail breach (or existing breaches) · start on Statistics or the SLA page.
You'll see: Statistics (Overview / SLA) with at-risk and breached counts; breached threads carry the red Breached badge.
  1. Open Statistics, find the SLA numbers for the period.
  2. Filter the inbox to breached/at-risk threads and read one end to end.
The SLA page — the breach list
① the Recent SLA Breaches list (the SLA page — step 2's screen); the period numbers live under Statistics (step 1)
Done right when: the trainee can name who edits thresholds (admins — SLA Thresholds is an admin-only settings section) and what is vs isn't clocked (no clock on resolved, closed, or spam threads).
Common mistakes: thinking managers can change SLA targets — they review, admins configure.
M5

Create and apply labels

Seed: none needed — labels are creatable on demand by moderator+.

Manager
You need: role moderator (labels need MANAGE_LABELS — support can't do this drill) · any plan state · no setup · start on Settings → Workspace → Labels.
  1. In Settings → Workspace → Labels, create a label (name + color).
  2. Open a conversation and apply it via the header's label picker.
  3. Filter the board by that label.
Settings → Workspace → Labels
① New Label (step 1)
Done right when: the label exists, is applied, and filters the board — and the trainee knows agents can't do this (applying/creating needs MANAGE_LABELS).
Common mistakes: creating duplicates of existing labels; expecting agents to self-serve labels.
Admin drills · role: org_admin
AD1

Invite a user with the right role

Seed: a spare email address for the invitee.

Admin
You need: role org_admin · a workspace within its seat limit (post-trial Free allows 2 users — the invite is refused past it) · a spare email address · start on Users.
  1. Open Users → Invite User.
  2. Enter the email, set Role to Support - Manage tickets and messages.
  3. Pick their Departments, click Send Invitation.
The Invite User dialog — Role is the pick that matters
① the Invite User dialog — Email Address · Role (shown; org_admin is Platform-Admin-only) · Departments → Send Invitation
Done right when: the invite is sent; the trainee can name all four roles — associate (read-only), support, moderator, org_admin (the dialog offers it only to Platform Admins — the note reads “Org admins cannot invite other org admins”).
Common mistakes: inviting with too much power; forgetting departments — an agent sees/routes only within their own departments.
AD2

Connect a mailbox source + departments

Seed: credentials for a test mailbox (a Gmail account for the OAuth source, or IMAP details).

Admin
You need: role org_admin · a plan within its channel limit (trial allows plenty; Free allows 1) · credentials for a test mailbox · start on Settings → Integrations → Message Sources.
  1. Open Settings → Integrations → Message Sources, add/connect the source, run its Test.
  2. Assign the source to a department so inbound mail routes there.
  3. Send a mail and confirm it lands in the inbox.
Message Sources — Add Email
① Add Email — Telegram / Slack / WhatsApp cards sit beside it
Done right when: the test mail appears as a conversation under the linked department.
Common mistakes: connecting without linking a department (mail may sit unrouted); mixing this up with an outbound sender address.
AD3

Configure an AI provider

Seed: an API key for a provider — needed on Free; during the 14-day trial managed AI is already on, so explain that difference first.

Admin
You need: role org_admin · needed on Free (the trial already has managed AI) · an API key for a provider · start on Settings → Integrations → AI Providers.
  1. Open Settings → Integrations → AI Providers.
  2. Add the provider's key and save.
AI Providers — Bring your own keys
① Bring your own keys — paste the provider's key on its card
Done right when: a provider is configured (needed for AI suggestions, Check contradiction, etc.).
Common mistakes: expecting managed AI to persist after the trial ends on Free — it doesn't; Free means bring-your-own key.
AD4

Write a routing rule and test it

Seed: two active departments + a planned keyword (e.g. “invoice” → Billing).

Admin
You need: role org_admin · ≥2 active departments · a planned keyword · start on Settings → Rules.
You'll see: the Settings → Rules tab — rules match on fields like subject/body/sender, carry a score, and route to a department.
  1. Open Settings → Rules and add a rule (field, Value, department, score).
  2. Send a mail containing the keyword; watch it land routed.
  3. Check Engine Activity to see the engine's own suggestions vs your rule.
Routing Rules — Add Rule
① Add Rule — the Auto-learned tab lists the engine's own rules
Done right when: the matching mail routes correctly and the trainee can distinguish written rules from engine-learned ones (Learned badge).
Common mistakes: scores too weak to ever fire; forgetting agents' inline Create rule routes mint learned rules, not these.
AD5

Security — require 2FA

Seed: none.

Admin
You need: role org_admin · any plan state · no setup · start on Settings → Workspace → Authentication.
  1. Enable Require two-factor authentication and Save changes.
  2. Explain: users without 2FA are prompted to set it up at next login.
Authentication — Require two-factor authentication
① Require two-factor authentication, then Save changes
Done right when: the toggle is saved on. Note: SSO controls (incl. Require SSO — no password sign-in) are an Enterprise plan feature and apply to IdP-managed members — out of scope on a free/trial training workspace.
Common mistakes: promising SSO enforcement where the plan/IdP isn't there.
AD6

Find an action in Audit Logs

Seed: perform a couple of auditable actions first (invite a user, edit a routing rule); audit logs are an Enterprise feature — on during the trial, off on Free (if the trial has ended, run this earlier or on a workspace with the feature).

Admin
You need: role org_admin (or moderator — VIEW_AUDIT_LOGS) · audit logs are an Enterprise plan feature · the trainer has performed a couple of auditable actions · start on Audit Logs.
You'll see: Audit Logs in the nav (org-admin and moderators — VIEW_AUDIT_LOGS; global admins use the platform console instead).
  1. Open Audit Logs.
  2. Filter/search for the action you just made (who, what, when).
Audit Logs — who did what, when
the Audit Logs view — filtered results list actor, action, entity and timestamp per row
Done right when: the trainee finds the entry with actor, action, timestamp.
Common mistakes: looking on Free without a trial; expecting agent actions to be hidden — admin actions are audited.
Sign-off checklist
✓

Ready for the live workspace when the trainee can, unaided

Tick each, then move them over — invite to live, deactivate in training

  • Claim, reply with/without a suggestion, and send.
  • Read the board — five statuses, triage columns, thread marks.
  • Use Internal note / POST NOTE vs SEND correctly.
  • Pick the right exit: Resolve · Resolve & save to KB · Not customer work · Resolve as spam.
  • Reassign with a note; park and release On-hold.
  • Create a ticket from ⋯ More actions.
  • Say what a customer reply does to Pending, On-hold, Resolved.
  • Pass the quiz: ≥ 16/20.
Moving them over: in the live workspace an org_admin invites them (same email → the invite adds a second membership); confirm they can switch via the sidebar workspace switcher; in the training workspace deactivate their user (Users → edit/deactivate); then leave or reset the training workspace per the reset options above.
Self-check quiz · 20 questions

Answer before opening — out loud or in writing. Q16–Q20 are for manager/admin tracks; agent trainees answer Q1–Q15. Target: ≥ 16/20.

Self-check quiz

Twenty “what would you do?” questions for the last day of onboarding.

?1 · The KB tab shows a suggestion for this question — which button uses it?
Use in reply, then SEND (⌘↵) → status Pending. The same suggestion can also appear inline in the thread as an “AI suggestion · N%” card — its Tap to insert into reply does the same job. (Use it is the AI-draft panel, a different thing.)
?2 · You sent the reply — which status and what does it mean?
Pending — you replied last, ball is with the customer. Not On-hold; that's a parked state you set.
?3 · The customer replies — what happens?
Pending → In Progress. A customer reply always means your turn; the dark spine marks it.
?4 · A newsletter arrived — which exit and why?
Not customer work — closes without claiming an answer; muted Closed chip, counts as closed, no SLA. Never Resolve or spam it.
?5 · Obvious junk — which action, where does it land?
Resolve as spam → confirmed spam in the Spam pile, never Resolved, never resurfaces.
?6 · A suspicious-flagged thread — first move, and what never?
Review without clicking links; then Not a Threat — Approve or escalate. Never click through a suspicious body.
?7 · Thread is in the wrong department — where's the control, what's the catch?
The Dept value in the header strip (+ optional Create rule). Catch: you can only route to a department you belong to.
?8 · Where do unplaceable conversations go and who routes them?
The needs-routing mark → Needs Routing page (nav item only when non-empty). Anyone routes to a dept they belong to; routing teaches the engine only when Create rule is on.
?9 · Engineering bug — where's the ticket button?
⋯ More actions → Create ticket (Create lead ticket on a lead). Not the action strip.
?10 · Same customer, two threads?
⋯ → Merge with another thread… → search → confirm. Same channel, ≤20; Unmerge exists.
?11 · Blocked waiting on a colleague — which status?
On-hold via the header status control; a customer reply releases it automatically — or set it back to Open by hand.
?12 · Amber “At risk” badge then red — meaning? When does the clock stop?
Amber >80% of target, red Breached past it — answer those first. Resolved/closed keep a recorded result; spam has no SLA.
?13 · Resolved thread gets a new customer reply — who reopens it?
Nobody — it reopens to Open itself (resolved and closed both, restarting the first-response SLA). Confirmed spam never resurfaces.
?14 · End of shift, thread half-done — two actions?
Internal note → POST NOTE, then Assigned → the colleague. Nothing customer-visible.
?15 · WhatsApp thread quiet 30 hours — can you just reply?
No — outside 24h only approved templates send (“Continue with an approved template”).
?16 · (manager) One agent's backlog is double — where do you check?
Statistics → Team Performance → Open backlog; reassign via Assigned + note.
?17 · (manager) An agent saved to KB — is it live? Who decides?
Pending review until a moderator/org_admin approves on Knowledge Base → Pending (some auto-approve).
?18 · (manager) Where do you review engine proposals?
Settings → AI → Engine Activity — pending suggestions + recent auto-actions; open to moderators for the domains they manage.
?19 · (admin) Second workspace for training — where, what cost?
Public /signup page (no token — there's no in-app “create workspace”; creation via the API is a global-admin/platform-team action). Free 14-day trial, then Free caps — no charge unless you put it on a paid plan.
?20 · (admin) Force 2FA for everyone — where, and the plan catch?
Settings → Workspace → Authentication → Require two-factor authentication. SSO enforcement + audit logs are Enterprise features.

Scoring: 18–20 ready · 14–17 review the weak chapters and retry the missed questions · <14 rerun the corresponding drills with the trainer.

Companion to docs/howto/training/ (trainer guide, week plan, drill cards), the staff handbook and the printable pack. Checked against the app: v1.1.294 · 2026-10-07.