Approval workflows
Wisteria separates authoring from approval. Trainers write courses; content managers (or other approvers) review them. Workflows are the rules that decide who reviews what, in what order.
The big idea: tags drive routing
A course is tagged when it’s created. Workflows are configured to trigger on specific tags. When a course tagged safety is submitted, the Safety workflow fires. When a course tagged customer-service is submitted, the Customer Service workflow fires.
This means workflow choice isn’t decided by the trainer at submission time — it’s decided by which tag the course already carries. The trainer can’t sidestep the appropriate review chain by picking a more lenient workflow.
A course without a tag can’t be submitted. That’s by design: if no workflow applies, there’s no approver chain to send the course down.
Templates
Wisteria ships three workflow templates. Super admins can use them as-is, customise them, or duplicate them as a starting point for new workflows.
Single Approver
A single content_manager reviews. One step, one decision.
| Step | Role | Action |
|---|---|---|
| 1 | content_manager | Approve or reject |
Use for: low-stakes content, internal-facing training, courses where one set of eyes is enough.
Peer Review
Two content_managers review in sequence. Each must approve for the course to proceed.
| Step | Role | Action |
|---|---|---|
| 1 | content_manager | First review |
| 2 | content_manager | Second review |
Use for: medium-stakes content, where a second pair of eyes catches what the first misses. The two reviewers must be different people.
Compliance Triple Sign-off
Three steps with role variety — a peer review, a compliance check, and a super_admin sign-off.
| Step | Role | Action |
|---|---|---|
| 1 | content_manager | Editorial review |
| 2 | auditor | Compliance review |
| 3 | super_admin | Final sign-off |
Use for: regulated training, courses that map to legal or compliance obligations, anything where audit traceability matters.
Multi-tag courses
If a course has multiple tags and multiple workflows match, the strictest workflow wins — defined as the one with the most steps. A course tagged both safety (single approver) and compliance (triple sign-off) routes through the triple sign-off.
This is the safe default. The trainer doesn’t pick; the rule picks.
Custom workflows
At Approvals → Workflow → + Create from scratch, super admins can build any workflow. The builder is a Zapier-style step chain:
- Trigger card — pick the tag(s) that activate the workflow. Multi-select chips.
- Step card — one per step. Each step has:
- Role — content_manager, trainer, auditor, super_admin
- Department — restrict to a specific department, or any
- Action label — pick from seven common review types (Editorial review, Compliance review, etc.) or Custom
- Parallel with previous step — optional checkbox; both steps’ approvers act simultaneously rather than sequentially
Save the workflow and it’s live for any course tagged with one of its triggers.
The rejection-and-resubmit cycle
When a step’s approver rejects, the course goes back to the trainer as draft. The trainer addresses the feedback in the Queries tab, writes a reply, and clicks Send & Resubmit. The course re-enters the workflow at step 1 — the whole chain runs fresh.
This is intentional: a fix in step 1 might affect what step 2 needs to see. Restarting the chain ensures every reviewer reads the final version.
Trainer can’t approve their own work
A trainer who is also listed as an approver in some workflow can’t approve a course they themselves authored. The system prevents self-approval at every step.
Notifications
Each step’s approver gets notified by email and (optionally) Slack when a course lands in their queue. The trainer gets a per-step notification when their course is approved or rejected at any step — they don’t have to wait for the whole chain to finish to know how it’s going.
Approval reminders fire on a 4-hour cadence: gentle at 4–8h, repeat at 24–28h, escalation at 48–52h. Reminders stop automatically when the step is acted on.
The “no tag = no submit” rule, again
Worth repeating: a course without any tags cannot be submitted for approval. The submit button is disabled with an inline hint pointing the trainer to add a tag first.
This is the single most common point of confusion for new trainers. We chose to enforce it (rather than route untagged courses through a default workflow) because untagged courses tend to be the ones reviewers most want to know the lineage of.