Programmable email authoring
LMX (Loops Markup Extended) is a semantic markup language for email content. Every block is an explicit PascalCase tag, so agents can read and write it, and humans can author, edit, and version the same source across the API and the Loops editor.
Email content, written as tags
A document is a sequence of top-level semantic block tags. Headings, paragraphs, buttons, images, lists and more each map to a single, predictable element, so the meaning of the content is always explicit and easy to generate, diff, and review.
<H1>Hello</H1>
<Paragraph>World</Paragraph>Semantically named, built for agents
Tags are named for what they mean, not how they render, so agents and people can both read and edit the same source.
Nothing to install or compile
There are no third-party packages to install, and no need to generate or compile HTML inside your app. You write LMX, and Loops handles the rest.
One format, two surfaces
LMX sits between the API and the editor. Author programmatically with the Content API, then keep editing visually in Loops, and both stay in sync.
Compiles to email HTML
LMX compiles to email HTML for clients such as Gmail, Apple Mail, and Outlook. Rendering can vary by client and version, so send test emails to check your audience’s clients. Loops adds unsubscribe footers to marketing emails.
A full campaign in one document
Compose headings, dynamic buttons, dividers, and lists together. Dynamic variables like {contact.firstName} and {contact.userId} resolve per recipient at send time.
<Style themeId="st_default" bodyColor="#1F2937" />
<Component componentId="logo" />
<H1>Hi {contact.firstName}, your update is ready</H1>
<Paragraph fontSize="16" lineHeight="150">
Read <Link href="https://loops.so/docs">the docs</Link>.
</Paragraph>
<Button href="https://app.example.com/{contact.userId}" align="center">
Open dashboard
</Button>
<Divider />
<OrderedList>
<ListItem>Fix onboarding drop-off</ListItem>
<ListItem>Publish API v2 changelog</ListItem>
</OrderedList>Everything you can express
A focused set of block and inline tags covers the full structure and formatting of an email.
H1
H2
H3
Paragraph
Quote
CodeBlock
Button
Image
Divider
OrderedList
UnorderedList
ListItem
Columns
Section
Component
Icons
Strong
Em
Underline
Code
Strike
Text
Link
Start writing emails in LMX
Explore the full tag reference and start authoring programmatically.
Read the LMX docs