owners-registry-import: a skill for loading an owners registry into Bitrix24
ai-agent-bitrix24-portfolio
A skill for Cursor and Claude Code that loads houses, premises and owners from CSV into Bitrix24 smart processes with a "Check only" mode
- 0 ★ on the repository
- Last commit
- MIT
Broad access
Why this level
- A webhook with the `crm` right can write contacts, companies and smart process items, and writing touches owners personal data
- A typo in a field code goes unnoticed until the `--check-fields` comparison is done
Install
- Works in
- Services
In your terminal, with SkillFoxx CLI
npx skillfoxx add skills/ai-agent-bitrix24-portfolioDetects the agents on your machine, shows the access level and pins the version.
Other ways to install
Access and checks
How we reviewBroad accessThe tool can change data, run commands or handle secrets.
- A webhook with the `crm` right can write contacts, companies and smart process items, and writing touches owners personal data
- A typo in a field code goes unnoticed until the `--check-fields` comparison is done
This is third-party code. Review the repository files before installing.
What it does
The `owners-registry-import` skill guides an agent through loading a registry into Bitrix24: three CSV files (houses, premises, owners) become items of the "Houses" and "Premises" smart processes, and owners become contacts for individuals and companies for legal entities, linked to premises. The column-to-CRM-field mapping lives in `mapping.yaml`, and the agent does not guess field codes. The Python code works in three modes. `python -m owners_import --data <folder>` checks the files and writes a report without touching the portal. With `--check-fields` it reads portal fields, with `--apply` it writes data through the webhook and then rereads the items and compares them with the plan. Running the same file again creates nothing anew. The data in the repository is synthetic.
Who it is for. IT project leads and Bitrix24 administrators in property management who load houses and owners from registries.
Good fit when
- A registry for a new house arrived and it must be loaded into CRM by a field mapping table
- A file needs checking before loading: share sums, premises without owners, several legal entities per premise
- After loading, data landed in the wrong fields and you need a comparison with the portal
- An agent in Cursor needs sample `AGENTS.md` and `CLAUDE.md` files with rules for working with CRM
Not a fit when
- You need a universal loader of any data into Bitrix24: the skill is built for houses, premises and owners
- The source is Excel or an accounting system export: bring it to three CSV files in a separate step first
- A portal without the "Houses" and "Premises" smart processes: take codes and types from `crm.type.list`
Example request
Check the data/sample folder before loading into Bitrix24 in "Check only" mode and show a "column, field, example" tableLimitations
The project is published as the author portfolio and shows an approach and has no finished product: the production company code is not included and the data is synthetic. It needs Python and a test portal webhook with the `crm` right, kept in `.env` as `B24_WEBHOOK_URL`. The field table must be checked against a real portal, otherwise Bitrix24 silently ignores a mistyped code. The author says they are not a professional programmer. The last commit in October 2026, no stars.
How to disable. Delete the `skills/owners-registry-import` folder from the project and revoke the portal webhook. Loaded smart process items stay in CRM and are deleted manually.
FAQ
Can I write nothing at first?
Yes. A run without flags only checks the files and writes a report into `reports/`, with no portal requests.
What does `--apply` do?
It writes houses, premises and owners into the portal if the files have no errors. Then the items are reread and compared with the plan.
What about errors and warnings?
Errors block a row, warnings do not block writing but the agent must show them to a human. `--allow-partial` writes only clean rows on the human explicit decision.
Will a repeated run create duplicates?
No. Items are matched by `xmlId` and `originId`, and a repeated run of the same file reports that there is nothing to create.
Why are `AGENTS.md` and `CLAUDE.md` in the repository useful?
They are a sample of permanent agent context: a role, rules for working with CRM and a definition of done. The seven-file project scheme is described there too.
Discussion
No questions or reviews yet.
Related
All Bitrix24 toolsbitrix24-for-ai-agents: a skill for safe work with a Bitrix24 portal
bitrix24-for-ai-agents
A Portuguese skill that teaches an agent to read and change a Bitrix24 portal in order: map, backup, plan, a trial on one record
A Bitrix24 REST skill split into capability packs with a method allowlist, risk confirmations and an audit log
Bitrix24 app development skill pack
bitrix24-skills-emcsoft
Four skills for Bitrix24 apps: install and OAuth, a batching REST client, events and iframe placements, CRM business processes and calendar
Bitrix24 REST API skill
bitrix24-rest-api
A Claude Code skill with real-portal-verified Bitrix24 REST API gotchas: auth modes, errors hidden under HTTP 200, retries and rate limits
A skill for administering, diagnosing and developing boxed Bitrix24 and Bitrix Framework, built from official documentation
Bitrix24 overdue task watcher
task-overdue-watcher
A skill and script that check overdue Bitrix24 tasks twice a week, ping assignees and send a summary to the owner
README in short
The repository introduces the author and the work with Cursor agents, describes the seven-file scheme and an agent error with CRM fields, and contains the skill with loading code, tests and synthetic data.
README badge
Original SKILL.md
--- name: owners-registry-import description: Загрузка реестра домов, помещений и собственников (CSV) в Bitrix24 — смарт-процессы «Дома» и «Помещения», «Контакты» для физлиц и «Компании» для юрлиц, с привязкой к помещениям. Использовать, когда нужно завести новый дом в CRM из реестра, проверить реестр перед загрузкой или разобраться, почему данные легли не в те поля. --- # Скилл: загрузка реестра собственников в Bitrix24 ## Когда применять - Пришел реестр по новому дому: дом, помещения, собственники. - Нужно проверить файл до загрузки («Только проверить»). - После загрузки что-то не сходится и нужна сверка с CRM. ## Входные данные Папка с тремя CSV (UTF-8, первая строка — заголовки). Формат колонок — в [`mapping.yaml`](mapping.yaml): - `houses.csv` — `house_id, address, cadastral_number, floors, year_built` - `premises.csv` — `premise_id, house_id, number, premise_type, area` - `owners.csv` — одна строка = «собственник ↔ помещение»: `owner_id, premise_id, owner_type (person|company), share, last_name, first_name, middle_name, company_name, inn, phone, email` Если исходник в другом виде (Excel, выгрузка учетной системы), сначала приведи его к этим колонкам отдельным шагом и покажи человеку 5 первых строк результата. ## Шаги 1. **Сверь таблицу полей.** Открой `mapping.yaml`. Если портал новый, получи реальные `entityTypeId` (`crm.type.list`) и коды полей (`crm.item.fields`) и обнови таблицу. Не угадывай коды полей. 2. **Только проверить:** ```bash python -m owners_import --data <папка> ``` Ни одного запроса к порталу. Результат — `reports/report-*.md` и `.json`. 3. **Разбери отчет с человеком.** Ошибки (❌) блокируют строку. Предупреждения (⚠️) запись не блокируют, но их нужно показать человеку: суммы долей, помещения без собственников, несколько юрлиц на помещение. Попроси человека проверить таблицу «колонка → поле → пример значения». 4. **Сверка полей с порталом (только чтение):** ```bash python -m owners_import --data <папка> --check-fields ``` 5. **Запись** — только после подтверждения человека: ```bash python -m owners_import --data <папка> --apply ``` Если в файле есть ошибки, запись отменяется. `--allow-partial` записывает только чистые строки, используй его только по явному решению человека. 6. **Смоук-проверка** запускается автоматически после записи: элементы перечитываются из портала и сверяются с планом (поля, привязка помещения к дому, собственника к помещению). Повторный запуск того же файла должен показать «Создано: ничего».