Email Templates

Housecat makes it fast to get through email while keeping you in control. Templates help with the messages you send often, but the final email still comes from you: Housecat drafts, fills known details, and leaves anything uncertain for you to review before sending.

Every account starts with templates for common communications like:

  • Introduction / outbound: a reusable first touch or warm intro draft.
  • Scheduling a meeting: propose times or send your standard scheduling link.
  • Introductions and double opt-in introductions: keep the intro flow consistent.
  • Politely declining: say no clearly without rewriting the same note.
  • Follow-ups / reminders: nudge a thread after a meeting, deadline, or unanswered email.

You can create and edit templates from Manage templates or through the agent. You can create a message from a template with the command palette or from the {} button in the message composer.

Template Variables

Templates can contain variables in braces. Housecat fills first-class variables from the compose context before the draft is inserted:

  • {first_name}: first name parsed from the current To recipient.
  • {last_name}: last name parsed from the current To recipient.
  • {full_name}: full name parsed from the current To recipient.
  • {sender_first_name}: first name parsed from the sending account.
  • {sender_last_name}: last name parsed from the sending account.
  • {sender_full_name}: full name parsed from the sending account.

Before sending, Housecat also verifies and blocks any draft that still contains unresolved placeholders and asks you to fill or remove them.

Custom Variables

You can add custom variables for context-specific details, such as {summarize thread}, {job description}, {introducer name}, or {next step}. After Housecat fills the first-class variables, any remaining variables are sent to the LLM with the template body, subject, and conversation context.

Use \{ and \} when you want literal braces in the final email.

The LLM request is structured like this:

Fill template variables in an email draft. For each requested {variable}, return its value as plain text (no braces). Use the template, subject, and conversation context to infer values. If you cannot determine a value confidently, return an empty string for it — never guess names or facts.

Template:
...

Subject: ...

Conversation context:
...

Template Customization

The built-in agent can customize templates from your sent mail. The current customization skill uses this prompt:

Look at the last 100 sent emails, and the list of email templates. For each template make small customizations to match the users voice, whitespace, greeting and salutation where appropriate.