Skip to content
Claim your free business email
Templates

Email templates that look designed. No code required.

Drag blocks into place, let your brand kit dress them, and publish a version. Your code sends it by alias, and every email remembers exactly which version it used.

Browse

Browse by occasion. Every one is built from blocks you can drag.

These are ideas, drawn for brands we made up. The dashboard's starter gallery ships seven ready to edit: Welcome, Magic link, Password reset, Order confirmation, Receipt, Invoice and Shipping update. Everything else here you can build in an afternoon.

Showing 17 designs

  • Welcome

    Fernhouse · Welcome

  • Product launch

    Northwind · Launches

  • Receipt

    Crumb & Co. · Receipts

  • Seasonal sale

    Juniper Supply · Sales

  • Newsletter

    Spoke & Sprocket · Newsletters

  • Event invite

    Globex · Events

  • Password reset

    Acme · Security

  • Shipping update

    Tidepool Coffee · Receipts

  • Team invite

    Paperkite · Welcome

  • Weekly digest

    Orchard Notes · Newsletters

  • Sign-in code

    Northwind · Security

  • New arrival

    Spoke & Sprocket · Launches

  • Flash offer

    Crumb & Co. · Sales

  • Onboarding

    Globex · Welcome

  • Workshop

    Crumb & Co. · Events

  • Journal

    Fernhouse · Newsletters

  • Order confirmation

    Spoke & Sprocket · Receipts

Brand kit

Your brand, on every template. Change it once. Go on, try it.

Brand kit

Logo
Colours
Font
Buttons

{{brand.company_name}}Fernhouse

{{brand.primary_color}}#5b3df5

{{brand.accent_color}}#ffd166

{{brand.font}}georgia

{{brand.button_radius}}999px

A kit holds your logo, two colours, a font, a button shape, your company name, your address and a footer line. Templates reach it through tokens like {{brand.primary_color}}, so an edit to the kit shows up in every template's next render. A single template can pin its own colours or logo when it needs to be the exception.

Visual editor

Drag, drop, done. A drag-and-drop editor built into Rasket, so anyone on the team can make the email.

  • Ten blocks, zero markup

    Sections, columns, headings, text, images, buttons, dividers, spacers, social links and a footer. Columns stack on a phone by themselves.

  • The keyboard works too

    Every block can be picked up and moved without a mouse, because an editor your whole team uses has to work for all of it.

  • Compiled for real inboxes

    The editor saves a document of blocks, and our servers compile it into email HTML built for the quirks of desktop, web and phone mail apps.

  • The default for new templates

    A new template opens on the visual editor. A template written as HTML through the API is versioned, published and sent exactly the same way.

For developers

Built for the code that sends it. Versioned, typed, and addressed by a name you choose.

  • Publishing freezes a version

    Edits open a new draft. Sends keep using the published version until you publish again, and a draft can never be sent.

  • {{key}} and nothing else

    No logic, no filters, no nesting. A value that contains braces lands as literal text, so data from your database cannot smuggle in a placeholder.

  • Typed variables with fallbacks

    String, number, boolean, object or list, each with an optional fallback. A value of the wrong type, or a missing one with no fallback, is refused rather than sent half-filled.

  • Send by ID or alias

    An alias like order-shipped is lower case, unique among your live templates and can never look like an ID, so it is a handle your code can keep.

  • Every email records its version

    A later edit never changes what an already-sent message said, and preview renders any version with sample values before you publish.

Create a template
POST /templates{  "name": "Welcome",  "alias": "welcome",  "subject": "Welcome, {{name}}",  "html": "<p>Hello {{name}}, thanks for joining.</p>",  "variables": [    { "key": "name", "type": "string", "fallback_value": "there" }  ]}
Send it by alias
POST /emails{  "to": "ronald@example.com",  "template": {    "id": "order-shipped",    "variables": { "name": "Ronald", "order_id": 1042 }  }}
order-shipped · v4 publishedThe email records v4
A template send keeps everything else a send can do: idempotency keys, batches, scheduling, attachments and tags, as on the email API page. Audiences you own go out as campaigns, event mail as automations. Every route is in the templates reference and the emails reference, and the quickstart gets you to a first send.
Questions

Questions about email templates

What happens when I edit a published email template?

Nothing, until you publish again. The first edit after a publish opens a new draft and later edits write that same draft, while sends keep using the published version. Retrieving the template shows the draft, with has_unpublished_versions set to true so you can tell the two apart.

Can I send from a draft?

No. Only a published template can be sent, and naming one that has no published version in a send is refused with a 422 rather than sent from whatever the draft happens to say.

How do I address a template from my code?

By its ID or by its alias. An alias is lower case letters, digits, hyphens and underscores, up to 63 characters, unique among your live templates, and may never look like an ID, so a name like order-shipped is a stable handle your code can hold on to. Deleting a template frees its alias again.

What template syntax do you support?

{{key}}, with optional spaces inside the braces, and nothing else. There is no logic, no filters and no nesting, so a value that itself contains braces is inserted as that literal text rather than expanded. Strings are escaped in the HTML body and left raw in the subject and the text body.

What if a send leaves a variable out?

It takes the fallback declared on that variable. A declared variable with no value and no fallback is refused with a 422, and a key the template never declared is refused too, so an email does not go out with a placeholder still showing.

Does editing a template change emails I have already sent?

No. Each email records the template and the version it used, so what a customer received stays correct in your records however often you change the template afterwards.

Publish your first template

Start from a starter or a blank canvas, put your brand on it, and send it by alias with your values filled in.