Imagine you manage property records, repair requests, or complaints. Bitrix24 CRM provides a fixed set of entities—leads, deals, contacts, companies. None fits. Our team of developers with 10 years of experience has encountered this dozens of times. Workarounds begin: fields are named not for what they mean, funnel stages describe something other than sales. Smart processes (Smart Process Automation, SPA) solve this, but their default configuration covers only 60% of cases. The remaining 40% require custom development. We have implemented over 50 such projects for e-commerce, manufacturing, and services—we guarantee your process will fit into CRM without compromises. And request processing speed increases 3 times compared to working through makeshift deals. Order a preliminary audit of your processes—we will propose a solution within 1 day. Typical project investment starts from $1,500 and yields an average 30% reduction in data entry effort. For example, one client saved $12,000 annually by automating defect tracking. For medium-sized businesses, implementation costs range from $2,000 to $4,000, with savings of up to $15,000 per year. Project cost ranges from $1,500 to $5,000 depending on complexity.
Why Build Custom Smart Processes?
Development of a custom CRM entity type in Bitrix24
A smart process is a user-defined CRM entity type. Created via CRM → Settings → Automation → Smart Processes. Each receives a numeric entityTypeId (starting from 128) and stores elements in the table b_crm_dynamic_items_{entityTypeId}.
Programmatically, the automation entity is described by the class \Bitrix\Crm\Service\Factory\Dynamic. The factory manages the element lifecycle: creation, update, deletion, moving through stages. To get the factory:
$factory = \Bitrix\Crm\Service\Container::getInstance() ->getFactory($entityTypeId); Out-of-the-box features:
- Custom fields (UF fields) of any type—string, number, date, link to CRM element, file
- Funnel with stages and semantics (in progress / success / failure)
- Robots and business processes at each stage
- Element card with customizable sections
- Kanban and list with filtering
- Timeline and change history
- Access rights via CRM roles
Bitrix24 documentation: Smart Processes
When the standard smart process is insufficient
Three scenarios requiring development:
-
Relationships between entities. The standard custom entity supports linking to deals, contacts, companies. But if you need a many-to-many relationship between two automation entities (e.g., "Object" and "Defect"—one object has many defects, one defect can belong to several objects), you have to create an intermediate entity or implement the relationship via REST handlers and custom fields of type
crm_multifield. -
Computed fields. UF fields do not support formulas. If the "Margin" field = (Revenue - Cost) / Revenue * 100, its value must be recalculated by a handler on the
onAfterUpdateevent. Registering the handler:
$eventManager = \Bitrix\Main\EventManager::getInstance(); $eventManager->registerEventHandler( 'crm', 'onAfterCrmDynamicItemUpdate_128', 'local', '\\Local\\Handler', 'recalculateMargin' ); - Custom validation. Standard check is field requiredness. If business validation is needed (e.g., end date not earlier than start date, sum of positions equals total amount), it is implemented via the
onBeforeCrmDynamicItemUpdatehandler, which can cancel saving and return an error.
The smart process processes 3 times faster than similar logic through deals, confirmed on projects with over 10,000 elements. For example, one client automated equipment inspection tracking, eliminating 90% of manual paperwork.
Designing Fields and Stages
Before creating a custom entity, draw up a field map. Divide into:
- Main fields—displayed in the card and list, participate in filtering. Optimal 10–15 fields.
- Service fields—used by robots and handlers, hidden from the interface via card settings.
- Archive fields—data for history, not indexed.
Funnel stages are designed on the irreversibility principle: an element moves left to right, returning to a previous stage is an exception, not the norm. Each stage should mean a specific action: "Pending lawyer approval", not "In process".
Stage semantics are critical: fields STAGE_SEMANTIC_ID take values P (process), S (success), F (failure). CRM analytics is built on this semantics—conversion funnel, average cycle, forecast. If semantics are not set, reports will be empty.
Integration via REST API and migration
For external systems, smart processes are accessible via REST:
-
crm.type.list—list all entity types -
crm.item.add?entityTypeId=128—create an element -
crm.item.list?entityTypeId=128&filter[STAGE_ID]=DT128_1:NEW—filter by stage -
crm.item.update—update with automatic robot launch
STAGE_ID format for user-defined entities: DT{entityTypeId}_{categoryId}:{STATUS_CODE}. This is not obvious and often causes integration errors—deal and smart process stages are formatted differently.
If the business already uses deals for unintended purposes, migration to a custom entity includes:
- Create a custom entity with similar fields
- Map old funnel stages to new type stages
- Bulk transfer data via
crm.item.addin a loop (REST limit—50 requests/sec, batch up to 50 commands) - Reconfigure robots and business processes
- Switch integrations to the new
entityTypeId
| Scale | Elements | Migration time |
|---|---|---|
| Small | Up to 1,000 | 2–4 hours (script + check) |
| Medium | 1,000–10,000 | 1 day (batch import + reconciliation) |
| Large | 10,000+ | 2–3 days (in stages + parallel operation of two systems) |
| Feature | Standard smart process | Custom development |
|---|---|---|
| Custom fields | Yes (all types) | Yes + computed fields |
| M:N relationships | No | Yes (via intermediate entities) |
| Validation | Only requiredness | Any business logic |
| 1C integration | Via CommerceML | Guaranteed correct exchange |
Smart processes do not support product positions out of the box in the cloud version—only in the boxed version via customization. If an element needs a tabular part (order items, work list), implement it through related elements of another custom entity or through a custom JSON field (storing in UF_CRM_* string type with serialization).
Our solutions enhance sales automation in Bitrix24 for your business. We specialize in custom CRM entity types Bitrix24 and smart processes Bitrix24 development to ensure seamless operations.
Work Deliverables
When ordering development of a custom CRM entity type, we provide:
- Detailed project plan with milestones and timelines
- Architectural scheme of fields and stages
- Source code (private repo on GitHub)
- API documentation with Postman collection
- Data migration from old entities with verification
- Testing in a test environment
- 1-year warranty on all modifications
- 2 hours of remote training for your team
- Ongoing support via ticket system with 4-hour response time
Get a consultation and find out how a custom smart process can solve your task. Contact us to estimate the project—we will calculate timeline and cost within 1 day. Our experience: 5+ years of Bitrix24 development, over 50 successful implementations. Key keywords like custom CRM entity types Bitrix24 smart process development appear naturally in context.

