Tool
Call
Widget
01. КатегорияTool
02. РольFull-stack, Product
03. Датамар 2026
Next.jsSIP.jsTypeScriptWebRTCWebSocketNext.jsSIP.jsTypeScriptWebRTCWebSocketNext.jsSIP.jsTypeScriptWebRTCWebSocketNext.jsSIP.jsTypeScriptWebRTCWebSocket
Менеджеры теряют контекст на каждом звонке, потому что телефония живёт отдельно от CRM. Цель — встроить полноценный SIP-телефон прямо в карточку клиента, чтобы звонок, история и теги оставались там, где работает менеджер.
Call Widget

Вызов
Телефония вне CRM
Менеджеры вынуждены переключаться между CRM и телефонной системой, теряя контекст и время на каждом звонке.
- — Звонок требует выхода из карточки клиента в отдельное приложение
- — История звонков не синхронизируется с контактом в CRM автоматически
- — Входящий звонок не связан с карточкой — менеджер не знает, кто звонит
Решение
CRM-нативный звонок
SIP-виджет встраивается прямо в Twenty CRM через LINKS-поле и поднимает WebRTC-соединение без выхода из интерфейса.
- + Один клик по ссылке в карточке — JWT-авторизация и открытие виджета с контекстом контакта
- + Полный цикл звонка внутри CRM: набор, активный вызов, мьют, тегирование после звонка
- + Входящий баннер и список пропущенных с кнопкой перезвона прямо в интерфейсе
Архитектура & Стек
Mindmap
NODE.01
SIP Engine
WebRTC-телефония
SIP.js · WebRTC
NODE.02
CRM Bridge
Интеграция с Twenty
REST · JWT · uis-bridge
COREEngine
NODE.03
Widget UI
Экраны звонка
Next.js · React · Lucide
NODE.04
Realtime Layer
События и статусы
WebSocket · Next.js API
NODE.01
SIP Engine
WebRTC-телефония
SIP.js · WebRTC
NODE.02
CRM Bridge
Интеграция с Twenty
REST · JWT · uis-bridge
NODE.03
Widget UI
Экраны звонка
Next.js · React · Lucide
NODE.04
Realtime Layer
События и статусы
WebSocket · Next.js API
COREEngine
Измеримый результат
Бизнес Импакт
1 клик
от карточки до звонка
0
переключений между приложениями
6
экранов полного call-цикла