Integrating OpenCode with Odoo data via CData CLI
OpenCode is an open source AI coding agent from Anomaly that runs in your terminal, desktop, or IDE. It connects to over 75 LLM providers, including Claude, GPT, Gemini, and local models, and stores none of your code or context data. It runs multiple agent sessions in parallel on the same project, each with its own context. Its support for integrations, AGENTS.md configuration files, and a TypeScript/JavaScript plugin system makes it well-suited for tool-driven data workflows through CData CLI. By describing your data goals in plain language, OpenCode handles driver configuration, license activation, connection creation, and query execution from a single prompt.
This article walks through how to connect Odoo data to OpenCode through CData CLI.
Prerequisites
- OpenCode installed (either Terminal CLI or Desktop): OpenCode | Download
- CData CLI installed
- Access to Odoo
About Odoo Data Integration
Accessing and integrating live data from Odoo has never been easier with CData. Customers rely on CData connectivity to:
- Access live data from both Odoo API 8.0+ and Odoo.sh Cloud ERP.
-
Extend the native Odoo features with intelligent handling of many-to-one, one-to-many, and many-to-many data properties. CData's connectivity solutions also intelligently handle complex data properties within Odoo. In addition to columns with simple values like text and dates, there are also columns that contain multiple values on each row. The driver decodes these kinds of values differently, depending upon the type of column the value comes from:
- Many-to-one columns are references to a single row within another model. Within CData solutions, many-to-one columns are represented as integers, whose value is the ID to which they refer in the other model.
- Many-to-many columns are references to many rows within another model. Within CData solutions, many-to-many columns are represented as text containing a comma-separated list of integers. Each value in that list is the ID of a row that is being referenced.
- One-to-many columns are references to many rows within another model - they are similar to many-to-many columns (comma-separated lists of integers), except that each row in the referenced model must belong to only one in the main model.
- Use SQL stored procedures to call server-side RFCs within Odoo.
Users frequently integrate Odoo with analytics tools such as Power BI and Qlik Sense, and leverage our tools to replicate Odoo data to databases or data warehouses.
Getting Started
Step 1: Download the skill (one-time setup)
Always use CData CLI with the official Skill.
-
The official CData CLI Skill on GitHub can be downloaded using npx skills through the terminal:
npx skills add CDataSoftware/cli-skills -
Follow the prompts in the terminal to install for OpenCode.
Step 2: Set up the project directory
Create a project directory to contain all project files. Below are examples for using OpenCode in either the Terminal or Desktop app.
OpenCode in Terminal CLI
Navigate to your desired directory in the terminal and start a session with the opencode command.
OpenCode Desktop App
Open the desktop app and select your project folder as the working directory.
Step 3: Establish the driver and connection
Describe what you want to accomplish with the CLI and Odoo data.
I would like to build a command line app that connects to Odoo and checks for updates from res_users. Make sure to include data from important columns like name and email.
This prompt automatically loads the Skill and kicks off the following process. You can also manually prompt the agent for each of the following steps.
- Driver setup: OpenCode checks for an existing CData Odoo driver, or searches and downloads a new one:
cdatacli drivers listcdatacli drivers search --driver "Odoo"cdatacli drivers download --artifact-id <artifact-id>- Activation: Activate the Odoo driver with a single command for a trial or full license:
cdatacli drivers activate "Odoo" --name "<name>" --email "<email>" --trialcdatacli drivers activate "Odoo" --name "<name>" --email "<email>" --key "<product-key>"- Establish the connection: Check for existing Odoo connections or create a new one:
cdatacli connection listcdatacli connection create --driver Odoo --name my_odoo_connection --connectionstring "Prop1=value1;Prop2=value2;..."- Create a Odoo skill (if applicable): CData provides driver instructions for popular sources that can be used to create a source-specific skill to guide the agent through best practices for the driver.
- Run the following command to generate a skill file and save the output to your skills directory. You can choose to save the skill either at the project level or globally. (Note: If "No instructions available for Odoo" error is returned, no driver instructions exist and you can continue to use main driver skill)
cdatacli drivers skill "Odoo" > ~/skills/cdata-odoo/SKILL.md
Step 4: Query Odoo data
With the CData driver configured, your agent can execute queries and write code against live Odoo data:
cdatacli query sql --connection my_odoo_connection --sql "SELECT * FROM res_users"
Query Odoo data directly from your terminal with CData CLI
OpenCode and CData CLI together give your AI coding agent a direct path to live Odoo data without custom middleware, scheduled syncs, or manual setup at each step. Describe your goal, and the agent handles driver configuration, connection setup, and query execution.
Download the free CData CLI and start a free 30-day trial of the CData JDBC Driver for Odoo today.