Odoo Grabber
What Is the Odoo Grabber?
The Odoo Grabber is a zSYNC worker type whose sole job is to retrieve/read data from an Odoo system and then pass that data into a zSYNC pipeline as a structured JSON-like payload. It's the first active step in any import or sync pipeline that starts with Odoo as the source.
-
Data Source: An Odoo instance (local or remote).
-
Output: Structured data ready for mapping + transformation steps.
-
It does not write data — that's for "dumpers."
🧰 How It Works — Step by Step
1️⃣ Pipeline Placement
In any zSYNC pipeline, the Grabber is typically placed after the automatic start worker and usually before mapping and dumping steps.
start → Odoo Grabber → Mapper → Dumper → end
2️⃣ Configure the Odoo Grabber
When you click on the Odoo Grabber in the pipeline UI, you'll configure:
✅ Authentication • Local Odoo – uses the same Odoo where zSYNC is installed. • Remote Odoo – use credentials for another Odoo instance.
✅ Data Model
• Choose the Odoo model from which to fetch data (e.g., product.product, sale.order).
• This tells zSYNC which datatype/records to retrieve.
✅ Filters / Domain
• Define a filter to limit records — for example, only records changed since the last run:
[('write_date','>=', last_execution_date)].
3️⃣ Output Format
You choose how the Grabber structures the fetched data:
📌 Browsable Data — efficient, returning only a collection of browsable odoo records, referenced by ID. Avoids pre-loading record field data. 📌 Raw JSON — human-readable. Pre-loads record field data.
🧩 When You Use the Odoo Grabber
Typical Use Cases
📍 Regular sync of changed records Like pulling all products/orders changed since last run. 👉 Great for incremental updates.
📍 Full data load On the first run, you often fetch all records to seed a destination system. 👉 zSYNC handles large result sets via cron/queue.
📍 Filtered data pipelines You can apply domain filters to pull only specific subsets of records.
📊 Developer Notes
What the Grabber Produces
The Grabber's job is collections of Odoo records in structured data (JSON-like). This then feeds onward to:
🔹 The Mapper (field mapping + transformation) 🔹 The Dumper (pushing data to a destination system)
Inside zSYNC Architecture
In zSYNC, workers are discrete units of logic:
| Worker | Function |
|---|---|
| Grabber | Reads data (like from Odoo, SQL DB, Excel, API) |
| Mapper | Re-shapes and renames fields |
| Dumper | Writes to a target (Odoo, API, DB, file) |
This means the *Odoo Grabber is purely a data reader. It does not alter the data — only captures it for use downstream.
Summary
✔️ The Odoo Grabber pulls data from your Odoo system into zSYNC. ✔️ It's like telling zSYNC what to read and when. ✔️ You specify what model and filters to apply so only relevant data comes through. ✔️ Works with both local and remote Odoo systems. ✔️ After grabbing, the data gets mapped and sent to its destination.
Examples:

