- Shipped
- September 7, 2026 at 1:17 AM UTC
- Author
- Kamo
- Commit
- 797ca0d
A callback has always been private to the organisation. The member who books one gets a calendar entry and a reminder; the person on the other end of the call is told nothing, and the dialog said so in as many words. These are the letters that change that: booked, moved, and cancelled. They go in the catalogue like any other transactional template, so an administrator can edit the wording, and they carry the organisation's own logo and colour — the recipient has never heard of Kamo and is deciding whether to talk to this company at all. Three templates rather than one with a headline variable, because TemplateRenderer substitutes {{key}} and cannot branch. They do not want to be one letter anyway: the cancellation says nothing about length or location, and the update has to be explicit that it replaces a time the reader has already written down. LeadCallbackInviteEmail builds the variables, so the note block, the contact rows and the location row are finished HTML that collapses to "" rather than leaving a label with nothing after it. It states nothing about the lead's record — not their status, not their owner, not that they are a "lead" at all — and the test pins that.