Why Use n8n with Odoo?
n8n is a self-hosted workflow automation platform — essentially a free, open-source alternative to Zapier. It includes a native Odoo node and connects to over 400 apps. The critical difference from Zapier: n8n has no per-task pricing. You host it yourself (or use their cloud) and run unlimited workflows. For Odoo users with high automation volumes, this saves hundreds of dollars monthly.
n8n's visual workflow builder makes it accessible to non-developers, while its code nodes give developers full flexibility when needed.
n8n vs Zapier vs Make
| Feature | n8n | Zapier | Make |
|---|---|---|---|
| Pricing | Free (self-hosted) | $20+/mo | $9+/mo |
| Per-task cost | None | Yes | Yes |
| Odoo connector | Native node | Native | Native |
| Self-hostable | Yes | No | No |
| Open source | Yes | No | No |
| Data stays on-premise | Yes | No | No |
| Visual builder | Yes | Yes | Yes |
| Code nodes | JS, Python | Limited | Limited |
Step 1: Install n8n
# Docker (recommended)
docker run -d --name n8n \
-p 5678:5678 \
-v n8n_data:/home/node/.n8n \
-e N8N_BASIC_AUTH_ACTIVE=true \
-e N8N_BASIC_AUTH_USER=admin \
-e N8N_BASIC_AUTH_PASSWORD=your_password \
n8nio/n8n
# Or with npm
npm install n8n -g
n8n startStep 2: Configure Odoo Credentials in n8n
- Open n8n at
http://localhost:5678 - Go to Credentials → Add Credential → Odoo
- Enter your Odoo URL, database name, username, and API key
- Test the connection
Step 3: Build Your First Workflow
Create a workflow that syncs new CRM leads to a Google Sheet and sends a Slack notification:
- Add Odoo trigger node: Watch for new
crm.leadrecords - Add Google Sheets node: Append row with lead name, email, and source
- Add Slack node: Send message to #sales channel
- Connect the nodes and activate the workflow
Popular n8n + Odoo Workflows
Lead Enrichment Pipeline
Odoo New Lead → Clearbit Enrichment → Update Odoo Lead →
IF score > 50 → Slack Notification to Sales
ELSE → Add to Mailchimp nurture listOrder Fulfillment Automation
Odoo SO Confirmed → Create Shipping Label (EasyPost) →
Update Odoo Delivery → Send Tracking Email (SendGrid) →
Update Customer PortalInvoice Reminder Chain
Schedule (daily) → Query Overdue Invoices (Odoo) →
IF 7 days overdue → Send Email Reminder
IF 14 days overdue → Send SMS (Twilio)
IF 30 days overdue → Create Collection TaskMulti-Channel Order Sync
Shopify New Order → Create Odoo SO
WooCommerce New Order → Create Odoo SO
Amazon New Order → Create Odoo SO
(All flow to unified Odoo fulfillment)Using the Odoo Node
n8n's Odoo node supports these operations:
- Create: Create records in any Odoo model
- Read: Fetch records by ID
- Search: Search records with domain filters
- Update: Update existing records
- Delete: Remove records
- Custom API Call: Execute any Odoo method
// n8n Odoo node configuration example
{
"resource": "crm.lead",
"operation": "create",
"fields": {
"name": "{{$node['Typeform'].json['fields']['name']}}",
"email_from": "{{$node['Typeform'].json['fields']['email']}}",
"phone": "{{$node['Typeform'].json['fields']['phone']}}"
}
}Advanced: Code Node for Complex Logic
When the visual builder is not enough, use n8n's Code node for custom JavaScript or Python:
// Calculate lead score based on multiple data points
const lead = $input.all()[0].json;
let score = 0;
if (lead.email && !lead.email.includes('gmail')) score += 20; // Business email
if (lead.phone) score += 10;
if (lead.company_name) score += 15;
if (lead.country_id && lead.country_id[1] === 'United States') score += 10;
if (lead.expected_revenue > 10000) score += 25;
return [{ json: { ...lead, lead_score: score } }];n8n Pricing
| Option | Cost | Features |
|---|---|---|
| Self-hosted (Community) | Free | All features, unlimited workflows |
| n8n Cloud Starter | $20/mo | Managed, 5 active workflows |
| n8n Cloud Pro | $50/mo | 50 active workflows, priority |
DeployMonkey + n8n
DeployMonkey instances pair perfectly with self-hosted n8n. Run n8n on the same server or a separate container, connect it to your Odoo instance, and build unlimited automation workflows with zero per-task costs.