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 newsletters feature 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

  1. Open Newsletters, create a draft, and choose a starting template: Blank, Basic, or Einblick-style.
  2. Set campaign metadata: internal name, subject, preheader, sender type, from address, from name, and reply-to address.
  3. Build the email with newsletter blocks: container, heading, formatted rich text, image, button, divider, spacer, columns, and unsubscribe.
  4. 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 draft with copied metadata, content, sender settings, and audience targets.
  • Campaigns in sending, sent, cancelled, or blocked state 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.signup write 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 confirmationUrl must be an absolute http or https URL; 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.xyz or 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.