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:β

