Bitrix24 Cloud
Bitrix24 Cloud is not supported yet: it needs a Marketplace app rather than a module. Cloud support is planned, but the timeline is not settled.
Requirements
- On-premise Bitrix24 with the
main,im,intranetanduimodules, version 23.0 or later. The setup wizard checks compatibility itself and shows what is missing. Tested on on-premise Bitrix24 26.x. - MySQL or MariaDB database. PostgreSQL is not supported — the wizard will not install.
- PHP 8.1 or later.
- HTTPS with a valid certificate (the app will not connect over http or to a self-signed certificate), and the portal must be reachable from the phone — from the internet or through a VPN.
- A portal administrator account; SSH or FTP/SFTP access to upload files.
- An iPhone with iOS 26 and the free NeonWorks Voice app from the App Store (until it is published — a TestFlight beta; ask support for an invitation). The app and its messages are currently in Russian.
Before you start
Back up the portal (Settings → Tools → Backup) — the usual precaution before installing any module.
Installation, step by step
- Download
neonworks.voice-1.1.1.zipwith the button above and, if you like, verify its SHA-256. - Unpack it so that you get
/local/modules/neonworks.voice/in the site root (create/local/modules/if it doesn't exist)./bitrix/modules/neonworks.voice/works too. Files should be owned by the web server user. - Over SSH this is three commands:
cd /home/bitrix/www/local/modules→unzip ~/neonworks.voice-1.1.1.zip→chown -R bitrix:bitrix neonworks.voice(path and owner as on Bitrix Virtual Appliance; yours may differ). With FTP/SFTP, unpack the archive on your computer and upload the wholeneonworks.voicefolder. - Open the portal's admin area: Marketplace → Installed solutions.
- Find “Voice for Bitrix24” (description: “Voice messages to chat from iPhone”) and click Install.
- In the wizard choose who the app may write to: “Test mode: test users and yourself only” (default; enter the test users' IDs) or “All employees”. We recommend starting in test mode.
- Set the phone pairing page path —
/voice/by default. System folders are not allowed: the path cannot be inside/bitrix/,/local/,/upload/or/extranet/. Finish the installation — the module creates its tables, the page and a background log-cleanup job. The portal core and menu files are not changed. - An employee opens
/voice/on a computer and clicks “Connect phone” — a QR code and a 10-character backup code appear (valid for 5 minutes). Only active employees can pair a phone — not extranet users, bots or external users. - In the iPhone app the employee scans the QR code (or types the code).
- The
/voice/page asks “Connect “iPhone …”?” — the employee clicks Yes. The phone is connected and ready.
Adding the page to the menu
The module does not add a left menu item. To help employees find the phone pairing page, add a link to /voice/ in the left menu through the portal menu settings, or simply share the page address.
Switching the recipient mode
Test mode is on by default. Switch it in the module settings: Settings → Product settings → Module settings → Voice for Bitrix24 (or /bitrix/admin/settings.php?mid=neonworks.voice). Choose “Test mode: test users and yourself only” or “All employees”; in test mode list the test users' IDs; save. The change applies immediately — phones do not need to be re-paired.
By default the API lets the app send chat messages only.
Updating
- Unpack the new version over the
/local/modules/neonworks.voice/folder. - Open the Voice for Bitrix24 module settings and click “Update files” (the settings page warns you when files are from an older version). The API, component and pairing page are updated and tables are migrated; devices, the log and settings are kept.
Alternatively: Uninstall with “Keep data” checked → Install again.
License
- Licenses are per seat: a seat is an employee with a paired phone (several phones of one person count as one seat). The license is bound to the portal address.
- At installation the module automatically starts a trial — 30 days for 5 seats — if the portal can reach
https://b24voice.neonworks.app. Without network access the module still installs and the trial starts at the next check. - A portal on an internal address (for example
portal.localor an IP address) does not get an automatic trial — the module shows an error with codehost_not_public. You can request a trial key for such a portal through the support form. - Enter a purchased key (
NW-XXXX-XXXX-XXXX-XXXX) in the module settings: Settings → Product settings → Module settings → Voice for Bitrix24 → License → License key → Save key. The same block shows the status (trial days left, active until …, X of N seats used), a “Check now” button and the list of employees taking seats with a “Free seat” button (disconnects all of that employee's phones). - An invalid key is not saved: the previous key and status stay, and the module shows the reason. “Remove key” returns the portal to the license for its address or to the trial.
- Only working phones take seats: requests left unanswered for over 10 minutes, phones with an expired token and phones inactive for more than 60 days (configurable) do not — the module disconnects them itself.
- When all seats are taken, a new employee sees “All N seats are taken. Contact your portal administrator” on the pairing page. When the license expires or is revoked, sending from the app stops.
- The module checks the license once a day. If the portal has no internet access, the iPhone app checks the license itself.
- Pricing is available on request through the support form. What is sent during a license check is described in the privacy policy.
Uninstalling
Marketplace → Installed solutions → Voice for Bitrix24 → Uninstall. The “Keep data (devices, command log, settings)” checkbox is on by default:
leave it on — tables and settings remain; after reinstalling, phones work again without re-pairing;
turn it off — tables and settings are deleted and tokens stop working.
Either way, the API, component, pairing page, event handler and agent are removed. Delete the /local/modules/neonworks.voice/ folder manually afterwards. Messages already sent stay in chat.
FAQ
How secure is it?
Only an active employee of the portal can pair a phone, and only by confirming it themselves on the /voice/ page while signed in to their own account. The pairing code is single-use and lives for 5 minutes; attempts are rate-limited. The token is 256-bit and the server stores only its hash. A browser session on the portal does not grant API access. Tokens are revoked with Disconnect on /voice/, Sign out in the app, on password change, deactivation, blocking or a move to extranet, and after 90 days without use.
Where does my voice go?
Nowhere. Speech is recognised on the iPhone and only text goes to the portal. No cloud AI services are used. Our server receives only technical data for the license check — no voice, texts or names.
What about colleagues with the same surname?
If several people match, the app shows them as cards — recent chat partners and people from your department first. Tap the right one, or refine by department, position or patronymic.
Does it understand short names like “Pasha” or “Sasha”?
Yes. The module declines Russian first names and surnames in every case and knows common short forms of first names.
What if the portal is unreachable?
The message is not lost: the card stays on screen with Retry, and if you close the app it re-sends the message on next launch. Retries never create duplicates — each message has its own key.
Can I change my mind after speaking?
Yes. After recognition you have a few seconds (3 by default) to cancel or edit the text and recipient. You can also switch to “Confirm with a button” in settings.
Which language should I speak?
The app currently recognises Russian speech.
Bitrix24 is a trademark of its respective owner. Neonworks is not affiliated with Bitrix24.