Cómo usar
- Copia el comando y revisa el paquete antes de instalarlo en tu entorno de agente.
- Consulta las herramientas, credenciales y entornos necesarios en el documento original.
- Describe las entradas y el resultado deseado; contrasta la salida con las fuentes.
npx skills add https://github.com/bxmaximum/bitrix-framework-skills --skill bitrix24-crmAntes de empezar
- La instalación no incluye suscripción al modelo, cuota API ni permisos sobre tus archivos.
- Las estrellas e instalaciones reflejan actividad, no una prueba independiente de calidad o seguridad.
Contenido del repositorio de origen con títulos, ejemplos, código, tablas, enlaces e imágenes preservados.
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.



