Bitrix24 Tools: catalog CLI utilities
Bitrix24 Tools
A set of Python CLI utilities for exporting Bitrix24 contacts and products, bulk-deleting products, and importing a catalog from ClickHouse on a schedule
High risk
We rate an entry high when the tool writes to external systems, handles money, production databases or secrets, or runs arbitrary commands. The CLI installs it only with your consent.
Why this level
- It can bulk-delete products from the Bitrix24 catalog irreversibly
- The import creates and updates product entries on a schedule without human confirmation
Install
Manual install
python3.12 -m venv .venv && source .venv/bin/activate && pip install -r requirements.txtPython 3.12 specifically is required.
This is third-party code. Review the repository files before installing.
What it does
Each utility is a separate Python script sharing common arguments (limit, a JSON filter, log level) that calls the Bitrix24 REST API through an async client with retries and rate limiting. export_contacts and export_products dump data to a JSON file, delete_products removes products by an allow- or deny-list of IDs with a dry-run preview mode, and import_products_from_clickhouse pulls products from ClickHouse via a field-mapping config, casts types, and creates or updates catalog entries in Bitrix24. Every run writes a log and an entry in a shared summary.json; there is a Dockerfile and example cron jobs.
Who it is for. For teams syncing a Bitrix24 product catalog with an external data store and automating exports on a schedule.
Good fit when
- You need to regularly export Bitrix24 contacts or products to JSON with a filter
- You need to bulk-delete products by an ID list, previewing first with dry-run
- The product catalog lives in ClickHouse and needs syncing into Bitrix24
Not a fit when
- Your catalog source is not ClickHouse: the import tool is built specifically for it
- You need a conversational MCP tool rather than standalone CLI scripts for cron
Example request
Export all active products from section 5 to JSON and show active-vs-inactive statsLimitations
Requires Python 3.12 specifically. The ClickHouse import stores the connection password in plain text in the mapping config. delete_products is an irreversible operation with no built-in backup, relying on a dry-run preview and explicit confirmation. The README does not describe a ClickHouse service-account setup separate from the plain password in the config.
How to disable. Remove the crontab entries added for the utilities and deactivate the BITRIX_WEBHOOK_URL webhook in Bitrix24.
Security check
- It can bulk-delete products from the Bitrix24 catalog irreversibly
- The import creates and updates product entries on a schedule without human confirmation
README in short
The README documents each of the four utilities in detail with parameter tables and examples, the ClickHouse field-mapping config format with cast and map transformation types, the log and summary.json layout, example cron jobs, and a troubleshooting section for errors like QUERY_LIMIT_EXCEEDED.
FAQ
Can product deletion be undone?
There is no built-in rollback, so always run delete_products with --dry-run first and review the list.
Is ClickHouse required?
Only for the catalog import tool; exporting contacts and products and deleting products do not depend on it.
Related
An MCP server with n8n node and template knowledge: the agent picks nodes, validates configs and, with API access, creates workflows in your n8n
Zapier's official MCP plugin: the agent gets actions across thousands of apps through your Zapier account
Awesome Claude Skills by Composio
Awesome Claude Skills
A curated list of Claude skills and plugins, plus Composio's own automation skills for 78 SaaS apps
A plugin and CLI catalog for agents: generates command-line interfaces for GUI apps like GIMP and Blender and installs ready ones via CLI-Hub