AI Newsletter manual.

This manual shows step by step how to build HTML newsletters, connect an AI provider, select recipients and automate sending.

System requirements

Shopware 6.7, an API key with one of the supported AI providers, working mail delivery and an active worker for scheduled sending.

Installation

Upload the plugin in the admin, install and activate it, then open the configuration.

Activating the licence

The plugin is part of the Stone & Water plugin suite and needs a valid licence token.

Sender and mandatory links

The configuration holds the sender name and address plus the links that belong in every newsletter.

Sender name and address
Defaults for new newsletters.
Unsubscribe link
Default URL for unsubscribing.
Imprint, privacy, terms
Linked from the newsletter.
Legally relevant: Commercial e-mail needs an imprint and an unsubscribe option that always works. Fill these in before starting your first send.

AI provider and model

OpenAI, Anthropic, Mistral and Google are supported. For each provider you store an API key and pick a model. A custom base URL can be set for alternative endpoints.

System instruction and fine tuning

The system instruction permanently defines how the AI should write - tone, form of address, editorial guard rails. Two further values shape the behaviour:

Temperature
Lower values give steadier, more predictable text, higher values more variation.
Maximum output length
Caps the length of generated text.

Generating content

Subject line and body can be generated by the AI. Products and categories can be included so the newsletter refers to your actual range.

Read before sending: Generated text is a draft, not a finished newsletter. Check prices, availability and product claims before the send starts - an e-mail cannot be recalled.

Where recipients come from

The plugin draws on two sources: Shopware's newsletter subscribers and the shop's customers. Both can be combined and filtered.

Filtering by customer group and orders

Customer groups
Select one or more groups.
Order period
Customers who ordered between two dates.
Minimum order value
Narrows to customers above a certain spend.

The recipient count is calculated before sending, so you can see how large the list really is.

Only consented subscribers

Built in, not optional: From the newsletter subscribers, only entries with status optIn or direct are used. Unconfirmed or unsubscribed addresses are excluded regardless of the filters you set.

From draft to sent

A newsletter moves through several states: draft, scheduled, sending, sent. Failed recipients are counted separately so a single failure does not stop the whole send.

At the start the recipient list is fixed: all recipients are stored in batches as open entries and then worked through. A send can therefore be interrupted and continued later.

Sending pace and batches

The mails per minute setting limits the pace. The plugin counts what has been sent in the current window and waits before continuing.

Why this matters: Mail servers and providers throttle or block senders who suddenly push large volumes. A moderate pace protects your deliverability more than fast sending helps. If in doubt, ask your mail provider about the permitted throughput.

Automatic sending

The scheduled task staw_newsletter_direct.send works through ongoing sends on its own, at a five minute interval. Without an active worker it does not run.

Sending from the console

bin/console staw:newsletter:send bin/console staw:newsletter:send <newsletter-id> --chunk=200

Without an ID, all ongoing sends are processed. The --chunk option controls how many recipients are handled per batch. For large lists the console is the more robust route because no HTTP timeout gets in the way.

Opens, clicks and unsubscribes

The plugin records how often a newsletter was opened and which links were clicked, plus unsubscribes. Opens are measured with a small image, clicks through redirected links.

On how much this tells you: Open rates are inherently imprecise because many mail clients block or pre-load images. Clicks are the more reliable signal.

View in browser

Every newsletter has its own address where it can be opened in a browser - for recipients whose mail client does not render it properly.

Troubleshooting

Sending does not start

Usually there is no active worker. Alternatively use the console command.

Fewer recipients than expected

Only subscribers with confirmed consent are included. Also check the filters for customer group, period and minimum order value.

Sending is very slow

That is normally the configured per-minute limit - and it is intentional.

The AI returns no text

Check the API key, the model and, if used, the base URL. Provider errors are reported back.

Hardly any opens are counted

Normal when recipients block images. Click figures are the better yardstick then.

Support

We are happy to help with lists, deliverability or setup. Get in touch via the contact page or write to info@stoneandwater.online.

All settings

Every setting of the plugin with its default value and explanation, in the same order as in the administration. The texts come straight from the plugin (version 1.0.87).

Settings

Configured legal pages (terms, privacy, imprint) are linked in the newsletter footer.

Max emails per minuteDefault: 200

Limits the number per send run (throttle, also applies to cron).

Default sender nameDefault: empty

If default sender values are set, they pre-fill new newsletters automatically.

Default sender emailDefault: empty

If default sender values are set, they pre-fill new newsletters automatically.

Default redirect after unsubscribeDefault: empty

Used when a newsletter has no own URL set.

Terms URLDefault: empty

Linked in the footer of every newsletter mail. Left empty, the link is omitted.

Privacy policy URLDefault: empty

Linked in the footer of every newsletter mail. Left empty, the link is omitted.

Imprint URLDefault: empty

Linked in the footer of every newsletter mail. Left empty, the link is omitted.

AI / API access

ProviderDefault: OpenAI

The AI service that drafts newsletter texts.

ModelDefault: depends on the provider

The model of the chosen provider.

API keyDefault: empty

Access key of the chosen provider.

Base URL (optional)Default: empty

Only for custom/compatible endpoints. Leave empty for default.

Creating a newsletter

SubjectDefault: empty

Subject line of the newsletter mail.

DescriptionDefault: empty

Short description of the newsletter for the overview in the administration.

Newsletter sender (name)Default: default sender name

Sender name of this newsletter. Prefilled with the default sender name for new newsletters.

Sender e-mailDefault: default sender email

Sender address of this newsletter. Prefilled with the default sender address for new newsletters.

AlignmentDefault: Left

Alignment of the content in the mail: left, centred or right.

Redirect URL after unsubscribingDefault: empty

Where recipients are sent after unsubscribing. Left empty, the default redirect from the settings applies.

Append unsubscribe link automaticallyDefault: on

Automatically adds an unsubscribe text with link at the end of every newsletter email, so no manual placeholder is needed. If the HTML already contains an unsubscribe link, nothing is added twice.

Recipient selection

Recipient sourceDefault: Customers

Where recipients come from: customer accounts or newsletter subscribers. Subscribers only count with a confirmed or direct sign-up.

Sales channelsDefault: all

Limits recipients to the selected sales channels. Without a selection all apply.

Customer groupsDefault: all

Limits recipients to the selected customer groups. Without a selection all apply.

CountriesDefault: all

Limits recipients to customers from the selected countries. Without a selection all apply.

StatusDefault: All

Filter by account status: all, active only or inactive only.

Registered fromDefault: empty

Only customers who registered on or after this day.

Registered untilDefault: empty

Only customers who registered up to and including this day.

Newsletter subscribers onlyDefault: off

Restricts customers to those who are also registered as newsletter subscribers.

Order behaviourDefault: Any

Any, only customers with an order, or only customers without an order.

Last order fromDefault: empty

Considers orders from this day on.

Last order untilDefault: empty

Considers orders up to this day.

Minimum order value (euro)Default: empty

Only customers with at least one order of this total or more, within the selected order period. The individual order counts, not the revenue across all orders.

Through the store or directly from us.

Two routes, the same feature set - pick whichever suits your setup.

Directly from Stone & Water

Available right now

Monthly9,99 €
Best valueYearly101,90 €15 % cheaper

All prices net, plus VAT.

You buy the licence directly from us and get an invoice from us. Install by upload in the admin without SSH, updates through our licensing platform, support straight from the developer.

Ask us directly+49 2555 9997342

Shopware Store

In preparation

The plugin will be listed in the official Shopware Community Store. Installation and automatic updates then run through the plugin manager, billing through your Shopware account. We will link it here as soon as it is live.

Newsletters with AI?

Back to the AI Newsletter.

Every feature and all prices are on the product page. We are happy to help with setup and integration.