Newsletter

Design a signup card once, embed it anywhere, and grow one tenant-wide subscriber list - no separate list per site or campaign tool to wire up.

Overview

The Newsletter service gives you:

By default subscribing is immediate and nobody is emailed. Turn on double opt-in under Newsletter → Subscribers → Consent if you want people to confirm by email first - that sends from your own address, so it needs email set up. See Consent and confirmation. Either way, make sure your card copy is clear about what people are signing up for.

Design a signup card

  1. Newsletter → New card. Give it a Card name (e.g. "Blog updates"). The name is only for you; the slug is generated from it and shown under the name on the Newsletter → Cards list.
  2. Set the words visitors see - badge, heading, description, button label, email placeholder, footer text and the thank-you message shown after someone subscribes. Tick Also collect a name to add a name field.
  3. Style it under Appearance. Pick colours, corners and font to match the site you're embedding on. The preview updates as you go.
  4. Publish. Only published cards can be embedded. Save draft keeps it hidden.

Embed on your site

Open Newsletter → Developer → Embed the widget.

  1. Create a widget key. Under Public widget keys, enter the website address you'll embed on as the Allowed origin (e.g. https://example.com) and click Generate key. Copy the key from the Save this key now window. The key only works on the addresses you allow.
  2. Copy the snippet from Embed a signup card, replace your-card-slug with your published card's slug, and drop it into any HTML page.
<script src="https://app.softsolz.uk/softsolz.js"
  data-public-key="pk_live_…"
  data-service-id="newsletter"
  data-card-slug="blog-updates"></script>

The script injects a sandboxed iframe that renders your themed card and posts the subscription straight to your tenant's list. Auto-resizes with content. No build step required.

Subscriber list

Newsletter → Subscribers shows every subscriber across every card, with where each one came from (the embedded card, the API, or added by hand) and their consent record. From here you can search, filter by status, unsubscribe, resubscribe or delete subscribers, add one with Add subscriber, or Export CSV. The Cards list shows how many subscribers each card brought in.

The Consent button on the Subscribers page opens Consent & opt-in, which controls how people opt in and what you keep as proof:

Every subscriber gets a personal unsubscribe link they can use without signing in, and can re-subscribe from the same link. Rows captured before you turned consent recording on show Not recorded.

Blog sign-ups can flow into this list automatically - see Send blog sign-ups to your newsletter. They arrive with their original consent record and are not asked to confirm twice.

Use the API

Two integration paths:

PathAuthWhen to use
Widget - the embedded signup card pk_… public key (browser) Visitors subscribe from your site via the embedded card.
Server - POST https://app.softsolz.uk/api/v1/services/newsletter/subscribe sk_… secret key (server) with the Submit a subscriber email scope Your backend adds subscribers directly (checkout flows, gated downloads, imports). Send email and an optional name.

Full reference: Subscribe an email address and the Newsletter developer guide.

Test it step by step

Follow these steps once from start to finish to prove sign-ups reach your list.

  1. Get access. You need the Super Admin or Admin role, or a custom role that includes the Newsletter permissions (Members & access → Roles).
  2. Pick where to test. To keep test sign-ups out of your real list, open the workspace menu and choose Switch to Sandbox mode. The sandbox has its own cards, keys and subscribers.
  3. Install Newsletter. Open Marketplace, find Newsletter and click Install. Newsletter appears in the sidebar.
  4. Publish a card. Go to Newsletter → New card, set the Card name to "Test signup", change the heading if you like, and click Publish. The card shows as published on Newsletter → Cards, with its slug (for example test-signup) under the name.
  5. Make a key for the Widget Tester. Go to Newsletter → Developer → Embed the widget, enter https://developer.softsolz.uk as the Allowed origin and click Generate key. Copy the key from the Save this key now window.
  6. Sign up in the Widget Tester. Open developer.softsolz.uk/widget-tester and choose Newsletter. In the Embed snippet box, replace pk_live_REPLACE_WITH_YOUR_KEY with your key and REPLACE_WITH_CARD_SLUG with your card's slug, then click Load widget. Your card appears. Enter your own email and subscribe: your thank-you message shows.
  7. Check your list. Open Newsletter → Subscribers. Your email is there with the status Subscribed (or Awaiting confirmation if you turned on email confirmation, until you click the link in the email).
  8. Put it on your own site. Generate a second key with your own website address as the allowed origin, copy the snippet, set your card's slug, paste it into a page on your site and subscribe once more with a different address.
  9. Go live. If you tested in the sandbox, switch back with Switch to Live mode and create the real card and key there: sandbox cards, keys and subscribers never carry over.
Email confirmation is optional. If you want it, set up your own sending address first at Marketplace → Email sending (this needs a real email account or domain you own), then turn it on under Consent.

For developers

In the sandbox, open Newsletter → Developer → Use the API, click New API key and tick Submit a subscriber email. Sandbox keys start with sk_test_. Then add a subscriber from your server:

curl -X POST https://app.softsolz.uk/api/v1/services/newsletter/subscribe \
  -H "Authorization: Bearer sk_test_your_key" \
  -H "Content-Type: application/json" \
  -d '{"email":"reader@example.com","name":"Jane Reader"}'

A 201 reply shows the subscriber with the source api, and the address appears under Newsletter → Subscribers. See the API Reference for the full reply.

If something goes wrong

You seeWhat it means
Invalid embed key or origin not allowed. (inside the widget) The page address is not on the key's allowed origins, or the key was revoked. Generate a key for the exact address the page runs on, starting https:// with no path.
Signup card not found or not published. The card is still a draft, or the slug in the snippet is wrong. Publish it and copy the slug from the Cards list. A sandbox key only finds sandbox cards.
This signup form isn't available right now. Please contact the site owner. Newsletter is not active for the workspace, for example the subscription or free trial has ended. Check Manage subscriptions.
400 "A valid email address is required." (API), or 403 missing_scope The request has no usable email, or the key lacks the Submit a subscriber email scope.

Common changes & risks