mcpField
B
bitrix24-crm

bitrix24-crm

github.com/bxmaximumDevelopment4780 installsUpdated 2w ago
Repository

About bitrix24-crm

A reference skill for server-side Bitrix24 CRM development on on-premise portals. It organizes guidance on CRM factories, operations, permissions, automation, and related APIs, with rules for safe data changes.

Key features

  1. 01Factory-based CRM item operations
  2. 02Guidance on permissions and user context
  3. 03Smart processes, funnels, and stages
  4. 04Events, automation, and timeline activities
  5. 05Legacy API and REST mapping

Use cases

  1. 01Implementing CRM item creation and updates
  2. 02Checking access before listing or changing records
  3. 03Handling CRM events and automated actions

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/bxmaximum/bitrix-framework-skills --skill bitrix24-crm

After installing, type/bitrix24-crmin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

rules/
events-automation.md
factory-items.md
fields-uf.md
legacy-rest.md
operations.md
permissions.md
smart-processes.md
timeline-activities.md

Details

From the project README

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.

TaskRead
Container, Factory, reading items, field names, phones/e-mailsrules/factory-items.md
Add/update/delete, Context, checks, custom actionsrules/operations.md
Smart processes, funnels, stages, smart invoicesrules/smart-processes.md
Rights checks, permission-filtered listsrules/permissions.md
Reacting to changes, factory override, robots, triggersrules/events-automation.md
Timeline comments, to-dos, activitiesrules/timeline-activities.md
Fields collection, user fieldsrules/fields-uf.md
CCrmDeal/CCrmLead/… replacements, D7 ↔ REST maprules/legacy-rest.md

Invariants

  • Loader::includeModule('crm') first; get services from Container::getInstance().
  • Write only through Factory operations: getAddOperation()/getUpdateOperation()/getDeleteOperation() → launch(). Never DealTable::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 (lead STAGE_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 Context with a user ID, or disable the access check on purpose.
  • Check isSuccess() of every launch() and pass its errors up.

Comments

Markdown supported