Pick the editor that fits whoever is making the change. Both produce the same versioned SES template.
Code editor
CodeMirror-based editing for people who want the markup.
invoice-readyHTMLTextJSON
1<td class="hero">
2 <h1>Hi {{firstName}},</h1>
3 <p>Invoice {{invoiceId}}</p>
4 {{#if pastDue}}
5 <p>Payment overdue.</p>
6 {{/if}}
7 [block footer:9f3a21]
8</td>
Preview
Hi Anna,
Separate HTML, plain-text, and example-data tabs
Preview compiles the template with Handlebars using your example data
Invalid Handlebars syntax blocks the save
Fullscreen mode puts code and preview side by side, and beautifies markup
Visual editor
A drag-and-drop canvas for people who should not have to touch HTML.
welcome-emailDesktopMobile
Content
Your blocks
HeaderFooter
Footer
Drop here
Drag-and-drop canvas with a docked tools panel
Desktop and mobile preview
Font library for brand-consistent typography
Your saved reusable blocks sit in the palette
Sovy publishes the HTML the canvas generates
Subject line and tags
Test send with your own JSON data
Same version history
The editor type is set when a template is created. A visual template can be migrated to the code editor once — that move can't be reversed.
Reusable blocks
Shared content that stays in sync.
Headers, footers, and legal boilerplate live in one place instead of being pasted into every template.
One block library per organization, grouped by category and searchable from inside the editor
Insert a block into a code template as a one-line shortcode
Sovy expands the shortcode when the template is published to SES
Update a block once, then re-sync every template that uses it across all connected AWS accounts
Each block shows how many templates use it, and blocks in use can’t be deleted
Code-editor blocks stay referenced, so an update reaches every template that includes them. Visual-editor blocks are copied onto the canvas when you drag them in.Reusable blocks are available on the Growth and Scale plans.
Reusable blocks
Layout
HeaderCodein 12 templates
FooterCodein 9 templates
Legal
Unsubscribe noticeVisualin 4 templates
Inserted into a code template as[block footer:9f3a21]
Versions & publishing
Every save is a version. Every publish is deliberate.
Amazon SES stores one copy per template name and overwrites it on update. Sovy keeps the history around it.
Version history
Current versionUnsaved changes
ANv1.2.0Published to production21 Jul, 14:32 · anna@acme.io
ANv1.1.0Published to staging18 Jul, 09:12 · anna@acme.ioRepublish
DEUnlabelled17 Jul, 16:40 · dev@acme.io
ANv1.0.012 Jul, 11:05 · anna@acme.ioRepublish
1
Draft
Saving creates a new version with its author, timestamp, subject, and content. Editing a published template puts it back into draft.
2
Review
Move a template through Ready to review and Changes requested. A change request requires a written comment.
3
Publish
Name the version — v1.2.0 — and Sovy writes it to Amazon SES for the AWS account you target, creating or updating the template through the SES API.
4
Roll back
Republish an earlier version straight to SES, or restore it into the editor as a new version. Nothing in the history is rewritten.
Publishing targets a specific AWS account, so staging and production can sit on different versions of the same template.
Version history is available on every paid plan, retained for 30 days on Pro and 90 days on Growth and Scale. Labelled and published versions are never removed.
Audit log
Template changes are recorded — including the ones that don’t go through.
Who changed what, when, from where, and whether it worked.
Template create, update, delete, copy, status change, publish, unpublish, test send, and SES import or sync are all recorded
Version create, restore, and delete are logged separately from the template itself
Every reusable-block change is recorded, including which templates were re-synced
Each entry carries the actor and their email, IP address and user agent, the resource touched, the outcome, and a correlation ID
Publish entries include the version label and the AWS account the template was written to
Failed and denied attempts are logged too — a publish someone wasn’t allowed to make still leaves a record
Filter by category, event, user, outcome, or date range; every row links to the template or block it refers to
The audit log is available on the Growth and Scale plans.
Side by side
What Amazon SES gives you, and what Sovy adds.
Sovy doesn’t replace Amazon SES. Delivery, reputation, and the live template stay in your AWS account — Sovy owns the editing and publishing layer above them.
Template management
Features
Amazon SES
Sovy
Version history for a template
Every save
Draft state before a change goes live
Roll back to a previous version
Republish or restore
Reusable content blocks
Record of who changed the content
CloudTrail API calls
Content-level audit log
Different versions per environment
One copy per name
Per AWS account
Editing surface for non-engineers
Console or API
Visual editor + roles
Updating a template through the SES API overwrites the live copy, and the SES resource has no version field — whatever was there before the last write is gone unless something else kept it.
FAQ
Questions about template management
Can I switch a template between the two editors?
Once, in one direction. A visual-editor template can be migrated to the code editor; the move can’t be undone. Code templates stay in the code editor.
Does publishing change how my application sends email?
No. Sovy writes the template to Amazon SES through the SES API. Your sending code keeps calling SES exactly as it does today.
What happens to the template that’s already in SES?
Publishing overwrites the live copy for that template name in the AWS account you target. SES keeps one copy per name; the history stays in Sovy.
Can I import templates that already exist in SES?
Yes. Sovy reads the templates in your connected AWS account and imports them.
Do reusable blocks update templates automatically?
Code-editor blocks are referenced by shortcode and expanded at publish time, so updating a block and re-syncing pushes the change to every template that uses it. Visual-editor blocks are copied onto the canvas when you insert them.
Can staging and production run different versions of a template?
Yes. Publishing targets a specific AWS account, and each account tracks its own published version.
Does Sovy support Handlebars variables?
Yes. Templates are compiled with Handlebars for previews and test sends using the example data you supply as JSON. Invalid syntax blocks the save.
Can I send a test email before publishing?
Yes. Both editors can send a test to any address with the attribute data you provide.