Skip to main content

Documentation Index

Fetch the complete documentation index at: https://help.the-meridian.ai/llms.txt

Use this file to discover all available pages before exploring further.

Meridian’s email feature lets you create branded email campaigns and send them directly to your Shopify app’s merchants. You design each email in the built-in editor, track delivery and engagement metrics per send, and connect email templates to automations so the right message reaches the right merchant at the right moment — without manual intervention.

Email records

Each email you create is stored as an Email record:
interface Email {
  uuid: string
  name: string
  status: EmailStatus          // "active" | "inactive"
  subject?: string
  preview_text?: string
  open_rate?: number | null    // e.g. 0.42 for 42%
  click_rate?: number | null
  conversion_rate?: number | null
  design?: TiptapDoc | null    // rich content document from the editor
  html?: string | null         // rendered HTML output
  created_at?: string
  updated_at?: string
}
The design field stores the structured content document produced by the drag-and-drop editor. When you save an email, Meridian renders the design to html for delivery.

Email status

Set an email’s status to control whether it can be sent:
  • active — the email is ready to send. Automations can reference it via emailUuid.
  • inactive — the email is a draft. It will not be sent, even if referenced by an active automation.

The drag-and-drop email editor

Click any email in your list to open the editor. The editor uses a block-based canvas where you drag in content sections — text, images, buttons, dividers — and arrange them visually. The resulting document is stored in the design field as a TiptapDoc (a JSONContent structure from the Tiptap editor). You do not need to write HTML. Meridian compiles the design document to HTML automatically when you save.
Start from a pre-built template instead of a blank canvas. Templates give you a professionally structured layout that you can customize with your own copy and branding.

Creating an email

1

Open the emails page

Navigate to Emails in the sidebar to see all existing email templates for your app.
2

Create a new email

Click New email. Choose to start from a blank canvas or pick from the Templates library. Either path opens the drag-and-drop editor.
3

Set name, subject, and preview text

Fill in the Name (internal label for your reference), Subject (the subject line merchants see in their inbox), and Preview text (the snippet shown beneath the subject in email clients).
4

Design the email

Use the editor to build your content. Drag blocks onto the canvas, edit copy, upload images, and style elements to match your brand.
5

Save and activate

Save your changes. Set the status to Active when the email is ready. Active emails can be sent via automations or manual campaigns.

Create request

When you create an email, Meridian sends a CreateEmailRequest:
interface CreateEmailRequest {
  name: string
  status?: EmailStatus         // defaults to "inactive"
  subject?: string
  preview_text?: string
  design?: TiptapDoc | null
}

Update request

To update an existing email, Meridian sends an UpdateEmailRequest. You can update the rendered html directly if you need to override the editor output:
interface UpdateEmailRequest {
  name?: string
  subject?: string
  preview_text?: string
  design?: TiptapDoc | null
  html?: string | null
}
If you provide both design and html in an update, the html field takes precedence for delivery. In most cases, let Meridian compile html from design automatically.

Tracking sends

Every time Meridian sends an email to a merchant, it records an EmailSend:
interface EmailSend {
  uuid: string
  email_uuid: string
  sent_at: string               // ISO 8601 timestamp
  recipient: string             // merchant email address
  status: EmailSendStatus       // "delivered" | "bounced"
  opened: boolean
}
You can review per-recipient send records from the email’s Sends tab. Aggregate metrics — open_rate, click_rate, and conversion_rate — are computed across all sends and displayed on the email’s overview card.

Delivery statuses

StatusMeaning
deliveredThe email was accepted by the recipient’s mail server
bouncedDelivery failed — the address was unreachable or rejected
Repeated bounces from the same recipient address can affect your sender reputation. Review bounced sends regularly and remove invalid addresses from your merchant contacts.

Using templates

The Templates library provides pre-built email designs organized by use case. To apply a template:
  1. Click New email → Start from a template.
  2. Browse the template categories and click a card to preview it.
  3. Click Use template. Meridian creates a new email with the template’s design pre-loaded and status set to "inactive".
  4. Edit the copy, subject line, and preview text to fit your app and audience.
  5. Set status to "active" when ready.
Templates are a starting point — all fields are fully editable after you apply one.

Connecting emails to automations

Emails become most powerful when connected to automations. An automation action node can send an email to the merchant who triggered the workflow by referencing the email’s uuid as emailUuid in the node’s data:
// Inside a SerializedNode for an email action
data: {
  label: "Send welcome email",
  description: "Sends the onboarding sequence to the merchant",
  emailUuid: "a1b2c3d4-..."   // uuid of an active Email record
}
When the automation runs and reaches that node, Meridian looks up the referenced email, compiles its html, and sends it to the merchant. The send is recorded as an EmailSend linked to that email_uuid.
Only emails with status: "active" can be sent by automations. If you set a referenced email to inactive, the automation action will fail for that run.

Best practices

Keep subject lines under 50 characters so they display in full on mobile. Be specific — “Your app had 3 new installs this week” outperforms “Weekly update”. Avoid all-caps and excessive punctuation, which trigger spam filters.
The preview_text field appears next to the subject line in most email clients before the message is opened. Treat it as a second subject line: reinforce the main message or add context that didn’t fit in the subject. Do not leave it blank — clients will pull the first line of body copy instead, which is rarely ideal.
Send a test to yourself before setting an email to active. Check that the subject, preview text, and layout render correctly across desktop and mobile. Verify that any dynamic fields populate as expected.
Use status: "inactive" to keep works-in-progress out of your active send queue. Periodically archive or delete inactive emails you no longer plan to use so your template library stays organized.

Platform plan limits

Your Meridian platform plan includes an emails_monthly limit that caps how many emails Meridian can send for your app in a given calendar month.
platform_plan: {
  limits: {
    emails_monthly: number | null  // null means unlimited
  }
  usage: {
    emails_monthly: number         // sends used so far this month
  }
}
Check your current usage in Settings → Plan. When you reach the monthly limit, Meridian queues outgoing emails and resumes sending at the start of the next billing cycle — or immediately after you upgrade your plan.
Last modified on May 5, 2026