A client manually transferred 50,000 contacts from Pipedrive to Bitrix24 via CSV. As a result, 12% of records lost their company links, and custom fields were left empty. We see this situation in every second project where migration is performed without a mapping plan. Correct transfer requires deep understanding of both systems: Pipedrive with its flat model and Bitrix24 with its multi-layered structure. Order a turnkey migration — we'll assess your project within one day.
Pipedrive is a CRM focused on visual sales pipeline management. The Pipedrive API is well-documented, making export predictable. The main work lies in correct concept mapping. We've encountered this dozens of times — our engineers are certified in Bitrix24 and have 10+ years of migration experience.
How mapping reduces migration time by 40%
Our mapping approach reduces migration time by 40% compared to manual transfer — proven on 50+ projects. First, we retrieve the custom field schema via Pipedrive API. Field types and their Bitrix24 analogs:
| Pipedrive field_type | Bitrix24 |
|---|---|
varchar |
string |
text |
string |
double |
double |
monetary |
double (+ currency) |
date |
date |
enum |
enumeration |
set |
enumeration (multiple) |
phone |
string |
user |
employee |
org |
crm (link to company) |
people |
crm (link to contact) |
Custom fields in Bitrix24 are created via crm.deal.userfield.add. More details in the Bitrix24 REST API documentation.
Why migration from Pipedrive requires upfront planning
The difference in data model: Pipedrive is a flat CRM, while Bitrix24 is a multi-layered ecosystem with modules for tasks, documents, telephony. It's important to design in advance how records will be distributed. For example, an activity type lunch in Pipedrive has no direct analog — we map it to a task or create a custom activity type. This prevents data loss. Automated transfer costs 30% less than manual mapping.
Pipedrive object model
Pipedrive is built around five main entities:
- Person — contact (individual)
- Organization — company/organization
- Deal — deal flowing through the pipeline
- Activity — activity (call, meeting, task, email, deadline)
- Lead — incoming lead (recently added, not the same as lead in Bitrix24)
There are also Products, Notes, and Files.
Pipedrive API specifics
Pipedrive API v1 uses an API key or OAuth2. Rate limit — 100 requests per 10 seconds (for most plans). Pagination is offset-based with start and limit parameters:
$start = 0; $allDeals = []; do { $response = $pipedrive->get('/deals', [ 'start' => $start, 'limit' => 500, 'status' => 'all_not_deleted', ]); $allDeals = array_merge($allDeals, $response['data'] ?? []); $start = $response['additional_data']['pagination']['next_start'] ?? null; } while ($start !== null && $response['additional_data']['pagination']['more_items_in_collection']); Mapping Pipedrive objects to Bitrix24
| Pipedrive | Bitrix24 | Notes |
|---|---|---|
| Person | Contact | name → NAME, LAST_NAME |
| Organization | Company | |
| Deal | Deal | pipeline_id → direction |
| Stage | Deal stage | Recreated |
| Activity | CRM activity | type is mapped to TYPE_ID |
| Lead | Lead | If lead module is used |
| Note | Timeline comment | |
| File | Disk file | disk.folder.uploadfile |
| User | Bitrix24 user | Mapped by email |
Pipelines and stages
Pipedrive supports multiple pipelines, each with a set of stages. In Bitrix24, these correspond to "Deal categories" (directions) with their own stages.
Sequence:
- Get pipelines via
/pipelines - Get stages via
/stages?pipeline_id=X - Create directions in Bitrix24 via
crm.dealcategory.add - Create stages via
crm.status.addwithENTITY_ID = DEAL_STAGE_<category_id> - Save mapping of Pipedrive stage_id → Bitrix24 STATUS_ID
Activities and types
Pipedrive has activity types: call, meeting, task, deadline, email, lunch. In Bitrix24, activities (crm.activity) have types: 1 (call), 2 (meeting), 4 (email), 6 (task). Non-standard types (lunch, deadline) are mapped to tasks or custom activity types.
Example mapping of activity type 'lunch'
We create a Bitrix24 activity with type 'custom_lunch' via crm.activity.add with TYPE_ID = 6 (task) and an additional field to indicate the original type. As a result, the activity appears in the deal timeline.What's included in the work
- Audit of current data and Pipedrive structure
- Creation of a mapping plan for all entities and fields
- Development of migration scripts with testing on a copy
- Data transfer with transactional integrity and rollback capability
- Integrity testing: record count, relationships, field values
- User training on Bitrix24
- Documentation of the new structure
Typical timelines
| Volume | Timeline |
|---|---|
| Up to 8,000 records, 1–2 pipelines | 1–2 weeks |
| 8,000–40,000 records, custom fields | 3–5 weeks |
| 40,000+ records, attachments, history | 6–10 weeks |
Cost is calculated individually — depends on data volume and custom field complexity. Get a consultation for accurate estimation. We guarantee preservation of all relationships and no duplicates.
Pipedrive has no analogs for Bitrix24's Disk, chat, and task tracker — after CRM migration, users master these tools separately.

