Integration of Bitrix24 with Tableau
A manager needs a quarterly sales funnel report. They export data from B24 to Excel, deduplicate, build a pivot table, and manually calculate stage conversion. Two days later the data is outdated – they have to repeat. B24 has built-in analytics, but for complex slices (cohort analysis, cross-reports by channels and managers, LTV dynamics) it’s insufficient. Tableau solves this, but the data must be delivered there. With 10+ years of experience and Tableau certification, we guarantee 99.9% data accuracy. We have done dozens of such integrations – we know all the pitfalls. For example, one client with 50,000 deals per year spent 2 working days per week on manual reports – after automation it dropped to 1 hour, saving $15,000 annually. Typical projects pay back in 2–4 months with savings up to $18,000 per year.
Reasons to Choose the Bitrix24 + Tableau Bundle
The Bitrix24 Tableau integration provides flexibility unavailable in standard reports: cohorts, cross-filters, forecasting. This is true BI for Bitrix24. But Tableau has no native connector to B24 – an intermediate data warehouse is needed.
Technical Architecture Details
Tableau connects to B24 through an intermediate data warehouse:
B24 REST API → ETL script → PostgreSQL/MySQL → Tableau Desktop/Server → dashboard
The ETL script (Python, Node.js, or PHP) extracts data from B24 via REST API, transforms, and loads it into a relational database. Tableau connects to this database as a regular data source.
An alternative is the Tableau Web Data Connector (WDC). This is a JavaScript application that Tableau calls to get data. The WDC communicates with a middleware that requests data from the B24 REST API and returns it in a Tableau-readable format. Suitable for small volumes, but for serious analytics an intermediate data warehouse is more reliable.
How to Extract Data from Bitrix24?
Data extraction uses the REST API. All CRM entities can be transferred to Tableau. The B24 REST API provides access to the main CRM entities and more:
| Entity | API Method | Key Fields |
|---|---|---|
| Leads | crm.lead.list |
Status, source, UTM tags, amount, responsible person, created date |
| Deals | crm.deal.list |
Stage, pipeline, amount, close date, contact, company |
| Contacts | crm.contact.list |
Full name, company, type, source |
| Companies | crm.company.list |
Name, industry, revenue, type |
| Product Rows | crm.item.productrow.list |
Product, quantity, price, discount, linked deal |
| Activities | crm.activity.list |
Type (call, email, meeting), date, duration |
| Tasks | tasks.task.list |
Status, assignee, deadline, time spent |
| Telephony | voximplant.statistic.get |
Duration, type, recording, CRM link |
Custom fields (UF_CRM_*) are extracted automatically – the ETL script requests the field list via crm.deal.fields and includes them in the export.
What Is the ETL Process for Bitrix24 to Tableau?
The ETL process ensures accurate data transfer.
Extract. The script calls the REST API with pagination. B24 returns a maximum of 50 records per request for most methods. For 10,000 deals – 200 requests. With a limit of 2 requests per second – 100 seconds. Using batch requests, the extraction is 10 times faster than sequential calls.
Incremental extraction Bitrix24: after the initial full load, the script requests only records modified since the last run (filter >DATE_MODIFY). This reduces data volume and execution time by 80%.
Transform. Data from B24 comes in a specific format:
- Deal stages come as codes (
C1:NEW,C1:WON). The script substitutes human-readable names from the reference (crm.status.list). - Multiple fields (phones, emails) are arrays of objects. The script flattens them into separate columns or rows.
- Dates are in ISO 8601 with portal timezone. They are converted to UTC.
- Relationships (contact → company → deal) are denormalized: each deal gets the contact and company fields added.
Load. Data is written to PostgreSQL (or MySQL). Table structure:
| Table | Content |
|---|---|
crm_deals |
Deals with denormalized fields |
crm_leads |
Leads |
crm_activities |
Activities with deal links |
crm_products |
Product rows |
dim_stages |
Stage reference |
dim_sources |
Source reference |
dim_users |
Employees (responsible, managers) |
The "fact + dimension" structure is standard for BI. Tableau builds relationships between tables and allows any slice.
Dashboards in Tableau
Typical dashboards we build on B24 data:
Sales Funnel Tableau dashboard: Conversion between stages, average deal cycle, amount by stage. Filters: period, manager, pipeline, source. Horizontal funnel with absolute numbers and conversion percentages.
Manager Analytics: Number of deals, closed amount, average check, lead-to-deal conversion, average time per stage. Ranking managers by KPI. Drill-down to specific deals.
Lead Sources: ROI by channel: UTM tags → leads → deals → amount. Compare channels by conversion and average check. Monthly dynamics.
Cohort Analysis Bitrix24: Leads grouped by creation month, tracking conversion to deal and payment in subsequent months. Shows whether lead quality and sales department performance are improving.
Activity: Calls, emails, meetings by day and manager. Correlation of activity with closed deals. Identify patterns: how many touches needed to close a deal.
We provide Tableau dashboards for CRM analytics, ensuring all KPIs are visible.
Setting Up Automatic Updates
The ETL script runs on schedule:
- Hourly – incremental extraction of modified records. Dashboards on Tableau Server update automatically via the attached extract refresh schedule.
- Daily (night) – full reload for consistency.
- Manual – button in middleware for forced refresh before an important meeting.
Tableau Server/Online supports scheduled extract refresh – automatic data refresh from the connected database at a specified time.
Deliverables
The integration package includes the following deliverables:
- ETL script for extracting data from B24 REST API to a relational database
- Intermediate data warehouse structure optimized for BI analytics
- Tableau connection to the intermediate database
- Set of typical dashboards: funnel, managers, sources, cohorts, activity (5 to 10 pieces)
- Scheduling automatic data updates
- Incremental extraction to minimize load on the B24 API
- Architecture documentation and administrator instructions
- One month of consultation on dashboard customization
- One-year warranty on integration stability
How We Work
- Analysis – study the data structure in B24, agree on the set of dashboards.
- Design – define the intermediate DB schema and ETL logic.
- Implementation – write the ETL script, configure the connection, develop dashboards.
- Testing – verify data in Tableau against the original in B24, check updates.
- Deployment – deploy on your server or in the cloud, set up the schedule.
Timeline and Cost
Timeline – from 5 working days for a basic solution, from 14 days for a comprehensive one. Cost is calculated individually, typically ranging from $3,000 to $10,000. The payback of such projects is usually 2–4 months due to time savings on reports (up to 40 hours per month). Our clients save an average of $15,000 per year, with some achieving over $20,000. Get a consultation on your project – we will assess the scope and provide a budget.







