Comms Cockpit
The Comms Cockpit is the single control surface for everything your business sends via email. It combines two distinct editors in one page:- Email Template editor — build and edit the email bodies (subject, body, variable tokens, links) that the workflow engine sends
- Workflow Step editor — wire each template to a trigger event with a send offset, recipients, and conditional rules
When you use it
- First-week setup — build out your standard email templates (booking confirmation, contract reminder, report delivery, agent summary, etc.) and wire each to a trigger
- Rare adjustments — change a subject line, swap a template, retime a reminder
- Per-service customization — add a service-type-specific step (e.g. 11-month warranty reminder for New Construction)
- A/B testing copy — duplicate a template, tweak it, swap the wiring
Screen layout
[SCREENSHOT: comms-cockpit-screen.png — desktop, the Comms Cockpit with a top section for editing an email template (Name, Trigger, Subject, Body) and a bottom section for editing workflow steps (Trigger, Offset, Recipients, Template).] The page is split into two stacked editors:- Email Template editor (top half) — for the email body itself
- Workflow Step editor (bottom half) — for wiring a template to a trigger
Email Template editor
The top editor builds the email itself. Every field your customer sees in their inbox starts here.Template fields
Variable tokens
Tokens are placeholders replaced with real inspection data at send time. The same tokens work in subject lines, body text, and contracts: Client tokens:$ClientFirstName $ClientLastName $ClientNames $Client2FirstName
Property & inspection:
$InspectionAddress $InspectionDate $InspectionTime
Inspector & company:
$InspectorName $InspectorLicense $CompanyName $CompanyLogo
Fees:
$InspectionFee $BaseFee $ServiceFee $InspectionFeeTable
Links:
$ContractLink — client signing portal
$ReportLink — client report download
$AgentReportLink — agent-only report view
$PortalLink — realtor portal magic link
Payment handles:
$VenmoHandle $ZelleContact $CashAppHandle
See Communications → Template Variables for the complete list and edge cases.
Insert Hyperlink dialog
The body editor has an Insert Hyperlink toolbar action that opens a small modal:
The hint explains: “You can use a ReportLink).” This is the recommended way to add report-link buttons — the link resolves per-recipient at send time, so the client sees their full report link and the agent sees the agent-only view.
The dialog has Cancel (no change) and Apply (commits the link) buttons.
Workflow Step editor
The bottom editor wires a template to a trigger event. Each row in the workflow steps list is one step; the engine fires every enabled step that matches a trigger.Step fields
Trigger
Tip from the UI: “Add two steps for this trigger — one for Primary Client using$ReportLink, and one for agents using$AgentReportLink. Each recipient gets the correct scoped link.” This is the canonical pattern for report delivery.
Timing
Recipients
Scoping
Conditional examples
The conditional field accepts simple expressions:contractSignedAt == null— only if the contract is unsignedpaymentStatus == 'paid'— only after payment receivedassignedInspectorName != null— only if an inspector is assigned
Actions — what the step does
Order of operations
When a trigger fires for an order:- The engine looks up every enabled step matching the trigger AND the order’s service types
- Steps are sorted by their offset (most-negative first, then chronologically)
- For each step:
- The conditional is evaluated against the order
- If the conditional passes (or is empty), the step is scheduled
- Send actions are enqueued; status-advance and retime actions execute synchronously
Sidebar — templates and steps lists
Templates list
Each template appears as a row showing its Template Name and a count of which workflow steps reference it (e.g. “Booking Confirmation · 2 steps”). Actions on each row:- Click to load into editor
- 📋 Duplicate
- 🗑 Delete (only if no workflow step references it)
Workflow Steps list
Each workflow step row shows:- Trigger name
- Offset (e.g.
+2h) - Template name
- Recipient count
- An on/off toggle (disable a step without deleting it)
A typical day-1 setup
Build templates first, then wire steps. Recommended starting set:
For New Construction, add a single step:
- 11-Month Warranty |
inspection.completed|+11mo| Client | Service: New Construction Final
Errors and recovery
What this page does NOT do
- It does not send test emails. Use the per-order Communications tab on Inspection Details for one-off sends and previews.
- It does not show delivery analytics. Open-rate / click-rate / bounce data lives in your email-service-provider’s dashboard (or in future enhancements to the Reports module).
- It does not manage contracts. Contracts are separate — see Contracts Cockpit.
- It does not send SMS or push. Email only.
Related articles
- Communications & Workflow — conceptual reference for triggers, offsets, variables
- Contracts Cockpit — the sibling editor for agreements
- Inspection Details → Communications tab — per-order email log and manual sends
- Web Admin Overview