SuperAPI AI Directory

bitrix24-crm

General & other

View repository

Updated 10-15 17:30

About this skill

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 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.