Email templates
Templates carry subject + body with {{placeholder}} tokens that resolve to the record's data at send time. A FairWork-aware placeholder catalogue covers 58 fields across 10 entity contexts. System-named templates (PLACEMENT_NOTICE, ORDER_DISPATCH, INCIDENT_UPDATE…) drive one-click sends from records.
Force-seeded canonical templates — eight system templates are seeded on every enabled tenant. Tenant admins can rename, rewrite subject + body, swap to a tenant's house voice. The system_name is the load-bearing identifier; email-templates:seed --sync only force-overwrites seeded-owned rows that haven't been customised.
Scopes: tenant-wide (every operator sees) or group-only (only User Group members see). Same pattern as Standard Documents.
Entity type filter is strict — a template marked entity_type=order only appears on Order edit pages and the composer's template picker hides it elsewhere. Leave entity_type blank to allow free-compose use across any record.
Placeholder rule — per workspace policy, every placeholder MUST be human-readable AND NOT CLIENT-FACING. No charge_rate exposure (margin protection); pay_rate IS allowed (worker-facing payroll context). Awards, dates, working days, role names, org names all surface as readable strings.
email-templates_1.png