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.
In the Newo Builder, navigate to Attributes and set
bitrix_base_url,bitrix_client_id, andbitrix_client_secret.Click the Bitrix24 authorization link provided by the platform. You will be redirected to Bitrix24.
Log in to your Bitrix24 account.
Authorize the Newo app when prompted.
After authorization, copy the code from the redirect URL.
Return to the Builder and paste the code into the
bitrix_oauth_codeattribute 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
Open Newo and go to Projects.
Select the project and open Builder > Attributes.
Set the attributes listed in the table below.
Click Save + Publish All.
Required attributes
Attribute | Description |
| Your Bitrix24 instance URL (e.g., |
| OAuth App Client ID |
| OAuth App Client Secret |
| One-time OAuth authorization code obtained in Step 1 |
Optional attributes
Attribute | Default | Description |
|
| User ID of the calendar owner (typically the admin) |
|
| Appointment slot duration in minutes |
|
| Number of days ahead to fetch available slots |
|
| Employee position filter used for deal assignment |
|
| Automatically create a deal when a conversation ends |
|
| Pre-load availability at the start of a conversation |
|
| Allow the AI Employee to check calendar availability |
|
| Allow the AI Employee to create bookings |
|
| Allow the AI Employee to cancel bookings |
|
| Allow the AI Employee to create tasks |
|
| 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 |
| AI Employee looks up open time slots |
Book Appointment |
| AI Employee confirms and creates a booking |
Cancel Appointment |
| AI Employee processes a cancellation |
Session Ended |
| Auto-creates a deal at conversation end |
Create Task |
| AI Employee creates a task from conversation |
Create Lead |
| New lead arrives from an external source |
Conversation Start |
| Optional: pre-loads availability at call start |
Setup |
| 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, andbitrix_client_secretare set correctly.Verify that
bitrix_access_tokenwas obtained (check the Attributes panel after publishing).Confirm
bitrix_owner_idpoints 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_namematches 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.
