Jak używać
- Skopiuj polecenie instalacji i sprawdź źródła przed instalacją we własnym środowisku agenta.
- W oryginale sprawdź wymagane narzędzia, dane dostępowe i obsługiwane środowiska.
- Opisz dane wejściowe i oczekiwany rezultat; porównaj wynik ze źródłami.
npx skills add https://github.com/bxmaximum/bitrix-framework-skills --skill bitrix24-crmPrzed rozpoczęciem
- Instalacja nie obejmuje subskrypcji modelu, limitu API ani uprawnień do plików.
- Gwiazdki i instalacje pokazują aktywność, a nie niezależny test jakości lub bezpieczeństwa.
Treść z repozytorium z zachowaniem nagłówków, przykładów, kodu, tabel, linków i obrazów.
Bitrix24 CRM (server side)
Scope: Bitrix24 on-premise · Verified: crm 26.800.0, main 26.800.0
PHP running inside the portal: /local/ modules, handlers, agents. Calling CRM over REST: bitrix24-rest-api.
| Task | Read |
|---|---|
| Container, Factory, reading items, field names, phones/e-mails | rules/factory-items.md |
| Add/update/delete, Context, checks, custom actions | rules/operations.md |
| Smart processes, funnels, stages, smart invoices | rules/smart-processes.md |
| Rights checks, permission-filtered lists | rules/permissions.md |
| Reacting to changes, factory override, robots, triggers | rules/events-automation.md |
| Timeline comments, to-dos, activities | rules/timeline-activities.md |
| Fields collection, user fields | rules/fields-uf.md |
CCrmDeal/CCrmLead/… replacements, D7 ↔ REST map | rules/legacy-rest.md |
Invariants
Loader::includeModule('crm')first; get services fromContainer::getInstance().- Write only through Factory operations:
getAddOperation()/getUpdateOperation()/getDeleteOperation()→launch(). NeverDealTable::add(),$factory->getDataClass()::update(),Item::save()/Item::delete(): they skip rights, required fields, events, timeline, search index and robots. - Use
Item::FIELD_NAME_*names; the factory maps them to entity columns (leadSTAGE_ID→STATUS_ID). - Dynamic
entityTypeId, funnel and stage IDs differ per portal: resolve by code or semantics at runtime, never hardcode. - Agents, CLI and queues have no user: pass a
Contextwith a user ID, or disable the access check on purpose. - Check
isSuccess()of everylaunch()and pass its errors up.



