Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.spotzee.com/llms.txt

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

Templates are how you author the actual content Spotzee sends. Every template belongs to a campaign and targets a single channel. Each template has a locale, so a campaign can carry multiple variants of the same channel for different audiences.
Templates live inside the campaign that uses them, not as a separate top-level catalogue. Editing a campaign’s templates requires the project editor role or higher. Liquid renders user attributes and event data into every field that supports variables.

The template model

Two attributes shape every template: its channel type and its locale.
  • Channel type decides which fields the template carries. An email template has from, subject, and html. A push template has title, body, and url. The two types share no fields.
  • Locale lets you author variants of the same template for different audiences. A campaign sending in English and German would carry one email template per locale.
When Spotzee dispatches a campaign send, it picks the template whose channel matches the channel the user is enrolled on, then picks the locale variant whose locale matches the user’s locale (with fallback to the project default locale).

Channel field reference

Email templates are the most field-heavy. Compose with HTML, MJML, or plain text.
FieldPurpose
fromThe sender address. Either a plain email or an object with name and address.
reply_toOptional. Where replies go. Defaults to the from address.
cc, bccOptional carbon-copy recipients.
subjectThe subject line. Liquid-rendered.
preheaderOptional preview text shown next to the subject in most clients. HTML emails only; plain-text emails have no preheader.
htmlThe HTML body. Required for code and visual editor modes.
mjmlOptional MJML source. When present, the visual editor compiles it down to HTML on save.
textOptional plain-text alternative. Required for the plain editor mode.
editorOne of code, visual, or plain. Decides which fields are required and which the UI shows.
The subject, preheader, from.name, from.address, reply_to, cc, bcc, text, and html fields all run through Liquid before sending.

Liquid variables

Spotzee renders fields that support variables through Liquid. The most common variables are exposed under three roots:
  • {{ user }} for the user’s attributes ({{ user.email }}, {{ user.first_name }}, {{ user.attributes.tier }}).
  • {{ project }} for project-level configuration.
  • {{ context }} for run-time context like campaign_id, reference_id, and the user’s enrolment data.
Liquid’s standard filters work too. A few that come up often:
{{ user.first_name | default: "there" }}
{{ user.signup_at | date: "%b %d, %Y" }}
{{ "Hello " | append: user.first_name }}
{{ "USD" | currency: user.lifetime_value }}
Spotzee renders Liquid in subject lines, preheaders, plain-text and HTML email bodies, SMS bodies, push titles, push bodies, push URLs, push custom maps, webhook endpoints, webhook headers, and webhook bodies. Anywhere user-specific values make sense.

Locale variants

Multi-locale projects rely on per-template locales. The pattern is straightforward:
  1. Set a project default locale in SettingsGeneralRegional defaults.
  2. Create the default-locale template inside your campaign.
  3. Add per-locale variants for each additional audience (en-US, de-DE, es-MX, and so on).
When Spotzee dispatches a send, it picks the variant whose locale matches the user’s locale. If no exact match exists, Spotzee falls back to the project default locale’s variant. A user with no locale set falls through to the default too.

Email editor modes

Email templates carry an editor field that decides which authoring surface you see:
  • code drops you into raw HTML. You write or paste HTML directly. Good for templates moved over from another platform or built externally.
  • visual uses a drag-and-drop builder backed by MJML. The mjml field stores the source; the html field stores the compiled output that Spotzee actually sends.
  • plain is plain-text only. The text field is required and the html field is ignored. Use this for transactional notifications, agent-style communications, or audiences where HTML is unwelcome.
Switching between modes is permitted, but switching from visual to code discards the MJML source (the compiled HTML stays). Two project-level switches change what Spotzee does to template content at send time:
  • Track opens (email). When on, Spotzee injects a 1×1 tracking pixel into HTML emails so you can report opens. Plain-text emails (editor: plain) never get a tracking pixel.
  • Wrap links (email and push). When on, Spotzee rewrites every link through your tracking domain so you can report click-throughs. The link wrapping respects your custom domain configuration if one is set.
Both switches default to on for email. Push link wrapping is off by default. Toggle them under SettingsGeneralEmail tracking and Push and SMS.

Next steps

Concepts

Brush up on Users, Journeys, Segments, Channels, and Providers.

Trigger a campaign

Send a one-shot campaign through the API.

Set up a project

Configure your default locale and tracking switches.

Provider catalogue

See which providers handle each channel type.