Workflow blocks and triggers reference
This article is a complete reference for everything available in the Flexmail workflow builder: the five block types, all available trigger conditions, and all available actions. Use it when designing a workflow or when you want to check what a specific block or trigger can do.
The five block types
- Start block, defines who enters the workflow and which event triggers entry.
- Send block, sends an email campaign, an SMS, or an internal notification.
- Wait block, pauses the workflow for a set duration or until a condition is met.
- If/else block, splits the workflow into two paths based on a condition. Contacts who meet the condition take the Yes path; contacts who do not take the No path.
- Contact block, makes changes to a contact profile.
Triggers
Triggers are the conditions that determine when something happens in a workflow. They are used in three places: the start block (to define who enters), wait blocks (to define what the workflow waits for), and if/else blocks (to define the condition to check).

Message triggers
These trigger based on a contact's interaction with a specific message, across multiple campaigns:
-
Has opened the message.
Open tracking consent. If the open tracking consent policy is active, this trigger starts only for contacts with consent "Yes". A contact without consent receives no tracking pixel, so Flexmail records no open and the trigger does not start. This also applies to contacts with an explicit "No" if the policy is not active. If open tracking is turned off, the trigger starts for no one. The workflow builder displays a warning about this that does not block saving and activating. A trigger on clicks is not restricted, as long as click tracking is turned on.
- Has not opened the message.
- Has clicked on a link.
- Has not clicked on a link.
- Has forwarded the message.
- Has not forwarded the message.
Campaign triggers
These trigger based on a contact's interaction with a specific campaign:
- Has received the campaign.
- Has not received the campaign.
-
Has opened the campaign.
Open tracking consent. If the open tracking consent policy is active, this trigger starts only for contacts with consent "Yes". A contact without consent receives no tracking pixel, so Flexmail records no open and the trigger does not start. This also applies to contacts with an explicit "No" if the policy is not active. If open tracking is turned off, the trigger starts for no one. The workflow builder displays a warning about this that does not block saving and activating. A trigger on clicks is not restricted, as long as click tracking is turned on.
- Has not opened the campaign.
- Has clicked on a link.
- Has not clicked on a link.
- Has forwarded the message.
- Has not forwarded the message.
Contact triggers
These trigger based on changes to a contact profile or status:
- Is added to an interest.
- Is removed from an interest.
- Has subscribed via an opt-in form.
- Is added to your contacts (manually, via import, or via API).
- Is removed from your contacts (manually, via import, or via API).
- Is added to a segment.
- Is removed from a segment.
Form and survey triggers
These trigger based on a contact's interaction with a specific form or survey:
- Has completed a form.
- Has not completed a form.
- Has opened a form.
- Has not opened a form.
- Has completed a survey.
- Has not completed a survey.
- Has opened a survey.
- Has not opened a survey.
Landing pages
These trigger based on a contact's interaction with a specific landing page:
- Has visited a landing page.
- Has not visited a landing page.
Date triggers
Date triggers are only available in wait blocks, not in start blocks or if/else blocks.
- On a specific date.
- After a specific period (minutes, hours, days, weeks, months).
Date fields
With date fields, you can schedule automation steps relative to a date stored in a contact record. They can be used in wait, start, and if/else blocks.
Any date field in the contact record can be used, such as date of birth, contract start date, renewal date, or event date.
The trigger can be set once or recurring (monthly, bimonthly, quarterly, half-yearly, yearly):
- On the exact value of the date field.
- Before the value of the date field by a specified number of days, weeks, or months.
- After the value of the date field by a specified number of days, weeks, or months.
Send actions
Send a new campaign
Sends an email campaign to the contact. You set the sender name and sender address, choose the message, and choose the timing: immediately, at a fixed time, or on specific days within a specific time frame. This is the most used action in most workflows.
Send a new SMS campaign
Sends an SMS to the contact's mobile number. You write the message text directly in the action block and set the timing.
Send an internal notification
Sends an email notification to someone inside your organisation, for example to alert a sales colleague that a contact clicked a link or completed a contact form. You enter the recipient address, subject, and message content. This is the standard way to link automated marketing signals to manual follow-up.

Wait actions
Wait for a set time or date
Pauses the workflow until a fixed date or for a set duration (minutes, hours, days, weeks, or months) before moving to the next block. Use this to space out emails in a nurture series.
Wait until a condition is met
Pauses the workflow until a specific trigger starts for the contact, for example until they open a campaign or reach a certain date. You can also add a fixed date condition so the contact does not stay paused indefinitely. When that date arrives without the condition being met, the contact moves to the next block anyway.
Contact actions
Add to interest
Subscribes the contact to a specified interest as they pass through this block. Useful for tagging contacts based on where they are in a series or what they have done.
Remove from interest
Removes the contact from a specified interest.
Update a contact field
Sets a custom field on the contact to a specific value. Useful for tracking workflow progress, such as setting an "Onboarding status" field to "Complete" when a contact reaches the end of a welcome series, or flagging a contact as "Converted" for use in later workflow conditions.
Delete a contact
Permanently removes the contact from your database. This cannot be undone. Use this action consciously, usually in database hygiene workflows to remove contacts who meet specific inactivity criteria. See "Create a workflow to delete contacts" for a step-by-step example with safety conditions.
Unsubscribe contact
Moves the contact from confirmed to your blacklist and prevents re-importing. A contact can still re-subscribe via an opt-in form. Use this action consciously, usually in database hygiene workflows for contacts who meet specific criteria.
The if/else block
The if/else block splits the workflow into two paths based on a condition. Contacts who meet the condition follow the Yes path; contacts who do not follow the No path. You can check any trigger condition listed above, including interests, field values, campaign interactions, and completed forms.
If/else blocks make your workflows adaptive: they route contacts based on what they actually did, instead of sending everyone the same series regardless of their behaviour.
Next steps
- See "Get started with workflows" for an overview of workflow concepts and the planning steps before building.
- See "Create a workflow" for a step-by-step walkthrough of building a workflow in the builder.
- See "Workflow examples" for eight ready-to-use scenarios that use these blocks in practice.