Skip to main content
The Email Communication system manages all automated client messaging through customizable templates with dynamic variable substitution.

Overview

Email templates enable consistent, professional communication across:
  • Appointment confirmations and reminders
  • Post-visit summaries and care instructions
  • Vaccination due notices
  • Missed call and no-show follow-ups
  • Welcome messages for new clients
  • Emergency care follow-ups
All templates support dynamic variables that automatically populate with real client, pet, and appointment data.

Template Categories

Templates are organized into 8 primary categories:

Appointment Confirmation

Type: appointment_confirmationColor: GreenSent immediately after booking to confirm appointment details and provide preparation instructions.Typical timing: Within 5 minutes of scheduling

Appointment Reminder

Type: appointment_reminderColor: BlueReminder emails sent before scheduled appointments to reduce no-shows.Typical timing: 24 hours and 2 hours before appointment

Post-Visit Summary

Type: post_visit_summaryColor: PurpleVisit recap with care instructions, medications, and next steps.Typical timing: Same day as appointment completion

Vaccination Due

Type: vaccination_dueColor: YellowProactive outreach when pet vaccinations are approaching due dates.Typical timing: 30 days before due date, with reminders every 2 weeks

Missed Call Follow-up

Type: missed_call_followupColor: OrangeResponse to calls the AI system couldn’t complete or required human callback.Typical timing: Within 2 hours of missed call

No Show Follow-up

Type: no_show_followupColor: RedOutreach after client misses scheduled appointment without cancellation.Typical timing: Same day as missed appointment

Welcome New Client

Type: welcome_new_clientColor: PinkOnboarding email for first-time clients with clinic info and resources.Typical timing: After first contact, before first appointment

Emergency Follow-up

Type: emergency_followupColor: Dark redPost-emergency care instructions and status checks.Typical timing: 24 hours after emergency visit

Template Library Interface

Category Filtering

Top navigation bar with filter buttons:
const TEMPLATE_CATEGORIES = [
  { key: 'all', label: 'All Templates' },
  { key: 'appointment_confirmation', label: 'Confirmation' },
  { key: 'appointment_reminder', label: 'Reminder' },
  { key: 'post_visit_summary', label: 'Post-Visit' },
  // Additional categories...
];
Click any category button to filter the template grid to show only that type.

Search Functionality

Global search bar filters templates by:
  • Template name
  • Subject line text
  • Email body content
const filteredTemplates = templates.filter((t) => {
  const q = searchQuery.toLowerCase();
  return (
    t.name.toLowerCase().includes(q) ||
    t.subject.toLowerCase().includes(q) ||
    t.body.toLowerCase().includes(q)
  );
});
Search for specific variables (e.g., "") to find all templates using that data field.

Template Cards

Each template displays in a grid card format:
Header:
  • Category badge with color coding
  • Copy button (clipboard icon)
  • Preview button (eye icon)
Content:
  • Template name (bold title)
  • Subject line (gray description text)
  • Body preview (first 3 lines, truncated)
Footer:
  • Variable badges (up to 3 shown, “+N” for additional)
  • Edit button with chevron arrow
<Card className="hover:shadow-md transition-all">
  <CardHeader>
    <Badge className={getTypeColor(template.type)}>
      {template.type.replace(/_/g, ' ')}
    </Badge>
    <CardTitle>{template.name}</CardTitle>
    <CardDescription>Subject: {template.subject}</CardDescription>
  </CardHeader>
  <CardContent>
    <p className="line-clamp-3">{template.body}</p>
    <div className="flex flex-wrap gap-1">
      {template.variables.slice(0, 3).map((v) => (
        <Badge variant="outline" className="font-mono">
          {`{${v}}`}
        </Badge>
      ))}
    </div>
  </CardContent>
</Card>

Quick Actions

Copy to Clipboard

Copies the template body text for pasting into other systems or manual emails.Success indicator: Checkmark icon appears briefly after copy.

Preview

Opens preview tab of detail modal showing email with sample data filled in.

Template Detail Modal

Clicking “Edit” or “Preview” opens a comprehensive modal with three tabs:

Editable Fields

Template Name
  • Internal identifier for staff use
  • Not shown to clients
Subject Line
  • Email subject displayed in client inbox
  • Supports variable substitution
  • Example: Appointment Confirmation for {petName}
Body
  • Multi-line textarea with monospace font
  • Full email content
  • Uses curly brace syntax for variables: {variableName}
<Textarea
  defaultValue={selectedTemplate.body}
  rows={12}
  className="font-mono text-sm"
/>

Action Buttons

  • Cancel: Close modal without saving changes
  • Save Changes: Update template and apply to future emails
Template changes apply immediately to all future automated sends. Test thoroughly before saving.

Dynamic Variables

Templates support automatic data substitution using curly brace syntax:

Client & Pet Variables

VariableDescriptionExample Value
{ownerName}Client full nameSarah Johnson
{petName}Pet nameBella
{petSpecies}Animal speciesDog

Appointment Variables

VariableDescriptionExample Value
{appointmentDate}Visit dateDecember 20, 2024
{appointmentTime}Visit time2:00 PM
{appointmentType}Visit categoryWellness Exam
{vetName}Assigned veterinarianDr. Sarah Kim

Clinic Variables

VariableDescriptionExample Value
{clinicName}Practice namePaw & Care Veterinary
{clinicPhone}Main phone number(555) 123-4567
{clinicAddress}Street address456 Pet Health Lane

Medical Variables

VariableDescriptionExample Value
{careInstructions}Post-visit careContinue current diet, monitor water intake…
{vaccineName}Vaccine administered/dueRabies Booster
{dueDate}Vaccination due dateJanuary 15, 2025
{summary}Visit summaryWellness exam completed. Bella is in good health…
{nextSteps}Follow-up actionsSchedule dental cleaning within 3 months

Using Variables in Templates

Reminder: {petName}'s appointment tomorrow at {appointmentTime}

Example Templates

Name: Appointment Confirmation - StandardSubject: Appointment Confirmed for {petName} on {appointmentDate}Body:
Dear {ownerName},

Your appointment has been successfully scheduled:

Pet: {petName}
Date: {appointmentDate}
Time: {appointmentTime}
Doctor: {vetName}
Type: {appointmentType}

Location:
{clinicName}
{clinicAddress}

Please bring:
- Current medications
- Previous medical records (if new client)
- Any questions or concerns

If you need to reschedule or cancel, please call us at {clinicPhone} at least 24 hours in advance.

We look forward to seeing you and {petName}!

Best regards,
The {clinicName} Team
Name: Appointment Reminder - 24 HoursSubject: Reminder: {petName}'s appointment tomorrow at {appointmentTime}Body:
Hi {ownerName},

Just a friendly reminder that {petName} has an appointment tomorrow:

Date: {appointmentDate}
Time: {appointmentTime}
Doctor: {vetName}

Please call {clinicPhone} if you need to reschedule.

See you tomorrow!
{clinicName}
Name: Post-Visit Summary - GeneralSubject: Visit Summary for {petName}Body:
Dear {ownerName},

Thank you for bringing {petName} to see us today!

VISIT SUMMARY:
{summary}

CARE INSTRUCTIONS:
{careInstructions}

NEXT STEPS:
{nextSteps}

If you have any questions or concerns about {petName}'s care, please don't hesitate to contact us at {clinicPhone}.

Wishing {petName} a speedy recovery!

{vetName}
{clinicName}
Name: Vaccination Due - 30 Day NoticeSubject: {petName}'s {vaccineName} vaccination is due soonBody:
Dear {ownerName},

Our records show that {petName} is due for the following vaccination:

Vaccine: {vaccineName}
Due Date: {dueDate}

Keeping vaccinations up to date is important for {petName}'s health and safety.

To schedule an appointment, please:
- Call us at {clinicPhone}
- Visit our website
- Reply to this email

We have appointments available throughout the week and can often accommodate same-day visits.

Thank you for being a valued client!
{clinicName}
Name: No-Show Follow-up - Reschedule OfferSubject: We missed you today - Let's reschedule {petName}'s appointmentBody:
Hi {ownerName},

We noticed that {petName} missed the scheduled appointment today at {appointmentTime}.

We understand that things come up! We'd love to reschedule at a time that works better for you.

Please call us at {clinicPhone} or reply to this email to book a new appointment.

We're here to help {petName} stay healthy!

Best regards,
{clinicName}

Automated Sending

Emails are automatically triggered by system events:
1

Event occurs

System detects appointment booking, completion, missed call, etc.
2

Template selection

System matches event type to appropriate email template category
3

Variable substitution

Real data replaces all {variable} placeholders with client/pet/appointment information
4

Email send

Populated email sent to client’s email address on file
5

Delivery tracking

System records send status, delivery confirmation, and open/click metrics

Best Practices

  1. Clear subject lines: Include pet name and key info (date, time, or action needed)
  2. Concise body: Keep emails under 200 words for better readability
  3. Action-focused: Tell clients exactly what to do next
  4. Professional tone: Friendly but not overly casual
  5. Mobile-friendly: Short paragraphs and clear formatting for phone screens
  6. Consistent branding: Use same sign-off and contact info across all templates
  • Always use : Personalizes the message and increases engagement
  • Include contact info: Every template should have for easy client action
  • Test substitution: Preview all variables to ensure proper grammar and flow
  • Handle plurals carefully: “your pet” vs “Bella” may require template variants
  • Fallback for missing data: Templates should read correctly even if optional variables are empty
Appointment confirmations:
  • Send within 5 minutes of booking
  • Immediate confirmation increases trust
Reminders:
  • 24-hour reminder: Sent between 9-11 AM for next-day appointments
  • 2-hour reminder: Sent for same-day appointments to reduce last-minute no-shows
Post-visit summaries:
  • Send within 2 hours of appointment completion
  • Same-day delivery while visit is fresh in client’s mind
Vaccination reminders:
  • First notice: 30 days before due date
  • Follow-up: 14 days before due date
  • Final reminder: 3 days before due date
  • Monthly review: Check template performance metrics (open rates, click rates)
  • A/B testing: Test subject line variations to improve engagement
  • Update contact info: Verify phone, address, hours are current
  • Seasonal adjustments: Update holiday hours, weather closures as needed
  • Staff input: Ask team for client feedback on email clarity

Client Management

Client contact preferences and engagement tracking

Appointments

Appointment scheduling and status management

AI Voice Assistant

Automated follow-up emails from AI call system

Analytics

Email performance metrics and engagement analytics

Build docs developers (and LLMs) love