Communication
Newsletters
Create targeted email campaigns with opt-in recipients, sender setup, scheduling, and delivery analytics.
Newsletters
Newsletters let a workspace create email campaigns, target subscribed recipients, send through configured sender accounts, and review delivery results.
Configure newsletters
- The workspace must have the
newslettersfeature enabled and your role needs newsletter permissions. - Open Workspace Settings -> Newsletters to review monthly Einblick-hosted sending usage, verify sending domains, copy DNS records, and check whether SMTP or Google Workspace senders are available.
- Choose whether public API newsletter signups subscribe immediately or require email confirmation before the address becomes eligible.
- Use Contact Groups to maintain newsletter-specific audience lists.
Contact groups
- Create contact groups from Contact Groups, then add or remove active contacts on the group detail page.
- From the Contacts list, selected-row actions can add active contacts to an existing group or create a new group from the selection. Users who can read Newsletters also see contact group columns and filters in contact tables.
- Each group has a slug generated from its title. Public signup commands can add contacts to published groups by passing those slugs.
- Archived contact groups disappear from campaign targeting and from the active group list.
Create a campaign
- Open Newsletters, create a draft, and choose a starting template: Blank, Basic, or Einblick-style.
- Set campaign metadata: internal name, subject, preheader, sender type, from address, from name, and reply-to address.
- Build the email with newsletter blocks: container, heading, formatted rich text, image, button, divider, spacer, columns, and unsubscribe.
- Save the content and audience before sending, testing, or scheduling.
Only draft campaigns are editable. Once a campaign is scheduled, sending, sent, cancelled, or blocked, the campaign content and audience become read-only.
Blank starts with an empty content container and an unsubscribe footer. Basic adds starter copy and a call-to-action button. Einblick-style adds a branded sample layout with a logo, banner image, two-column section, and footer.
The editor supports drag-and-drop layout, desktop and mobile previews, theme colors, font family and font size, per-block margins, container background/padding/corners, button alignment and size, and image width/corners. Rich text supports bold, italic, links, lists, inline text color, a default font size, per-block font-size overrides, and recipient variables such as contact name, email, company, job title, phone, and unsubscribe URL. Image blocks can use uploaded files, external URLs, or AI-generated images saved in the shared newsletter folder. Image generation uses workspace AI limits; prompts can be up to 2,000 characters and generated files over 15 MB are rejected.
Campaign detail and editing
- Opening a campaign row shows a read-only detail page with the rendered email preview, metadata, sender, audience targets, and current recipient eligibility counts.
- Draft campaigns can send tests from the editor or detail page. Other campaign states keep the content and audience locked.
- Any campaign can be duplicated into a new
draftwith copied metadata, content, sender settings, and audience targets. - Campaigns in
sending,sent,cancelled, orblockedstate link to the analytics table.
Audience and opt-in
Campaign audiences can include individual contacts, contact groups, users, user groups, and organizations. Organization targets expand to the contacts linked to that organization.
The audience editor stores each target as a typed row. Contact group rows can also create a new group inline and add it to the campaign once it is saved.
Before queueing a campaign, Einblick resolves the audience and shows recipient counts:
- Eligible recipients have a valid email and an active newsletter subscription.
- Missing opt-in recipients have not subscribed yet.
- Unsubscribed, invalid, and duplicate addresses are excluded.
Only eligible recipients are queued for delivery. You can manage a contact's subscription from the contact detail page.
Public signup
- Grant the
newsletters.signupwrite action to an API key before external forms can call the signup command. - The command accepts an email plus optional first name, last name, contact group slugs, locale, and confirmation URL.
- Einblick creates or updates the contact, adds the contact to published groups matching the requested slugs, and either subscribes immediately or returns
pending_confirmation. Unknown group slugs fail the command. - In double-opt-in mode, Einblick sends a confirmation email and keeps the subscription pending until the link is opened. Confirmation tokens expire after seven days. A custom
confirmationUrlmust be an absolutehttporhttpsURL; it can include{token}or receive the token as a query parameter.
Send and schedule
- Use Send test to send the current draft to a test address.
- Use Send now to queue eligible recipients immediately.
- Use Schedule to queue the campaign for a future date and time. Scheduled campaigns can be cancelled before they start sending.
- Einblick-hosted sending requires either the workspace's fallback sender address on
einblick.xyzor a verified newsletter domain that matches the from address. SMTP and Google Workspace senders use active sender accounts from Workspace Integrations.
Usage and limits
Einblick-hosted sending tracks monthly recipient usage. Queueing a campaign reserves the eligible recipient count, then releases or records those recipients as deliveries succeed, fail, or are blocked. If a workspace limit is enforced, queueing can be blocked when the campaign would exceed the remaining allowance.
Analytics and unsubscribe
- Open a campaign's analytics page to review total, sent, pending, failed, blocked, and cancelled deliveries.
- Each delivery row shows the recipient, source, status, attempts, last event time, and error message when available.
- Newsletter emails include unsubscribe handling and list-unsubscribe headers. If the campaign content does not already contain the recipient's unsubscribe URL, Einblick appends a small unsubscribe footer.
- When a recipient unsubscribes, future campaign previews mark that address as unsubscribed and exclude it from delivery.