Workflow blocks and triggers reference
This article is a complete reference for everything available in the Flexmail workflow builder: the four
block types, all available trigger conditions, and all available actions. Use it when designing a workflow or when you need to check what a specific block or trigger can do.
The five block types
- Start block, defines who enters the workflow and what 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; those who don't take the No path.
- Contact block, makes changes to a contact's profile
Triggers
Triggers are the conditions that define 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 being checked).

Message triggers
These trigger based on a contact's interaction with a specific message, across multiple campaigns:
- Has opened the message.
- 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.
- Has not openend 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's 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 openend 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 inside 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
Date field lets you schedule automation steps relative to a date stored on a contact record. It can be used inside wait, start and If/Else blocks.
Any date-type field on the contact record such as date of birth, contract start date, renewal date, or event date van be used.
The trigger can fire once or recurrently: (monthly, bimonthly, quarterly, twice a year, yearly):
- On the exact date field value
- Before the date field value by a specified number of days, weeks, or months
- After the date field value by a specified number of days, weeks, or months
Send actions
Launch a new campaign
Sends an email campaign to the contact. You configure the sender name and address, choose the message, and set the timing: immediately, at a fixed time or on specific days within a specific time frame. This is the most commonly used action in most workflows.
Launch 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, alerting a sales rep that a contact has clicked a link or filled in a contact form. You specify the recipient address, subject, and message content. This is the standard way to bridge automated marketing signals to human follow-up.

Wait actions
Wait for a set time or date
Pauses the workflow until a fixed date or for set amount of time (minutes, hours, days, or weeks or months), before moving to the next block. Use this to space out emails in a nurture sequence.
Wait until a condition is met
Pauses the workflow until a specific trigger fires 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 doesn't remain paused indefinitely. When the date is reached 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 sequence or what they've 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, for example, 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 subsequent workflow conditions.
Delete a contact
Permanently removes the contact from your database. This cannot be undone. Use this action deliberately, typically in database hygiene workflows for removing 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 through an opt-in form. Use this action deliberately, typically 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 go down the Yes path; those who don't go down the No path. You can check any of the trigger conditions listed above, including interests, field values, campaign interactions, and form completions.
If/else blocks are how you make workflows adaptive, routing contacts based on what they've actually done rather than sending everyone the same sequence 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-adapt scenarios that use these blocks in practice.