Разработчикам
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();Вебхуки
События без постоянного соединения: 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 и отзыв токенов
- Клиенты создаются в настройках пространства
