Cold Email Outreach Directly in Odoo - No Third-Party Tool Needed
Outbound sales is part of daily life for many service providers and agencies. You research leads, reach out, follow up - and hope for replies. There are specialised tools for this: Lemlist, Woodpecker, Instantly, Apollo. All costing between 50 and 200 euros per month per user.
The problem: if you're already using Odoo as your CRM, your leads are there. And now you're supposed to export them, upload them to an external tool, run campaigns there - and somehow sync the results back into the CRM?
We asked ourselves: Why not just build this where the data already lives?
The Starting Point
Odoo Community Edition is a solid CRM. Managing leads, maintaining contacts, tracking pipelines - that all works. What's missing is everything around proactive outbound sales:
- No email sequences (automatic follow-ups)
- No tracking of whether a lead has replied
- No way to send from different sender addresses
- No campaign management for outreach
Odoo Enterprise offers more here, but even Enterprise doesn't have a dedicated cold email outreach feature. Most teams therefore turn to external tools.
What Goes Wrong
External outreach tools solve the email problem - but they create new ones.
Data silos. Leads live in the CRM, campaigns in the outreach tool. Who wrote what and when? Which system do you check?
Sync issues. Every integration between CRM and outreach tool is a potential point of failure. Leads get created twice, status updates get lost, contacts accidentally get contacted multiple times.
Per-user costs. Most outreach tools charge per seat. With a team of 5 salespeople, that quickly becomes 500 to 1,000 euros per month - on top of CRM costs.
Compliance risk. Data gets transmitted to yet another third party. Depending on your industry and data protection requirements, that's a real problem.
Our Solution: Outreach Directly in the CRM
Instead of connecting an external tool, we built an Odoo module that adds cold email outreach as a native CRM function. The principle: Everything stays in one system.
Multi-Step Email Sequences
A campaign consists of multiple steps - typically an initial outreach and two to three follow-ups. An email template is defined for each step, with configurable delays between steps.
Example sequence:
- Step 1 - immediately: Initial outreach referencing the company
- Step 2 - after 3 days: Short follow-up with concrete value
- Step 3 - after 5 days: Final attempt with an alternative perspective
The templates support over 20 placeholders - first name, company name, personal signature, and more. Every email feels personalised, even though it's sent automatically.
Sender Management
In real outreach, you don't send everything from one address. Different team members have different email addresses, different signatures, sometimes different SMTP servers.
The module handles this: each sender has their own configuration with individual signature and dedicated SMTP server. The campaign defines who sends.
Lead Tracking With Clear Status
Every lead in a campaign goes through a defined lifecycle:
New → Contacted → Replied → Positive / Not Now / Not Interested
The transitions happen automatically: when an email is sent, the status changes to "Contacted". When a lead replies, the sequence stops and the status moves to "Replied". From there, a human takes over.
Bulk Assignment
Assign 200 leads to a campaign? That works directly from the list view: select leads, choose campaign, done. No export, no import, no CSV.
Do Not Contact
Compliance is built in: a "Do Not Contact" flag can be set at lead, contact, or company level. Flagged contacts are automatically excluded from all campaigns - across three levels, so nothing slips through.
What We Deliberately Didn't Build
Just as important as the features is what we left out:
- No email tracking (open/click) - Tracking pixels are problematic from a data protection perspective and deliver increasingly unreliable data. We track replies, not opens.
- No custom frontend - The module uses the existing Odoo interface entirely. No new app to learn, no additional UI.
- No external infrastructure - Everything runs through existing SMTP servers. No additional services, no third-party API keys.
The Actual Point
This module isn't a replacement for Lemlist or Apollo. Those tools have features we don't cover - A/B testing, LinkedIn integration, warmup functions. For teams where outreach is a core competency, specialised tools can be the right choice.
But for the majority of teams we know - agencies with 5 to 20 people, service providers with project-based sales, startups with founder-led sales - the need is different:
They need a solid core function right where their data already is.
No migration, no new tool, no additional subscription. Instead: create a campaign, assign leads, start the sequence. All in the CRM, all in one place.
What It Costs - And What It Saves
A comparison on an annual basis for a team of 5 users makes the difference clear:
External tools:
- Lemlist (5 users) - approx. 3,000 to 6,000 EUR per year
- Woodpecker (5 users) - approx. 2,400 to 4,800 EUR per year
- Instantly (5 users) - approx. 1,800 to 3,600 EUR per year
Our Odoo module:
- One-time 49 EUR - no recurring costs, no user limits
Of course, you're not comparing feature sets 1:1 here. But for the described use case - structured cold emailing with follow-ups directly in the CRM - the module covers the need. And the data stays where it belongs.
Conclusion
Outreach isn't rocket science. The core mechanic is simple: contact a lead, follow up, wait for a reply. You don't need a SaaS tool costing 100 euros per month for that.
What you need is clean integration into the system where the leads already live. That's exactly what we built.
The module is available on the Odoo App Store and works with Odoo Community Edition 16, 17, 18, and 19. It's a one-time purchase with no recurring costs and no user limit.
Using Odoo and considering a separate outreach tool? It's worth checking first whether your existing system isn't already the better foundation.