FlowSteps allow you to post-process messages before they are sent out to your recipients. These processes can be very subtle, like invisibly adding an open-tracking, or very verbose, like completely replacing your message contents. FlowSteps are processed in the order you place them, which mean you can combine them in many different ways.

Analytics integration

Allows you to setup any web analytics integration with your website. Links will be appended with the parameters you configure, so you can follow your recipients from e-mails to web pages. The 'overwrite' option is turned off by default. This allows you to tag specific links with analytics parameters, any missing ones will be added according to this FlowStep. Pre-filled templates are supplied for the most popular analytics systems such as Google Analytics.


Setting this allow Flowmailer to save a complete copy of any message that passes this FlowStep, inluding everything, even alternate body parts and attachments. Archiving allows you to view messages exactly as they were sent, right from the Dashboard or maybe on your CRM's contact card. Also, archiving a message allows you to provide a view online link in your message. By default, archived messaged will be retained for 1 year.

Click tracking

This feature scans each messsage for links and rewrites them to one of ours. Visitors get redirected to the original location when they click it. This allows us to register when links are clicked, along with some additional details such information about the users' device. Clicks will be shows in the Flow and Source reports and will also show up on the timeline of the corresponding message.

Discard message

Often used for testing and in conjunction with a QA mail step, discards the message before delivery, regardless of the recipient. Any other FlowSteps will be executed like normal. This allows for safe testing, even with real user data, without the risk of sending unwanted messages to real recipients.

External content

Sometimes reusing content published elsewhere can be a very efficient way of keeping your e-mails up to date. For instance when a banner showing this weeks special offer or a block containing information about current events, is already used on your website. You can easily retrieve this content from any HTTP(s) location using this FlowStep and assign it a variable name for use in your templates. The URL can also contain variables, so you can also retrieve personalized contents.

External data

Flowmailer allows you to perform an HTTP(s) request to an outside source to retrieve structured data. Any retrieved data is then available for use anywhere in your messages. You can also use template variables in the URL and additional header fields. We currently support JSON or XML formatted data, which we also try to auto-detect which one to use by looking at the Content-Type response header. Basically this means you can fetch and use any RSS feed, simple REST API or XML export to enrich your messages.


Suppose you have the option to send e-mails and JSON format (type it manually if you must) your data. You would then be able to use the Extract FlowStep to find and extract the JSON data from your message and use a nice and clean template to create the final message.

MailPlus contact

Many of our clients also use MailPlus for e-mail marketing purposes and make sure their MailPlus account contains up-to-date contact data, for instance by using file imports or API integrations with their CRM. This FlowStep allows you to retrieve contact information from a MailPlus account using the MailPlus REST API, using the recipient address as the key. That contact information can then be used in templates.

Open tracking

This Step adds an invisible tracking pixel to the end of each messages' HTML body. When the recipient loads external images, the tracking pixel gets downloaded as well. That allows us to register the open event. Opens will be shown in various reports and will also show up on the timeline for the associated message.

Reset message content

Ever wanted to start from scratch? Sometime we just need a message to be sent as a 'trigger' to send a completely different message to that recipient. Use this step to clean up the message, only retaining "From", "To" and "Subject". All other parts such text and HTML bodies and attachments will be removed. You can then start fresh, for example by adding an HTML template.


Normally not available to customers, Script FlowSteps allow us to basically execute any code as part of a Flow. This allows us to create virtually any custom FlowStep a customer might need, without having to deploy a new version of Flowmailer.

Sender identity

Selecting a Sender identity using a FlowStep overrides any previously selected Sender Identity. Please note that only one Sender Identity will eventually be used, so overlapping properties will not be overwritten.

Set header

In some cases, you might want to set a specific header. For instance to tag your message for later analysis or maybe to set some specific header such as setting 'Importance' to 'High'. You can also use this step to clear headers you don't want to send, such as ones revealing internal ID's.

Subject template

It's the subject that draws the attention to your message, and subjects can also contain very helpful information about the message contents (for instance "Order confirmation #781265" or "Your invoice for July"). Some sources have limited options in formatting subjects and you might even want to toy around a bit, trying different more inviting subject lines later on. This FlowStep rewrites the message subject (you can also re-use the original subject in your new one, which is the default value). You can also use all template functions in here, so dynamic subjects are possible as well.


Selecting a Template FlowStep means Flowmailer will apply the template at this specific moment in your Flow. Please note that in some cases, order matters! Imagine first applying click tracking to your message before the template. This means any links you take from the original content have now been made trackable, but not links defined in your template. This could be exactly what you want, but this should be an intentional choice. You can also use multiple consecutive templates to process your message in stages, sometimes used to separate extraction or element styling logic from the final template.

QA mail

Can be used for both testing as ongoing quality control purposes. The step allows for setting a divisor and a recipient that will receive an exact copy of messages through this flow. For example; with a divisor of 1, all messages will be CC'd. A divisor of 1000 means that on average, one in a thousand messages will also be sent to the supplied address.