Three things sharing one stored object: a snippet is reusable body text, a template is a snippet that also carries a subject, and a signature is a snippet flagged as such that can auto-append. A starter set (Quote Follow-Up, Build Update, Payment Reminder, Estimate Email, Welcome Email) is seeded as real editable rows the first time a tenant opens the composer, carrying that tenant's own owner and company name.
Also called: canned responses · message templates · quick replies · email signature
- 1loadSnippets reads comms_snippets; if empty it upserts the starter set with deterministic ids (snip-{org}-{key}) so two tabs cannot double-seed
- 2Snippets are filtered by the channel being composed
- 3Saving the current draft as a snippet writes a real row; deleting removes it
- 4autoSignature returns the signature to append for the current channel when one is flagged
Saved replies lived only in the open browser tab. The composer looked like it was saving them, and reps rewrote the same three messages for weeks without noticing that every refresh threw them away — while edits to the built-in defaults were overwritten each time the screen redrew. Snippets, templates and signatures now persist to the account, so a message written once is there next week and an edited default stays edited.
- Templates that appeared to save but were lost on reload
- Repetitive typing of the same customer messages
- Inconsistent wording across a sales team
See it on your own jobs
Twenty minutes, your numbers, no slide deck. We’ll build one of your real buildings in front of you and send you the estimate link at the end — yours to keep either way.
or keep browsing features →