Custom Bitrix24 Local Application Development

Fast Integration with Bitrix24 Local Application We often receive calls with the same pain: urgently need to connect Bitrix24 with an internal system — 1C, warehouse, or custom CRM — but publishing to Marketplace is unnecessary. The license is limited to one portal, external access partially rest

Our competencies:

Frequently Asked Questions

Latest works

  • image_website-b2b-advance_0.webp
    B2B ADVANCE company website development
    1415
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Website development for FIXPER company
    995
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Development based on Bitrix, Bitrix24, 1C for the company Development of an Online Appointment Booking Widget for a Medical Center
    733
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Development based on 1C Enterprise for MIRSANBEL
    862
  • image_crm_dolbimby_434_0.webp
    Website development on CRM Bitrix24 for DOLBIMBY
    772
  • image_crm_technotorgcomplex_453_0.webp
    Development based on Bitrix24 for the company TECHNOTORGKOMPLEKS
    1134

Fast Integration with Bitrix24 Local Application

We often receive calls with the same pain: urgently need to connect Bitrix24 with an internal system — 1C, warehouse, or custom CRM — but publishing to Marketplace is unnecessary. The license is limited to one portal, external access partially restricted. We offer a solution: a Bitrix24 local application — it can be configured in 15 minutes and gives full REST API access without bureaucracy. Our engineers have 12+ years in the Bitrix ecosystem, having completed 50+ integration projects, guaranteeing reliability on heavily loaded portals. A local app integrates 50% faster than a Marketplace solution and costs from $1,000 for simple widgets. Saving on integration errors can reach $5,000 per project, and minimizing downtime saves $3,000 annually.

How to Develop a Local Application with OAuth?

  1. Register the application in portal settings (Applications → Developers → Other → Local Application).
  2. Choose authorization type: Server (OAuth) for backend or JavaScript (JS SDK) for UI-only.
  3. Set scopes (crm, task, user, etc.) – plan all rights in advance to avoid reinstallation.
  4. Develop the code: handle OAuth, implement REST calls, process events.
  5. Test and deploy: use ngrok for debugging, then move to production.

OAuth 2.0 Authorization Code flow: On first open, Bitrix24 passes AUTH_ID, REFRESH_ID, AUTH_EXPIRES in query string. The server saves the access token, and upon expiration (3600 seconds), refreshes it via POST to https://{domain}/oauth/token/. Refresh token lives 30 days, so cyclic refresh is essential. Libraries like bitrix24-api automate this. More details on Wikipedia. Additional information in official Bitrix24 docs.

How to Choose Between JavaScript and Server Application?

Parameter JavaScript Application Server Application
Authorization Token from URL params/postMessage OAuth 2.0 Authorization Code
Server part Not required Required
Secret storage No secret client_secret on server
Background work No Yes (cron, queues)
Event subscription Via BX24.js Via event.bind REST
Use case UI widgets, dashboards Synchronization, automation

JavaScript type builds an MVP in 1–3 days; server type takes 1–3 weeks for corporate integrations. A local app starts 2–3 times faster than a mass-market one due to no moderation.

Practical Code Examples

JavaScript-Type App minimal example:

<!DOCTYPE html> <html> <head> <script src="//api.bitrix24.com/api/v1/"></script> </head> <body> <div id="app"></div> <script> BX24.init(function() { var auth = BX24.getAuth(); // auth.domain — portal domain // auth.access_token — token for REST requests BX24.callMethod('user.current', {}, function(result) { if (result.error()) { document.getElementById('app').innerHTML = 'Error: ' + result.error(); return; } var user = result.data(); document.getElementById('app').innerHTML = 'Hello, ' + user.NAME + '!'; }); BX24.fitWindow(); }); </script> </body> </html> 

The JS SDK is loaded from Bitrix CDN; no direct portal connection needed. Server-Type App OAuth callback in Node.js:

const express = require('express'); const axios = require('axios'); const app = express(); app.get('/', (req, res) => { const { AUTH_ID, REFRESH_ID, AUTH_EXPIRES, DOMAIN, PLACEMENT } = req.query; saveTokens({ domain: DOMAIN, accessToken: AUTH_ID, refreshToken: REFRESH_ID, expiresIn: parseInt(AUTH_EXPIRES) }); res.sendFile(__dirname + '/public/index.html'); }); app.post('/refresh', async (req, res) => { const { refresh_token, domain } = req.body; const response = await axios.post( `https://${domain}/oauth/token/`, new URLSearchParams({ grant_type: 'refresh_token', client_id: process.env.CLIENT_ID, client_secret: process.env.CLIENT_SECRET, refresh_token }) ); res.json(response.data); }); 

Scope Selection and Limitations

Access scopes determine read/write permissions. Local apps request them at installation. Need new scope? User must reinstall (click update rights button). Plan rights in advance to avoid production disruption.

Expand full scope list

crm — deals, leads, contacts, companies task — tasks and projects user — portal users disk — files and folders calendar — calendar events sonet_group — groups and workspaces catalog — product catalog sale — store and orders telephony — calls and telephony

Limitations: Single-portal only, cannot be Marketplace published, portal domain change requires reconfig, no multiple redirect_uri support. For most internal integrations, these don't hinder. If scaling needed later, code transfers to mass-market version easily.

What's Included in Our Service

We deliver a turnkey local application with:

  • Analysis: assessment of current processes and external systems
  • Architecture: design (microservices or monolith) with performance targets (up to 1000 REST calls/min)
  • Implementation: REST methods for sync, webhooks for event processing
  • OAuth setup: secure token storage with auto-refresh
  • Testing: live portal validation
  • Documentation: API description, rights scheme, deployment guide
  • Training: admin onboarding (2 hours session)
  • Support: 3-month warranty, bug fixes within 24 hours

Pricing starts at $1,000 for simple widgets, $5,000–$15,000 for complex integrations. Average ROI: 200% within 6 months due to automation savings. A typical corporate integration costs around $7,500.

Task Duration Cost Estimate
Local app setup + basic auth 0.5–1 day $500–$1,000
Simple widget (CRM read-only) 1–3 days $1,000–$3,000
Bi-directional system integration 1–3 weeks $5,000–$10,000
Full corporate application 1–2 months $10,000–$20,000

Contact us for a free project assessment. We'll propose the optimal architecture and timeline. Our Bitrix24 developer team can also help with custom Bitrix24 applications and corporate Bitrix24 integrations.