Odoo Marketing Automation: Triggered Workflow Journeys
Build multi-step, behavior-driven campaigns in Odoo using sequenced Email, SMS, and Server Action activities with conditional branching — the engine behind welcome flows, lead scoring, and re-engagement series.
What Is Odoo Marketing Automation?
Odoo Marketing Automation is the application used to create dynamic campaigns with actions that automatically occur within a defined duration — such as sending a series of timed emails or engaging with leads based on how they interact with your marketing. Unlike a one-off broadcast (covered in our Email Marketing guide), a Marketing Automation campaign is a workflow of activities that executes over time and branches based on recipient behavior.
A campaign, in Odoo's model, refers to a workflow of activities automatically executed against a target audience, based on predefined filters, triggers, and durations. Installing Marketing Automation also installs the Email Marketing app, because most of its features depend on it. Odoo further recommends installing CRM and SMS Marketing to access every feature the module offers.
If you need single-send newsletters or announcements, see /learn/email-marketing — this guide covers the multi-step journey engine only.
Campaigns, Workflows, and Activities
Every campaign in Odoo Marketing Automation has a single workflow — the overall activity structure of the campaign — but that workflow can be composed of any number of activities arranged in a sequence. The workflow is defined in the Workflow section of the campaign form.
Odoo ships six ready-made campaign templates: Tag Hot Contacts, Welcome Flow, Double Opt-in, Commercial prospection, Schedule Calls, and Prioritize Hot leads. The template cards only display when there are no existing campaigns in the database, so a fresh install gives you a fast start.
Each campaign targets a filtered domain of records (Lead/Opportunity, Contact, Event Registration, and so on). Once the campaign starts, the workflow sequences activities against that audience.
- One campaign = one workflow, made of many sequenced activities
- Six out-of-the-box templates (Welcome Flow, Double Opt-in, Tag Hot Contacts, etc.)
- Targets are defined by filters/domains over CRM and contact records
- Installing the app auto-installs Email Marketing; CRM and SMS Marketing recommended
The Three Activity Types: Email, SMS, Server Action
There are three types of activities available in the Marketing Automation app: Email, SMS, and Server Action. Each activity sits at a node in the workflow and runs after its configured trigger and delay.
Email and SMS activities send a message to the target audience. Server Action activities are the escape hatch to anything else inside the database — they execute an internal operation rather than sending a message.
| Activity type | What it does | Typical use |
|---|---|---|
| Sends an email to the target audience at the configured step | Welcome message, nurture content, re-engagement | |
| SMS | Sends a text message to the target audience | Time-sensitive alerts, reminders, short offers |
| Server Action | Executes an internal database action (no outbound message by default) | Update records, create activities, tag leads, run Python, fire webhooks |
Triggers and Conditional Branching
Each activity has a trigger that determines when it runs. Trigger types include: beginning of workflow (executed when the campaign is started), another activity, Mail: opened, Mail: not opened, Mail: replied, Mail: not replied, Mail: clicked, Mail: not clicked, Mail: bounced, SMS: clicked, SMS: not clicked, and SMS: bounced.
Branching is achieved through child activities. A child activity can be added to a workflow via the Add child activity button beneath a parent activity, and the child's available trigger conditions depend on the parent's type. For an email parent, the child trigger conditions are: Opened, Not Opened, Replied, Not Replied, Clicked, Not Clicked, and Bounced.
This conditional branching is what turns a linear sequence into a behavioral journey — for example, sending one follow-up to recipients who opened a welcome email and a different nudge to those who did not.
- Trigger options cover the full Mail/SMS interaction surface (opened, clicked, replied, bounced, and their negatives)
- Child activities branch off a parent based on that parent's behavior
- Delays use a whole-number interval (1, 2, 3...) plus a unit: Hours, Days, Weeks, or Months
- An interval of 0 Hours executes at the next Mail: Email Queue Manager cron run — not literally instantly
Server Actions: The Workflow Power Tool
Server Action activities are where Odoo Marketing Automation stops being just a messaging tool and becomes a process automation engine. When Server Action is selected as the Activity Type, Odoo reveals a Create Server Action window whose Type drop-down includes: Update Record, Create Activity, Send Email, Send SMS, Add Followers or Remove Followers, Create Record, Execute Code (a block of Python), Send Webhook Notification (a POST request to an external system), and Execute Existing Actions.
That list means a workflow can mutate CRM records directly: assign a lead to a salesperson, tag a contact as hot, create a follow-up call activity in Discuss, push an event to an external system via webhook, or run arbitrary Python against the database. For SMEs, this is often the deciding capability — the same campaign that nurtures a lead can also reclassify and route it.
Because Server Actions run inside the Odoo database, they keep everything in one system with no extra platform to license or integrate.
| Server Action | Purpose |
|---|---|
| Update Record | Mutate an existing record (e.g., set a lead's stage or tag) |
| Create Record | Create a new record as part of the journey |
| Create Activity | Create a CRM/Discuss activity for a user to action |
| Send Email / Send SMS | Send a message outside the Email/SMS activity node |
| Add/Remove Followers | Manage who is following a record |
| Execute Code | Run a block of Python inside the database |
| Send Webhook Notification | POST to an external system |
| Execute Existing Actions | Invoke any already-configured server action |
Reporting and Per-Activity Metrics
Odoo Marketing Automation exposes reporting through three views: Link Tracker (metrics of links to track clicks), Traces (results of all activities from all campaigns), and Participants (overview of participants across all campaigns).
On the running workflow itself, each activity displays live engagement as Success and Rejected counts, so you can see at a glance which step is converting and which is losing recipients. This per-activity transparency is one of Odoo's practical strengths: you don't need a separate analytics tool to diagnose a journey.
- Link Tracker — click metrics across tracked links
- Traces — per-activity results across every campaign
- Participants — audience overview across campaigns
- Per-activity Success and Rejected counters on the live workflow
Dynamics 365 Equivalent: Customer Insights - Journeys
The Microsoft equivalent is Dynamics 365 Customer Insights - Journeys (CI-J), the renamed and evolved successor to Dynamics 365 Marketing. Microsoft removed the legacy 'outbound marketing' module in May 2026 and consolidated the experience around real-time, segment- and trigger-based journeys.
Where Odoo centers on one campaign as one workflow of sequenced activities, CI-J centers on segment-based and trigger-based journeys across email, text message, and push notification channels. The 'what' (the communication) can be an email, push notification, or text message; the 'who' is defined by a segment; the 'when' is either a planned time or an event trigger.
CI-J exposes three trigger categories: interaction triggers (Email Opened, Email Link Clicked, SMS/push equivalents — analogous to Odoo's Mail: opened/clicked child triggers), business triggers (Dataverse record changes such as Contact created, Lead created, Opportunity created, Incident created, Marketing form submitted — analogous to Odoo server-action-driven CRM events), and custom triggers capturing any customer action or business event. Triggers can start, continue, or stop a journey.
Branching in CI-J uses attribute branches (profile-based yes/no, e.g., birthday) and if/then branches (behavior-based, wait-for-event-with-timeout — the direct parallel to Odoo's Not Opened / Not Clicked child paths). Both branch types use simple yes/no logic.
- Odoo: one database, one workflow per campaign, Python server actions, bundled templates — best for SMEs wanting a flat, integrated builder
- D365 CI-J: segment + trigger journeys, push channel, Power Platform/Dataverse depth, AI recommendations — best at enterprise scale
- Both platforms support behavioral branching; both can mutate CRM records as part of a journey
- We implement both and are platform-neutral — the right choice depends on your stack, scale, and team
Choosing the Right Fit for an SME
For an SME already running Odoo, Marketing Automation is the natural choice: it shares one database with CRM, Sales, and other Odoo apps, requires no extra platform, and lets server actions touch any record directly. The bundled templates (Welcome Flow, Double Opt-in, Prioritize Hot leads) cover the most common SME journeys out of the box.
For an SME on (or moving to) Dynamics 365, Customer Insights - Journeys brings deeper segmentation, push notifications, native Dataverse business-event triggers, and Customer Insights - Data profile unification. The trade-off is more platform surface area to configure and govern.
Because Flectic implements both, we help you choose based on your existing systems and growth plan rather than a vendor preference — and we deliver marketing automation projects that are designed to deliver up to 3x faster when you're ready to ship.
Frequently asked questions
What is Odoo Marketing Automation used for?
It builds dynamic campaigns — workflows of sequenced Email, SMS, and Server Action activities that run automatically over a defined duration. Typical uses include welcome/onboarding series, lead scoring by email engagement, re-engagement of non-openers, double opt-in confirmation, and routing hot leads to sales via server actions.
Does Odoo Marketing Automation replace Email Marketing?
No. Installing Marketing Automation actually installs Email Marketing, because most of its features depend on it. Email Marketing handles one-off broadcast campaigns (newsletters, announcements); Marketing Automation handles multi-step triggered journeys. Many teams use both — see our /learn/email-marketing guide for the broadcast side.
How does branching work in an Odoo campaign?
You add a child activity beneath a parent activity. The child's trigger conditions depend on the parent's type — for an email parent you can branch on Opened, Not Opened, Replied, Not Replied, Clicked, Not Clicked, or Bounced. This lets the journey fork based on whether the recipient engaged.
What is the Dynamics 365 equivalent of Odoo Marketing Automation?
Dynamics 365 Customer Insights - Journeys (CI-J), the successor to Dynamics 365 Marketing. The legacy outbound marketing module was removed in May 2026. CI-J uses segment-based and trigger-based journeys across email, SMS/text, and push channels, with interaction triggers, business triggers (Dataverse record changes such as Contact/Lead/Opportunity/Incident created and Marketing form submitted), and custom triggers. Branching uses attribute and if/then branches — the parallel to Odoo's child-activity conditions.
Can an Odoo campaign update CRM records, not just send messages?
Yes. A Server Action activity can Update Record, Create Record, Create Activity, Add/Remove Followers, Execute Python code, Send a Webhook Notification, or Execute Existing Actions. This means a journey can tag a lead, assign a salesperson, create a follow-up call, or push to an external system — not just send an email or SMS.
Ship your marketing automation journey faster
Whether you're building welcome flows and lead-scoring series in Odoo or orchestrating segment-based journeys in Dynamics 365 Customer Insights, Flectic implements both platforms — platform-neutral, AI-accelerated delivery designed to deliver up to 3x faster. Book an ERP Readiness Call and we'll map your journey engine to your existing CRM and stack.
Sources
- Use the Odoo Marketing Automation application to create dynamic campaigns with actions that automatically occur within a defined duration, such as sending a series of timed mass emails or engaging with leads based on their interactions with marketing campaigns. — https://www.odoo.com/documentation/19.0/applications/marketing/marketing_automation.html (verified Verified verbatim from Odoo 19.0 official documentation (fetched 2026-06-28).)
- Installing the Marketing Automation application also installs the Email Marketing app, as most features of Odoo Marketing Automation are dependent on that specific application. Additionally, install the CRM and SMS Marketing applications to access all features. — https://www.odoo.com/documentation/19.0/applications/marketing/marketing_automation.html (verified Verified verbatim from Odoo 19.0 official documentation — 'Important: Installing the Marketing Automation application also installs the Email Marketing app... Additionally, install the CRM and SMS Marketing...' (fetched 2026-06-28).)
- A campaign refers to a workflow of activities that are automatically executed to a target audience, based on predefined filters, triggers, and durations of activities. — https://www.odoo.com/documentation/19.0/applications/marketing/marketing_automation.html (verified Verified verbatim from Odoo 19.0 official documentation (fetched 2026-06-28).)
- Odoo provides six campaign templates: Tag Hot Contacts, Welcome Flow, Double Opt-in, Commercial prospection, Schedule Calls, and Prioritize Hot leads; template cards only display when there are no existing campaigns. — https://www.odoo.com/documentation/19.0/applications/marketing/marketing_automation.html (verified Verified verbatim from Odoo 19.0 official documentation — all six template names match exactly (fetched 2026-06-28).)
- There are three activity types: Email, Server action, and SMS; trigger types include beginning of workflow, another activity, Mail: opened/not opened/replied/not replied/clicked/not clicked/bounced, and SMS: clicked/not clicked/bounced. — https://www.odoo.com/documentation/19.0/applications/marketing/marketing_automation/workflow_activities.html (verified Verified verbatim from Odoo 19.0 workflow_activities documentation — trigger type list matches exactly (fetched 2026-06-28).)
- Server Action types in a Marketing Automation activity include: Update Record, Create Activity, Send Email, Send SMS, Add/Remove Followers, Create Record, Execute Code (Python), Send Webhook Notification, and Execute Existing Actions. — https://www.odoo.com/documentation/19.0/applications/marketing/marketing_automation/workflow_activities.html (verified Verified verbatim from Odoo 19.0 workflow_activities documentation — Type drop-down list matches exactly (fetched 2026-06-28).)
- Child activity trigger conditions for an email parent activity: Opened, Not Opened, Replied, Not Replied, Clicked, Not Clicked, and Bounced; execution delay uses a whole-number interval plus Hours/Days/Weeks/Months. — https://www.odoo.com/documentation/19.0/applications/marketing/marketing_automation/workflow_activities.html (verified Verified verbatim from Odoo 19.0 workflow_activities documentation (fetched 2026-06-28).)
- Reporting in Marketing Automation includes Link Tracker (click metrics), Traces (results of all activities across campaigns), and Participants; each running activity displays Success and Rejected counts. — https://www.odoo.com/documentation/19.0/applications/marketing/marketing_automation.html (verified Verified verbatim from Odoo 19.0 official documentation (fetched 2026-06-28).)
- Customer Insights - Journeys has three trigger types: custom triggers, interaction triggers (Email Link Clicked, Email Opened, etc.), and business triggers (Contact created, Lead created, Opportunity created, Incident created, Marketing form submitted); triggers can start, continue, or stop a journey. — https://learn.microsoft.com/en-us/dynamics365/customer-insights/journeys/real-time-marketing-triggers (verified Verified verbatim from Microsoft Learn CI-J triggers documentation — all three categories and five business triggers match exactly (fetched 2026-06-28).)
- CI-J supports attribute branches (profile-based yes/no) and if/then branches (behavior-based, wait-for-event-with-timeout), both using simple yes/no logic. — https://learn.microsoft.com/en-us/dynamics365/customer-insights/journeys/real-time-marketing-branches (verified Verified verbatim from Microsoft Learn CI-J branches documentation (fetched 2026-06-28).)
- Dynamics 365 Customer Insights - Journeys previously included an outbound marketing module; this module was removed in May 2026, with guidance provided for accessing legacy tables and data. — https://learn.microsoft.com/en-us/dynamics365/customer-insights/journeys/outbound-removal-notes (verified Verified verbatim from Microsoft Learn outbound removal notes — 'This module was removed in May 2026' (fetched 2026-06-28).)
- Customer Insights - Journeys is the renamed successor to Dynamics 365 Marketing, centered on segment-based and trigger-based real-time journeys across email, text message, and push notification channels. — https://learn.microsoft.com/en-us/dynamics365/customer-insights/journeys/real-time-marketing-triggers (verified Verified from Microsoft Learn CI-J triggers documentation (fetched 2026-06-28).)