Skip to main content

Bitrix24 integration

Updated today

This guide explains how to connect Bitrix24 to the Newo platform, authorize the integration with OAuth, configure booking and CRM automation, and verify the setup is working correctly.

Overview

The Bitrix24 integration connects Bitrix24 (a CRM and business management platform) with the Newo platform, enabling an AI Employee to perform the following actions directly inside Bitrix24:

  • Check calendar availability and suggest open appointment slots

  • Create bookings as calendar events with contact linking

  • Cancel appointments by deleting calendar events

  • Automatically create deals at conversation end, with intelligent employee load balancing

  • Create leads from external sources (e.g., Yelp)

  • Create tasks with details extracted from the conversation

  • Look up and auto-create contacts across all flows

This integration is designed for service businesses that use Bitrix24 as their primary CRM.

Requirements

Before setting up the integration, confirm the following:

  • An active Bitrix24 account (cloud or on-premise)

  • A Bitrix24 OAuth App with a Client ID and Client Secret

  • A calendar configured for the owner user (typically the admin user, ID = 1)

Step 1: Authorize in Bitrix24

The OAuth authorization establishes the secure connection between Newo and your Bitrix24 account. This is a one-time flow.

  1. In the Newo Builder, navigate to Attributes and set bitrix_base_url, bitrix_client_id, and bitrix_client_secret.

  2. Click the Bitrix24 authorization link provided by the platform. You will be redirected to Bitrix24.

  3. Log in to your Bitrix24 account.

  4. Authorize the Newo app when prompted.

  5. After authorization, copy the code from the redirect URL.

  6. Return to the Builder and paste the code into the bitrix_oauth_code attribute field.

πŸ—’οΈ NOTE

The OAuth authorization code is single-use. If it expires or you navigate away before saving, you must repeat the authorization flow from the beginning to generate a new code.

Step 2: Configure attributes in the Builder

  1. Open Newo and go to Projects.

  2. Select the project and open Builder > Attributes.

  3. Set the attributes listed in the table below.

  4. Click Save + Publish All.

Required attributes

Attribute

Description

bitrix_base_url

Your Bitrix24 instance URL (e.g., https://yourcompany.bitrix24.com)

bitrix_client_id

OAuth App Client ID

bitrix_client_secret

OAuth App Client Secret

bitrix_oauth_code

One-time OAuth authorization code obtained in Step 1

Optional attributes

Attribute

Default

Description

bitrix_owner_id

1

User ID of the calendar owner (typically the admin)

bitrix_duration

60

Appointment slot duration in minutes

bitrix_availability_days

1

Number of days ahead to fetch available slots

bitrix_employee_position_name

cleaner

Employee position filter used for deal assignment

bitrix_create_deal_on_conversation_end

True

Automatically create a deal when a conversation ends

bitrix_check_availability_on_conversation_start

False

Pre-load availability at the start of a conversation

bitrix_enable_slot_check

True

Allow the AI Employee to check calendar availability

bitrix_enable_booking

True

Allow the AI Employee to create bookings

bitrix_enable_cancellation

True

Allow the AI Employee to cancel bookings

bitrix_enable_task_creation

True

Allow the AI Employee to create tasks

bitrix_enable_lead_creation

True

Allow the AI Employee to create leads

What happens on publish

When you click Save + Publish All, the integration automatically:

  • Exchanges the OAuth code for access and refresh tokens

  • Fetches working hours from your Bitrix24 calendar settings

  • Creates HTTP connectors for API and token refresh operations

  • Registers the task creation tool with the AI Employee

  • Injects booking and availability payload schemas

⚠️ CAUTION

This integration writes real records to your Bitrix24 account. Calendar events, deals, leads, tasks, and contacts created during testing will appear in your live CRM. Use a test project or sandbox account when possible.

How it works

The integration uses Bitrix24's REST API to read and write calendar events, contacts, deals, leads, tasks, and user data.

Availability: The integration queries the calendar owner's events for the requested date range and generates open slots at bitrix_duration-minute intervals, excluding times that overlap with existing events.

Deal creation: When a conversation ends, if a booking was made, the integration fetches all active employees matching the bitrix_employee_position_name position, counts their open deals (stage = NEW), and assigns the new deal to the employee with the fewest open deals.

Token refresh: If the Bitrix24 API returns a 401 Unauthorized response, the integration automatically refreshes the access token using a dedicated HTTP connector.

Task extraction: When a task is created, the LLM extracts the contact's first name, last name, phone number (E.164 format), and a task title (maximum 10 words) from the conversation memory.

Triggers

The integration responds to the following platform events:

Trigger

Event

Description

Check Availability

get_available_slots

AI Employee looks up open time slots

Book Appointment

book_slot

AI Employee confirms and creates a booking

Cancel Appointment

convo_agent_cancel_booking

AI Employee processes a cancellation

Session Ended

session_ended

Auto-creates a deal at conversation end

Create Task

create_task

AI Employee creates a task from conversation

Create Lead

yelp_new_lead

New lead arrives from an external source

Conversation Start

conversation_started

Optional: pre-loads availability at call start

Setup

project_publish_finish

Initializes the integration on deploy

Test the integration

Test each flow through the Newo conversation interface (chat or voice) after publishing.

Flow

What to verify

Setup

OAuth token was exchanged and working hours were fetched successfully

Availability

Ask the AI Employee about open slots; confirm it returns times from the correct calendar

Booking

Complete a booking; confirm a calendar event was created in Bitrix24 with a contact linked

Cancellation

Cancel a booking; confirm the calendar event was deleted in Bitrix24

Deal

End a conversation after a booking; confirm a deal was created and assigned to the least busy employee

Task

Ask the AI Employee to create a task; confirm the task appears in Bitrix24 with contact details

If no action occurs

  • Confirm bitrix_base_url, bitrix_client_id, and bitrix_client_secret are set correctly.

  • Verify that bitrix_access_token was obtained (check the Attributes panel after publishing).

  • Confirm bitrix_owner_id points to a valid user who has a calendar configured.

  • Check that the feature flags (bitrix_enable_booking, bitrix_enable_task_creation, etc.) are enabled for the flows you want to use.

  • Verify bitrix_employee_position_name matches the actual position names in Bitrix24 (for deal assignment).

  • Re-publish the project if you changed any credentials after the initial publish.

Limitations

Limitation

Details

Rescheduling

Not supported. To reschedule, cancel the existing booking and create a new one.

Multi-calendar support

Not supported. Each integration uses a single calendar owner.

FAQ

How does employee load balancing work for deals? When a deal is created at session end, the integration fetches all active employees with the position matching bitrix_employee_position_name, counts each employee's open deals (stage = NEW), and assigns the new deal to the employee with the fewest open deals.

What is the difference between deals, leads, and tasks? Deals are created automatically when a conversation ends after a booking β€” they represent a business opportunity and include employee assignment. Leads are created from external sources (e.g., Yelp) as initial contact records. Tasks are created on demand from the conversation, with details extracted by the LLM.

How is availability computed? The integration queries the calendar owner's events for the requested date range, then generates available time slots at bitrix_duration-minute intervals (default: 60 minutes), removing any slots that overlap with existing calendar events.

Can I connect to an on-premise Bitrix24 instance? Yes. Set bitrix_base_url to your on-premise instance URL (e.g., https://bitrix.yourcompany.com).

How does the token refresh work? When the Bitrix24 API returns an HTTP 401 Unauthorized response, the integration automatically uses a dedicated HTTP connector to exchange the refresh token for a new access token.

Can I disable automatic deal creation? Yes. Set bitrix_create_deal_on_conversation_end to False to prevent deals from being created at session end.

Did this answer your question?