Разработчикам

Calab как платформа

Боты, LLM-агенты и ваши приложения работают через тот же API, что и Calab: чат, задачи, календарь, голос.

Боты

Бот — такой же участник, как все

Создайте бота в настройках пространства и выдайте ему роль — он работает через тот же API, что и приложение: чаты, задачи, календарь, участники и голос.

  • Чат

    Читает и пишет сообщения во всех доступных комнатах и личных сообщениях, отвечает, ставит реакции, отправляет файлы и стикеры. События приходят в реальном времени по WebSocket.

  • Задачи

    Создаёт и меняет задачи на досках, назначает исполнителей, комментирует и ищет. Доска видна боту так же, как человеку с его ролью.

  • Голос

    Заходит в голосовую комнату через LiveKit: слышит участников и говорит сам — озвучка текста, эхо, музыка, запись. На Node, Python или Go.

  • Календарь

    Назначает и переносит встречи, смотрит «свободно/занято» и подбирает время для нескольких человек. Бот — организатор, письма уходят «от имени бота».

  • Участники

    Открывает профиль участника с его открытыми задачами, переименовывает, приглашает по ссылке и почте, выдаёт бейджи — в рамках прав роли.

  • Запись встреч

    Запускает и останавливает запись голосовой комнаты — транскрипт и саммари придут карточкой в чат. Нужно право «Записи».

  • Команды и кнопки

    Регистрирует /команды, которые композер подсказывает по «/», и прикрепляет кнопки под сообщениями — нажатие приходит боту событием.

  • Webhook

    Без постоянного соединения: события приходят POST-запросом с подписью HMAC и повторами при сбоях. Удобно для serverless.

Права — через роли, как у людей: бот видит только те комнаты, куда его пустили.

MCP

MCP: подключите любой LLM к Calab

Claude, агент в IDE или своя модель работают в Calab как бот: ищут, читают, ставят задачи и пишут в комнаты. Клиенту нужны только адрес и токен бота.

  • Один эндпоинт

    POST /api/mcp — Model Context Protocol поверх HTTP. Никаких адаптеров и сессий.

  • Вход по токену бота

    Токен бота передаётся в заголовке Authorization. Токены людей не принимаются.

  • Права бота и не больше

    Инструмент вызывает обычное API с тем же токеном: те же права и лимиты, приватные доски и комнаты остаются закрытыми.

  • Экономия токенов

    Описания инструментов в одну строку, ответы компактные, полный объект — только по запросу.

# Streamable HTTP
url: https://app.calab.io/api/mcp
Authorization: Bearer calab_bot_…

Шесть инструментов

  • find — найти задачи, сообщения, комнаты и доски
  • read — прочитать задачу или сообщения комнаты
  • create_task — создать задачу
  • comment_task — прокомментировать задачу
  • set_task_status — сменить статус задачи
  • send_message — написать в комнату

Токен бота показывается один раз, при создании.

@calaba/bot-sdk

SDK на TypeScript

Команды, кнопки, события и голос — несколько строк кода.

import { Bot } from '@calaba/bot-sdk';const bot = new Bot(process.env.BOT_TOKEN, {  server: 'https://app.calab.io',});await bot.commands([{ name: 'standup', description: 'Start' }]);// "/standup" → a message with a buttonbot.on('command', (c) =>  bot.send(c.message.roomId, {    text: 'Stand-up time. Record it?',    inlineKeyboard: { rows: [{ buttons: [      { id: 'rec', label: 'Record', data: 'standup' },    ] }] },  }),);// pressed → start the meeting recordingbot.on('callback', (cb) => {  if (cb.buttonId === 'rec') bot.recording.start(cb.roomId);});await bot.start();
Бот планёрки на TypeScript. Эхо-бот, голосовые примеры и слушатель на Python — в examples/bots. Полный справочник эндпоинтов и событий — в документации.

Вебхуки

События без постоянного соединения: POST-запрос с подписью HMAC и повторами при сбоях.

  • Вебхук бота: сообщения, реакции, задачи, встречи, кнопки
  • Подпись HMAC-SHA256 в заголовке X-Calab-Signature
  • Повторы при сбоях и очередь событий
  • Вебхук доски: каждое изменение задач (Business и выше)

OAuth 2.0 · OpenID Connect

Войти через Calab

OAuth 2.0 и OpenID Connect: ваши внутренние сервисы пускают сотрудников по аккаунту Calab.

  • Authorization Code + PKCE (S256)
  • Экран согласия с правами
  • userinfo, refresh и отзыв токенов
  • Клиенты создаются в настройках пространства