Mastering the Odoo Node in n8n: Real-World Automation for Developers and Digital Agencies

Learn how to automate Odoo workflows with n8n's powerful Odoo Node. Complete developer guide with real examples for lead management, invoice automation, and client delivery.

Published on October 15, 2025 15 min read Developer Guide
Mastering the Odoo Node in n8n - Developer automation workflow diagram showing Odoo integration with n8n for lead management and invoice automation

1. Introduction: How I Discovered the Power of n8n + Odoo

When managing multiple client projects in a digital agency, we relied heavily on Odoo to centralize CRM, sales, and invoices. But as the number of leads and clients grew, manual operations became a bottleneck — importing leads, updating statuses, and sending follow-up notifications were time-consuming and error-prone.

That's when I integrated n8n — the open-source automation platform — and discovered how its Odoo Node could turn repetitive ERP tasks into fully automated workflows. This article shares my technical experience building real use cases for lead management and client delivery using Odoo + n8n.

💡 What You'll Learn

  • How to set up n8n with Odoo authentication
  • Real automation workflows for lead management
  • Invoice and contact automation examples
  • Production deployment and scaling tips

2. The Technical Setup

Requirements

  • Self-hosted Odoo instance (we used v16)
  • n8n deployed on a Hetzner server
  • Odoo API credentials: Base URL, Database, Username, Password

Authentication

In n8n, configure a new Odoo credential:

Base URL: https://your-odoo-instance.com Database: your_database_name Username: automation@agency.com Password: ********

The Odoo node connects via JSON-RPC, so it can perform any CRUD operation on Odoo models like crm.lead, res.partner, or account.move.

3. Use Case 1: Importing Leads from Odoo and Delivering to Clients

In our agency, we often needed to extract leads generated in Odoo and automatically deliver them to clients in real time.

Workflow

  1. Trigger: Cron node runs every hour
  2. Action: Odoo Node → "Get Many" from crm.lead where stage_id = 'Qualified' and delivery_status = False
  3. Transform: Function Node → Format lead data
  4. Deliver: HTTP Node → POST leads to the client's CRM or Google Sheet

Example Odoo Node Query

{ "domain": [["stage_id", "=", "Qualified"], ["delivery_status", "=", false]], "limit": 50 }

Function Node (transform payload)

return items.map(item => ({ json: { client_name: item.json.contact_name, phone: item.json.phone, email: item.json.email_from, city: item.json.city } }));

Result

n8n marks the lead as delivered (delivery_status = true) in Odoo via another Odoo Node — ensuring each lead is sent only once. This workflow alone eliminated hours of manual export/import work every day.

4. Use Case 2: Automating Lead Delivery When Stage Changes

We later improved this by making it event-driven.

Trigger

Webhook in n8n receives stage change events from Odoo via the Odoo API or a scheduled check.

Action Flow

  1. Detect when a lead moves from "New" → "Qualified"
  2. Automatically deliver to the assigned client
  3. Update the delivery_log field in Odoo

Example Logic

if ($json.stage_id[1] === 'Qualified') { // Trigger client delivery process }

We also added notifications in Slack for the sales team:

"New qualified lead delivered to Client X — 15 min ago."

This created full visibility across teams.

5. Use Case 3: Contact and Invoice Automation

Managing customer communications was another repetitive area.

Workflow:

  1. Trigger: Odoo Node → New or updated record in res.partner (contacts)
  2. Action: Update marketing CRM or email list automatically

Then, when a new invoice was created in Odoo (account.move model):

  1. Trigger: Odoo Node detects new invoice
  2. Action: Send Email (via n8n Email or Gmail Node) → Notify accounting + customer
  3. Optional: Send Slack message to the sales team

Example: Email Node

Subject:

New Invoice Created for {{$json.partner_id[1]}}

Body:

Invoice: {{$json.name}} Amount: {{$json.amount_total}} € Date: {{$json.invoice_date}}

This eliminated manual email sending, and clients started receiving invoices instantly after validation.

6. Developer Insights: Working with the Odoo Node

  • Any Odoo model can be accessed via the model name (e.g. crm.lead, account.move, res.partner)
  • You can use custom filters in the domain parameter:
[["x_custom_field", "=", "Ready"], ["create_date", ">=", "2024-01-01"]]
  • Use Function Nodes for logic or data transformation
  • Combine Odoo Node with HTTP, Webhook, or Database Nodes for more complex pipelines
  • For unsupported endpoints, use the HTTP Request Node directly with Odoo's JSON-RPC API

7. Scaling and Hosting Tips

Since we deployed this system in production:

  • n8n was hosted on a Hetzner cloud instance with 4 CPUs / 8 GB RAM
  • Used queue mode + Redis to handle concurrent jobs
  • Encrypted all credentials and sensitive data with environment variables
  • Backed up workflows as JSON exports in Git

This setup processed thousands of leads weekly with minimal maintenance.

🚀 Want to Deploy n8n Quickly?

At AutomateSpot, we offer 5-minute n8n deployments on Hetzner servers with everything pre-configured. Perfect for agencies and developers who want to focus on building workflows, not server management.

Deploy n8n Now →

8. Conclusion

The Odoo Node in n8n turned what used to be manual, multi-step operations into a set of autonomous workflows — from lead imports to contact updates and invoice notifications.

As a developer, using n8n allowed me to design complex Odoo automations visually but with full API-level control — no need for heavy custom modules or scripts.

If you're managing data, clients, or business operations inside Odoo — pairing it with n8n is one of the most flexible, scalable, and developer-friendly automation stacks you can build.

💡 SEO & Dev Tags

Tags: n8n odoo, odoo automation, api integration, erp workflows, developer guide, automation engineering

Ready to Automate Your Odoo Workflows?

Deploy n8n in 5 minutes and start building powerful Odoo automations today.

Start Free Account