| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
CRM (crm)
• Discuss (mail) • Calendar (calendar) • Contacts (contacts) |
| Community Apps Dependencies | Show |
| Lines of code | 2572 |
| Technical Name |
crm_sender_selection |
| License | LGPL-3 |
| Website | https://balane.tech |
| Versions | 16.0 17.0 18.0 19.0 |
Stop losing deals because you forgot to follow up.
Odoo CRM has no built-in outbound sales workflow. No sequences. No automation. No tracking. Your reps forget to follow up, leads go cold, and deals slip through the cracks.
We built this for our own sales team. Every feature exists because we hit the problem ourselves.
— Balane Tech Team
Campaign dashboard — see where every lead stands at a glance
Kanban view — all your campaigns with key metrics at a glance
Built for teams that sell outbound
B2B Sales Teams
Running outbound prospecting from Odoo CRM
Agencies
Managing outreach for multiple clients
SaaS Companies
Cold outreach to prospects at scale
Recruiters
Reaching out to candidates systematically
This replaces tools like Lemlist, Apollo Sequences or Outreach.io — inside your Odoo CRM.
No data leaving your system. No extra subscriptions. No sync headaches. Everything stays in your CRM where it belongs.
Your daily workflow with this module
Real scenarios from our own sales team.
Never miss a follow-up again
Automated sequencesAssign 200 leads to a campaign. The module schedules every follow-up automatically. Your reps open the dashboard, see what's due today, and send — each email personalized with the contact's name, company, and their own signature.
✓ 200 leads in sequence, 5 minutes setup
Assign leads to a campaign directly from the list view
Replies stop the sequence automatically
Reply trackingA contact replies? Detected automatically. Status updates to "Replied". No more follow-ups leak out. The full conversation stays in the CRM thread.
✓ Nothing falls through the cracksEach rep sends from their own email
Multi-sender managementEach rep sends from their own email with their own name, signature, and SMTP server. The recipient sees a real person — not info@ or a shared mailbox. Replies go back to the rep who sent it.
✓ Personal emails at scale
Each sender has their own display name, signature, and SMTP server
Run multiple campaigns per lead without confusion
Parallel outreach"Q1 SaaS Outreach" and "Product Launch" running in parallel? Each campaign tracks its own status, step, and due date independently.
✓ Independent tracking per campaignOne click stops all outreach to a company
Do Not ContactMark a company as "Do Not Contact" — every contact at that company is blocked across all campaigns instantly. No manual cleanup. Full audit trail.
✓ One click, full cascade, audit trail
Add contacts to a campaign directly from the contact list
Bulk queue for hands-off sending
Queue up dozens of emails, let the system send them automatically.
Queue multiple leads
Select leads in the campaign view, click "Add to Queue". Emails get queued for automatic sending.
Automatic processing
A cron job processes the queue every minute. One email at a time, no manual clicking.
Error handling
If an email fails, it's marked with the error. Fix the issue, clear the error, and retry.
Five objects. One flow. All inside Odoo.
No external tools, no API integrations, no data leaving your CRM.
Campaign form — configure sender, timing, and template sequence
Auto follow-up activities
After each email, the module creates a native Odoo activity for the next follow-up. Your reps see it in their activity feed.
SMTP tracking control
Using Brevo or similar? The module can disable open/click tracking per email via headers. Better deliverability.
Localized date formats
{{ today }} and {{ current_day }} render in the campaign's language. German or English formatting automatic.
Know where every conversation stands
Each lead tracks independently per campaign. Your rep sees exactly what to do next.
Your daily work queue — due dates, statuses, next steps
Filter by due emails and send directly from the list
Every email looks like it was written by hand
30+ placeholders pull data from the lead, contact, company, and sender automatically.
{{ first_name }}
{{ contact_name }}
{{ email }}
{{ phone }}
{{ mobile }}
{{ job_title }}
{{ title }}
{{ company_name }}
{{ street }}
{{ zip }}
{{ city }}
{{ country }}
{{ website }}
{{ seniority }}
{{ departments }}
{{ industry }}
{{ employee_count }}
{{ keywords }}
{{ technologies }}
{{ annual_revenue }}
{{ total_funding }}
{{ linkedin_url }}
{{ sender_name }}
{{ sender_email }}
{{ signature }}
{{ today }}
{{ current_day }}
{{ campaign_name }}
{{ lead_name }}
Every email looks like it was written by hand
Review every email before it goes out
No more emails with empty placeholders. The module checks every field before you hit send.
Placeholder check
Before sending, the wizard scans the email for empty placeholders. Missing {{ company_name }}? You'll know before the recipient does.
Fill missing fields inline
Missing data? Fill it in right there in the wizard. The value gets saved to the lead.
Full email preview
See the rendered subject and body with all placeholders filled in. What you see is what gets sent.
Catch missing data before the email goes out
Do Not Contact — three levels
Block at the level that makes sense. Full audit trail with reason and timestamp.
Lead
Block one specific lead from all outreach.
Contact
Block a person across all their leads.
Company
Block a company. Cascades to all contacts and leads.
DNC Reasons Tracked
GDPR Request, Unsubscribed, Bounced, Complaint, Manual — each block records why it happened and when.
Clear warning when a lead or company is blocked — sending is disabled automatically
Track delivery via your SMTP provider
Every professional SMTP service provides delivery reports. Use their dashboard to see which emails arrived, bounced, or were marked as spam.
Brevo (Sendinblue)
Transactional logs show delivery status, opens, clicks, and bounces for every email.
Mailgun, SendGrid, etc.
All major SMTP providers offer similar dashboards with delivery logs and bounce reports.
Export & Report
Export delivery data from your SMTP provider for compliance reporting.
Ships with CRM Direct Email (Free)
CRM Direct Email
Pre-fills CRM contacts as email recipients automatically. No follower workaround. Installed as a dependency.
Free • Installed AutomaticallyImport leads from Apollo.io
Use Apollo Connector to import contacts from Apollo.io with all enrichment data. Then run campaigns with personalized placeholders like {{ seniority }}, {{ industry }}, and {{ employee_count }}.
support@balane.tech
Response within 48 business hours. Bug fixes included.
What You Need
This module requires access to custom addons and is not compatible with Odoo Online (SaaS).
Installation
Tested on a standard Odoo 19 system with its declared dependencies (crm, mail). We recommend installing on a staging database first, verifying everything works, and then deploying to production.
Disclaimer
Covered: Installs and runs on fresh Odoo 19 with declared dependencies. No known security vulnerabilities. Upgrades within Odoo 19 preserve existing data.
Not covered: Compatibility with third-party or OCA modules. Customer-specific customizations. Email deliverability, spam filters, DNS, or SMTP issues. Server infrastructure or database administration.
Please log in to comment on this module