Training Operations Playbook
📋 Overview
This playbook governs every client touchpoint from signup to alumni follow-up. It applies to both Individual/Public (Thursday classes) and Corporate/Private trainings. Where flows diverge, sections are clearly marked.
When a training is booked, assign: (1) Training Lead — runs the class, (2) Client Contact — handles all communication. All emails and follow-ups come from the assigned contact. Clients should always be talking to a named person, not a generic team address.
Tags are labels that track where each client is in the process. They let us see at a glance who needs attention, who's ready, and who's at risk. When we automate this, tags will trigger the next action automatically — for example, when a client gets the tag setup-complete, the system stops sending setup reminders and queues the class-day email. Right now we set tags manually — they tell us what to do next so nothing falls through the cracks. See Appendix A for the full tag list.
Before Class
Signup Trigger
Trigger: Client completes signup form + payment
flowchart TD
A([Client Completes Signup + Payment ✓]):::startNode --> B[Welcome Email Sent Immediately]:::processNode
B --> C[Added to Class Roster]:::processNode
C --> D[Team Notification Sent]:::processNode
D --> E[Setup Instructions Email — 30 min later]:::processNode
E --> F([✅ Client Onboarded — No Human Touchpoint]):::readyNode
classDef startNode fill:#7A2E0E,stroke:#5C2109,color:#fff,stroke-width:2px,font-weight:bold
classDef processNode fill:#F5F0E6,stroke:#7A2E0E,color:#0C0C0B,stroke-width:1.5px
classDef readyNode fill:#ECFDF3,stroke:#027A48,color:#027A48,stroke-width:2px,font-weight:bold
Corporate has two completely different flows depending on where they are in the process.
📋 Track A — Inquiry (Hasn't paid yet)
flowchart TD
A([Corporate Inquiry Received]):::startNode --> B[Send Corporate Intake Form]:::processNode
B --> C[Schedule Discovery Call]:::processNode
C --> D[Prepare Custom Quote / Proposal]:::processNode
D --> E{NDA Required?}:::decisionNode
E -->|YES| F[Send NDA for Signature]:::processNode
E -->|NO| G[Agree on Training Date]:::processNode
F --> G
G --> H[Send Invoice / Deposit Request]:::processNode
H --> I{Deposit Received?}:::decisionNode
I -->|YES| J[Training Added to Notion]:::processNode
I -->|NO| K[Follow Up on Deposit]:::followNode
K --> I
J --> L[Auto-syncs to Dashboard — 15 min]:::processNode
L --> M([✅ CLASS BOOKED — Enter Track B]):::readyNode
classDef startNode fill:#7A2E0E,stroke:#5C2109,color:#fff,stroke-width:2px,font-weight:bold
classDef processNode fill:#F5F0E6,stroke:#7A2E0E,color:#0C0C0B,stroke-width:1.5px
classDef decisionNode fill:#DBBFB1,stroke:#C46B4A,color:#0C0C0B,stroke-width:2px,font-weight:bold
classDef readyNode fill:#ECFDF3,stroke:#027A48,color:#027A48,stroke-width:2px,font-weight:bold
classDef followNode fill:#FFF4ED,stroke:#C46B4A,color:#C46B4A,stroke-width:1.5px,font-weight:600
💳 Track B — Paid Client (Payment received)
flowchart TD
A([Payment Confirmed ✓]):::startNode --> B[Send Corporate Welcome Email]:::processNode
B --> C[Send Setup Instructions to All Attendees]:::processNode
C --> D[Standard Onboarding Steps — Sections 1.2 to 1.6]:::processNode
D --> E([Continue to Corporate Gate — Section 1.7]):::readyNode
classDef startNode fill:#7A2E0E,stroke:#5C2109,color:#fff,stroke-width:2px,font-weight:bold
classDef processNode fill:#F5F0E6,stroke:#7A2E0E,color:#0C0C0B,stroke-width:1.5px
classDef readyNode fill:#ECFDF3,stroke:#027A48,color:#027A48,stroke-width:2px,font-weight:bold
Automation Flow — Notion → Dashboard
Every 15 minutes, the Caravan engine polls Notion and syncs trainings automatically to the admin dashboard. Notion is the single source of truth for training creation — no manual dashboard entry needed.
When a training is added or updated in Notion, it automatically appears on the admin dashboard within 15 minutes. Payment status is tracked automatically based on Notion status:
- Open / Tentative / Unbooked → Unpaid
- First Invoice / Second Invoice → ⏳ Pending
- Booked / Done → 💰 Paid
No manual dashboard entry needed — Notion is the single source of truth for training creation.
flowchart TD
subgraph Notion ["📋 Notion — Source of Truth"]
N1([Training Created in Notion]):::startNode
N2[Company, Date, Trainer, Status]:::processNode
end
subgraph Sync ["🔄 Auto-Sync — Every 15 min"]
S1[Engine Polls Notion API]:::processNode
S2[Creates / Updates Training in DB]:::processNode
S3[Maps Payment Status]:::processNode
end
subgraph Dashboard ["📊 Admin Dashboard"]
D1[Training Appears with Status Badge]:::processNode
D2{Ready to Launch?}:::decisionNode
end
subgraph Activation ["🚀 Training Activation"]
A1[Admin Clicks Launch]:::processNode
A2[Roster Email Sent to Contact]:::processNode
A3[Contact Adds Attendees]:::processNode
A4[Email Sequence Fires]:::readyNode
end
N1 --> N2 --> S1 --> S2 --> S3 --> D1 --> D2
D2 -->|YES| A1 --> A2 --> A3 --> A4
D2 -->|NO| D1
classDef startNode fill:#7A2E0E,stroke:#5C2109,color:#fff,stroke-width:2px,font-weight:bold
classDef processNode fill:#F5F0E6,stroke:#7A2E0E,color:#0C0C0B,stroke-width:1.5px
classDef decisionNode fill:#DBBFB1,stroke:#C46B4A,color:#0C0C0B,stroke-width:2px,font-weight:bold
classDef readyNode fill:#ECFDF3,stroke:#027A48,color:#027A48,stroke-width:2px,font-weight:bold
classDef followNode fill:#FFF4ED,stroke:#C46B4A,color:#C46B4A,stroke-width:1.5px,font-weight:600
Welcome Email
Sent immediately after signup — from the [Assigned Contact]