All Docs
FeaturesNurtureHubUpdated March 21, 2026

Journey & Email Sequence Schema

Journey & Email Sequence Schema

NurtureHub's nurture journey system is built on three tightly related data structures: journey templates, contact journey instances, and journey email records. Together they define how a nurture sequence is generated, reviewed, and delivered for any given contact.


Overview

When an agent assigns a contact to one of the twelve predefined categories, the platform selects an appropriate journey template, creates a journey instance for that contact, and generates a sequence of up to three personalised emails. Each email passes through an approval workflow before being sent.


Journey Templates

Journey templates define the structure and intent of a nurture sequence. There are 36 templates in total, organised as:

DimensionValues
Journey Typeprospect, existing_client, re_engagement
Contact Category12 categories (e.g. Seller, Landlord, Buy-to-Let Investor, Active Tenant, and others)

Each combination of journey type and contact category maps to exactly one template, giving 3 × 12 = 36 templates.

Journey Types

TypeDescription
prospectFor contacts who are not yet clients — focuses on conversion
existing_clientFor active clients — focuses on retention and upsell
re_engagementFor lapsed or inactive contacts — focuses on revival

Contact Journey Instances

A contact journey instance links a specific contact to a journey template. It represents a single run of a journey and tracks the lifecycle state across three dimensions:

FieldDescription
generation_statusWhether the AI has finished producing the email content
approval_statusWhether the agent has reviewed and approved the sequence
completion_statusWhether the journey has been fully sent and concluded

A contact may have multiple journey instances over time (e.g. a re-engagement journey after a previous prospect journey concluded).


Journey Email Records

Each journey instance contains up to three email records, one per position in the sequence. Every record stores:

FieldTypeDescription
subjectstringThe generated email subject line
html_bodystringFull HTML-formatted email body
plain_text_bodystringPlain text fallback for clients that do not render HTML
sequence_positioninteger (1–3)The order in which this email is sent within the journey
generation_prompt_hashstringHash of the AI prompt used to generate this email — used for reproducibility and audit trails
approval_stateenumPer-email approval status (e.g. pending, approved, edited)

Sequence Positions

Emails are numbered 1 through 3 and sent in order. All three emails are generated upfront, allowing the agent to review the full sequence before any email is dispatched.


Full Lifecycle

The schema supports the complete end-to-end flow from AI generation through to scheduled delivery:

1. Contact assigned to category
        ↓
2. Journey template selected (type × category)
        ↓
3. Contact journey instance created
        ↓
4. AI generates 3 emails → journey email records stored
   (generation_status = complete)
        ↓
5. Agent reviews emails in NurtureHub UI
        ↓
6. Agent approves each email
   (approval_state = approved per email)
   (approval_status = approved on instance)
        ↓
7. Emails queued for scheduled send
        ↓
8. All emails sent → instance marked complete
   (completion_status = complete)

Prompt Hashing & Auditability

Each email record stores a generation_prompt_hash — a hash of the exact AI prompt used to produce that email. This enables:

  • Reproducibility: the same prompt inputs will produce the same hash, making it possible to detect when content should be regenerated
  • Audit trails: agents and administrators can verify that generated content matches the expected prompt context
  • Change detection: if contact data or template configuration changes after generation, a hash mismatch signals that the email may be stale

Related