Kommo + Microsoft Teams: уведомления о сделках и встречи в карточку лида

Kommo + Microsoft Teams: уведомления о сделках и встречи в карточку лида

Нативной интеграции между Kommo и Microsoft Teams нет. Marketplace Kommo не содержит Teams-коннектора, а Microsoft не добавил Kommo в список интеграций Teams. Команды, которые используют Teams как основной мессенджер, вынуждены вручную копировать обновления из CRM в чаты или переключаться между интерфейсами. Встречи из Teams Calendar не попадают в карточки Kommo автоматически.

Кастомная интеграция решает два сценария: уведомления о событиях в Kommo уходят в Teams-каналы, а встречи Teams Calendar синхронизируются в карточки сделок как активности.

Почему нет нативной интеграции

Microsoft Teams интегрируется с CRM-системами через Microsoft Power Automate и официальные коннекторы. Salesforce, HubSpot, Dynamics 365 (нативно) имеют готовые Teams-приложения. Kommo в экосистему Microsoft не входит — слишком маленький для приоритизации.

Zapier содержит Microsoft Teams как action (отправить сообщение в канал) и Kommo как trigger. Базовые уведомления через Zapier работают, но:
— Нет форматирования карточек (Adaptive Cards) — сообщения выглядят как простой текст
— Нет двусторонней синхронизации (из Teams в Kommo)
— Microsoft Graph API для встреч через Zapier недоступен
— Нет контроля над тем, в какой канал и кому уходит уведомление в зависимости от типа события

Сценарий 1: уведомления Kommo -> Teams

Какие события имеет смысл уведомлять:
— Смена этапа сделки (особенно критичные: «Договор подписан», «Оплачено», «Сделка проиграна»)
— Новый входящий лид выше определённой суммы
— Задача просрочена (менеджер не выполнил в срок)
— Назначение сделки на нового ответственного

Механизм:

Kommo Digital Pipeline -> webhook -> backend -> Microsoft Graph API

POST https://graph.microsoft.com/v1.0/teams/{team_id}/channels/{channel_id}/messages
Authorization: Bearer {access_token}
{
  "body": {
    "contentType": "html",
    "content": "<b>Сделка #{deal_id}</b> перешла в этап <b>{stage_name}</b>..."
  }
}

Для форматированных карточек (Adaptive Cards) используется Incoming Webhook коннектор Teams — проще в настройке, не требует OAuth:

POST {teams_incoming_webhook_url}
{
  "type": "message",
  "attachments": [{
    "contentType": "application/vnd.microsoft.card.adaptive",
    "content": {
      "type": "AdaptiveCard",
      "body": [
        { "type": "TextBlock", "text": "Новая сделка: {deal_name}", "weight": "bolder" },
        { "type": "FactSet", "facts": [
          { "title": "Сумма", "value": "{amount} USD" },
          { "title": "Этап", "value": "{stage_name}" },
          { "title": "Менеджер", "value": "{manager_name}" }
        ]}
      ],
      "actions": [{
        "type": "Action.OpenUrl",
        "title": "Открыть в Kommo",
        "url": "https://yourcompany.kommo.com/leads/detail/{deal_id}"
      }]
    }
  }]
}

Adaptive Card с кнопкой «Открыть в Kommo» — менеджер видит форматированное уведомление и одним кликом переходит в сделку.

Маршрутизация по каналам:
— Общие уведомления (новые лиды) -> канал #новые-лиды
— Крупные сделки (выше $10,000) -> канал #vip-клиенты
— Проигранные сделки -> канал #аналитика
— Задачи просрочены -> личное сообщение ответственному менеджеру

Сценарий 2: встречи Teams -> карточки Kommo

Когда менеджер проводит Teams Meeting с клиентом, это нужно зафиксировать в Kommo. Без интеграции — ручная запись примечания после звонка.

Механизм через Microsoft Graph API:

GET https://graph.microsoft.com/v1.0/me/calendarView
    ?startDateTime={start}&endDateTime={end}
    &$filter=isOnlineMeeting eq true

Backend периодически (каждые 15–30 минут) или по триггеру проверяет завершённые Teams Meetings:
— Сравнивает участников встречи (email) с контактами в Kommo
— Находит связанную сделку
— Создаёт примечание в Kommo: дата встречи, участники, длительность

POST /api/v4/leads/{id}/notes
{
  "note_type": "common",
  "params": {
    "text": "[Teams Meeting] {date}\nУчастники: {participants}\nДлительность: {duration} мин"
  }
}

Teams Premium и расшифровки: если в компании используется Microsoft Teams Premium с Copilot, расшифровки встреч доступны через GET /communications/callRecords/{id}/sessions. Можно автоматически добавлять summary встречи в примечание Kommo.

Аутентификация Microsoft Graph API

Для чтения Calendar и отправки сообщений в Teams нужен OAuth 2.0 через Microsoft Entra ID (Azure AD):

  1. Регистрация приложения в Azure Portal -> App registrations
  2. Permissions: ChannelMessage.Send, Calendars.Read, OnlineMeetings.Read
  3. Client Credentials flow (для серверного приложения без участия пользователя):
    POST https://login.microsoftonline.com/{tenant_id}/oauth2/v2.0/token grant_type=client_credentials client_id={app_id}&client_secret={secret} scope=https://graph.microsoft.com/.default
  4. Token обновляется автоматически — срок жизни 1 час, backend обновляет заранее

Incoming Webhook для Adaptive Cards не требует OAuth — URL генерируется в настройках канала Teams и является самоподписанным токеном.

Реальный кейс

В проекте для IT-компании (Microsoft 365 + Kommo, 15 менеджеров):
— Команда жила в Teams, CRM смотрели редко
— После интеграции: уведомления о смене этапа приходят в Teams -> менеджеры кликают и попадают в сделку
— Встречи с клиентами фиксируются в Kommo автоматически — без ручных примечаний
— Менеджеры отметили: «стало понятно что происходит в воронке, без необходимости открывать Kommo каждый час»

По результатам через месяц: среднее время реакции на новый лид снизилось с 4 часов до 40 минут (команда видит уведомление в Teams сразу).

Сравнение с интеграцией Kommo + Zoom

Если компания использует Zoom для встреч — интеграция Kommo и Zoom работает схожим образом: встречи создаются из карточки, записи попадают обратно. Teams-интеграция отличается тем, что Teams является также корпоративным мессенджером — уведомления о сделках идут туда же, где общается команда.

Если мессенджер команды — Slack, а не Teams — схема аналогична, но через Slack API (Incoming Webhooks + Block Kit вместо Adaptive Cards).

Для кого актуально

Интеграция Kommo + Teams имеет смысл если:
— Команда активно использует Microsoft 365 (Teams как основной мессенджер)
— Менеджеры проводят встречи с клиентами через Teams Meetings
— Важны мгновенные уведомления о событиях в CRM в интерфейсе, где работает команда
— Нужна маршрутизация разных событий в разные каналы Teams

Часто задаваемые вопросы

Можно ли создавать Teams Meeting прямо из карточки Kommo?

Да — через кастомный виджет в Kommo или кнопку в Digital Pipeline. Backend создаёт онлайн-встречу через POST https://graph.microsoft.com/v1.0/me/onlineMeetings, записывает ссылку в карточку сделки и отправляет приглашение клиенту. Это аналог интеграции Kommo и Zoom, но через Teams.

Teams Incoming Webhook vs Microsoft Graph API — что лучше?

Для уведомлений (Kommo -> Teams) — Incoming Webhook проще: не нужен OAuth, просто URL. Для двусторонней синхронизации (чтение Calendar, создание встреч, личные сообщения) — Graph API обязателен. Оба подхода можно комбинировать: Incoming Webhook для уведомлений, Graph API для встреч.

Уведомления приходят всей команде или конкретному менеджеру?

Оба варианта. Через Incoming Webhook — только в канал (всем участникам канала). Через Graph API — можно отправить Direct Message конкретному пользователю Teams по email или user ID. В кастомной интеграции: критичные события -> в канал, персональные (просроченная задача, назначение сделки) -> личное сообщение.

Нужен ли Microsoft Teams Premium для расшифровок встреч?

Да. Расшифровки и Copilot-summary доступны только в Teams Premium ($7/пользователь/мес дополнительно). Базовые метаданные встречи (участники, длительность, запись) доступны через Graph API на стандартном плане Microsoft 365 Business.

Итого

  • Нативной интеграции Kommo + Teams нет; Zapier даёт базовые уведомления без форматирования
  • Кастомная интеграция: Adaptive Cards с кнопкой в Kommo + синхронизация завершённых Teams Meetings
  • Incoming Webhook — для уведомлений без OAuth; Graph API — для встреч и личных сообщений
  • Маршрутизация по каналам: разные типы событий -> разные каналы Teams
  • Типовой срок разработки: 2–3 недели

Если ваша команда работает в Microsoft 365 и ведёт сделки в Kommo — опишите, какие события важно видеть в Teams. Exceltic.dev оценит сложность и предложит конкретную схему.

Ещё статьи

Все →