
Founder announcement
A personal note from a founder, with a logo, a greeting, one message and one call to action.
Release notes with a cover image, a lead paragraph and three numbered changes.

{{releaseLabel}}: {{headline}}
{{releaseLabel}}
{{headline}}
{{lead}}
01
Search finishes while you type
Threads are indexed as they arrive instead of on a schedule, so results appear as you type. from:, label: and has:attachment all read from the same index.
02
Labels can belong to a workspace
A shared label shows the same threads to everyone who has access, and renaming it updates every mailbox at once. Personal labels are unchanged.
03
Notifications arrive grouped
Alerts are batched by thread on a five-minute cadence. A reply to a message you sent still comes through straight away.
Read the full changelog [{{readMoreUrl}}]
You are receiving this because your workspace is subscribed to release notes. Replies reach the team that wrote them.
Update your email preferences [{{preferencesUrl}}]Shown with sample values. The HTML and plain-text tabs keep the placeholders.
About
Send it when you ship something worth telling people about. A cover image and a headline open the email, three numbered sections explain what changed, a link leads to the full changelog, and the footer links to email preferences.
Values
Required values have to come with every send. The rest fall back to the default shown here.
| Placeholder | Kind | Required | Default |
|---|---|---|---|
{{readMoreUrl}} | Link | Required | None |
{{releaseLabel}} | Text | Optional | Changelog, August 2026 |
{{headline}} | Text | Optional | Faster search, shared labels, quieter notifications |
{{lead}} | Text | Optional | Three changes shipped this week. Search got quicker, labels became something a team can hold together, and notifications stopped arriving one at a time. |
{{heroImage}} | Image | Optional | https://placehold.co/1200x600/09090B/FAFAFA/png?text=Release+notes |
{{preferencesUrl}} | Link | Optional | https://example.com/email-preferences |
API
Create a template from this design once, then send it with the values for each message.
import { init, openemail } from '@openemail/sdk' init({ apiKey: process.env.OPENEMAIL_API_KEY }) const template = await openemail.templates.create({ name: 'Product announcement', starter: 'product-announcement', publish: true,}) const sent = await openemail.templates.send(template.slug, { from: 'Northwind <[email protected]>', to: '[email protected]', props: { readMoreUrl: 'https://example.com/changelog', }, slots: { heroImage: 'https://openemail.uk/email-templates/samples/cover.svg', },}) console.log(sent.id, sent.status)Announcements
Start from one
Every template opens in the editor as blocks you can move, restyle or delete, and sends through the API with the values filled in.
Email infrastructure for businesses, AI, agents and personal email. Built for scale, privacy and control. Everything email should have had from day one.