Bitrix24 Integration with 1C-Bitrix Site and Portal
The 1C-Bitrix website lives separately from Bitrix24 portal. Web form submissions end up in email and get lost. Online orders aren't visible in CRM. Manager learns about a new client only when they call back asking "where's my order?" Yet both are Bitrix products, and a logical link between them exists, just unconfigured by default. It needs to be set up and extended.
Website-Portal Link: Options
There are three technical paths for integration:
-
Built-in "Bitrix24 Integration" module in 1C-Bitrix. The standard way — module installs on website, connects to portal via OAuth. Syncs contacts, companies, and leads. Limitation: works only with cloud B24, functionality limited to basic scenarios.
-
B24 REST API + 1C-Bitrix API. Flexible option. Website sends data to B24 via REST API on specific events (form submission, order completion, user action). Works with both cloud and on-premise B24.
-
Webhook integration. Simplest for one-way flow. Website sends data to B24 incoming webhook. Doesn't require OAuth and server application.
For full "website + portal" link, combine approaches 2 and 3.
Web Forms → CRM Leads
Any website form (inquiry, callback, newsletter, quote request) should automatically create a lead in CRM.
Technical implementation via REST API:
- User submits form on website.
- Event handler in 1C-Bitrix (
OnAfterResultAddfor web forms or custom handler forform.result.newcomponent) forms request. -
POSTtohttps://portal.bitrix24.ru/rest/{user_id}/{webhook_token}/crm.lead.addwith fields:
TITLE: "Website inquiry: {subject}"
NAME: {name from form}
PHONE: [{VALUE: "{phone}", VALUE_TYPE: "WORK"}]
EMAIL: [{VALUE: "{email}", VALUE_TYPE: "WORK"}]
SOURCE_ID: "WEB"
UTM_SOURCE: {utm_source}
UTM_MEDIUM: {utm_medium}
UTM_CAMPAIGN: {utm_campaign}
COMMENTS: {message text}
UTM tags come from cookies or GET parameters — critical for source analytics. Website-side: UTM cookies are saved on first visit and transmitted with the form.
Duplicates: before creating lead, check if CRM has a contact with this phone or email (crm.duplicate.findbycomm). If yes — create deal for existing contact instead of new lead.
Online Chat on Website
B24 provides online chat widget (open lines) that embeds on site with one JavaScript line. But for full operation, needs setup:
- CRM binding. When dialogue starts, B24 automatically finds contact by data (if user is logged in on site — pass their phone/email via widget JavaScript API). Manager sees client card directly in chat.
- Routing. Different pages → different operator queues. "Support" section → tech support. Product page → sales. Configured via passing custom data to widget.
- CRM forms in chat. Operator sends CRM form directly in chat (contact info request, satisfaction survey). Data records in CRM automatically.
- Auto responses. First-line bot answers typical questions before operator connects.
Order Synchronization
For e-commerce on 1C-Bitrix — sync orders with B24 CRM:
| Website Event | B24 Action |
|---|---|
| New order | Create deal + link product rows |
| Order status change | Update deal stage |
| Order payment | Change stage to "Paid" + record in timeline |
| Order cancellation | Move deal to "Lost" with reason |
Implementation via OnSaleOrderSaved event handler in 1C-Bitrix. On order creation or change, script sends data to B24 via REST API:
-
crm.deal.add— create deal with fields: name, sum, stage, contact. -
crm.deal.productrows.set— link products with prices and quantities. -
crm.deal.update— update stage on order status change.
Order status to deal stage mapping is configured in integration module settings.
Product Catalog
If products are maintained on site in 1C-Bitrix, sync them to B24 CRM catalog:
-
Periodic export. Cron script runs daily, exports products from 1C-Bitrix infoblock, creates/updates them in B24 catalog via
crm.product.add/crm.product.update. - Field mapping: name, SKU, price, description, catalog section, image.
- Direction: usually website → B24 (website is master system for catalog).
Reverse Sync: B24 → Website
Not only website sends data to B24, but portal can influence website:
- Order status in personal account. Manager changes deal stage in B24 → webhook notifies website → order status updates in client personal account.
- Personalization. CRM segments from B24 are used to show personalized offers on website (via B24 REST API to get contact data).
- Mailings. CRM segments exported for email campaigns via 1C-Bitrix mailing module or third-party service.
What We Deploy
- Automatic lead creation in CRM from all website forms with UTM tags
- Duplicate contact check on inquiry arrival
- B24 online chat setup on website with CRM binding and routing
- E-commerce order sync with CRM deals
- Product catalog export from 1C-Bitrix to B24 CRM
- Reverse order status sync from B24 to website
- REST API bridge between 1C-Bitrix and Bitrix24 with error handling







