Custom Bitrix24 CRM Robot Development Turnkey

Custom Bitrix24 CRM Robot Development Turnkey Imagine: a deal moves to the 'Won' stage, but the project in Jira hasn't been created, data hasn't been sent to ERP, and the invoice hasn't been issued. Standard Bitrix24 robots can't handle that—they are limited to actions inside the CRM. The solutio

Our competencies:

Frequently Asked Questions

Custom Bitrix24 CRM Robot Development Turnkey

Imagine: a deal moves to the 'Won' stage, but the project in Jira hasn't been created, data hasn't been sent to ERP, and the invoice hasn't been issued. Standard Bitrix24 robots can't handle that—they are limited to actions inside the CRM. The solution is custom robots that call external APIs and automate any logic. Our team develops them turnkey in 1–2 weeks. Experience: over 50 projects, with a guarantee of uninterrupted operation.

Why Standard Robots Are Not Enough

Built-in robots cover only basic scenarios: sending email, creating a lead, changing a field. But when interaction with external systems—Jira, Trello, ERP, 1C—is required, their capabilities fall short. A custom robot can execute any HTTP request, process responses, and update deal data. An out-of-the-box 'Send Email' robot covers 20% of needs, while a custom one covers up to 95%, as it can call any external API. For example, create tasks in Jira, generate invoices in 1C, or synchronize orders with ERP.

Architecture of Custom Robots

Robots in Bitrix24 are an extension of the business process engine (bizproc). A custom robot is registered as a business process activity (CBPActivity) with a FILTER flag that limits its scope (CRM, specific entity types).

Two ways to create a custom robot:

  1. Via REST API — method bizproc.robot.add. Registers an external webhook as a robot. Bitrix24 calls the URL on trigger, passes entity data, and gets a response. Suitable for cloud Bitrix24, no file system access required.

  2. Via PHP module — create a class extending \Bitrix\Bizproc\Activity\BaseActivity. Register via RegisterModuleDependences on event OnBizProcActivityList. Available only on on-premise Bitrix24 with server access.

Feature REST PHP Module
Cloud portal Yes No
Server access Not required Required
Implementation time 1–2 days 3–5 days
Async mode Supported Manual setup required
Updates No module deployment Via module update

How to Choose the Development Method: REST or PHP Module?

If your portal is in the cloud—definitely REST. For on-premise, the choice depends on the task: REST is faster to implement and easier to maintain, but the PHP module gives full control over the environment and allows using internal Bitrix24 APIs without CORS limitations. REST is 3x faster in implementation: no need to deploy a module, just place the handler on any server.

How to Implement Async Processing?

In the async approach, the handler pushes a task to a queue (e.g., Redis) and responds immediately. Bitrix24 is not blocked. After the external operation completes, the handler calls bizproc.event.send with the workflow ID. This approach is mandatory if the external API responds longer than 5 seconds or if there is a risk of timeout.

// Example handler with async mode $workflowId = $_POST['data']['WORKFLOW_ID']; $properties = $_POST['data']['PROPERTIES']; // Push task to queue (Redis) $redis->lpush('robot_tasks', json_encode([ 'workflow_id' => $workflowId, 'properties' => $properties, 'auth' => $_POST['data']['auth'] ])); // Immediately return async header('Content-Type: application/json'); echo json_encode(['status' => 'async']); 

Real Case: ERP Synchronization (From Our Practice)

Task: A manufacturing company with 150 deals per month. When a deal moves to the 'Order confirmed' stage, we need to: create an order in ERP (SOAP API), write the ERP order number back to the deal field UF_CRM_ERP_ORDER_ID, and notify the responsible person of the result.

Solution: REST robot on a separate PHP server. The handler receives deal data, calls the SOAP ERP API in async mode (task in Redis queue), upon receiving the ERP response updates the deal field via crm.deal.update and sends a notification via im.notify.system.add.

Problem: ERP sometimes responds in 30–40 seconds. Sync mode didn't work—Bitrix24 marked the call as hung. Switching to async mode with bizproc.event.send solved the issue. We added retry logic with a 5-minute repeat.

Result: Manual order entry in ERP was completely eliminated. Time from deal confirmation to order appearance in ERP: 1–3 minutes.

What's Included

  • Robot logic design (scenario agreement, triggers, return values)
  • Handler development (stack selection, queue setup, retry strategy)
  • Robot registration via REST or PHP module
  • Testing in a real pipeline with all anomalies (duplicates, errors, timeouts)
  • API documentation and employee instructions
  • One hour of support after launch

Order custom robot development—we will analyze your processes and propose the optimal solution.

Development Timeline

Task Time
Simple REST robot (webhook + field write) 1–2 days
Robot with async mode and retry 2–3 days
PHP module for on-premise Bitrix24 3–5 days
Staging testing + deployment 1–2 days

Total development time for a custom robot is 1–2 weeks, including design, development, and testing in a real pipeline.

Get a free consultation on robot architecture—no obligations.