Desarrolladores
Calab como plataforma
Los bots, los agentes de IA y tus propias aplicaciones usan la misma API que Calab: chat, tareas, calendario y voz.
Bots
Un bot es un miembro más
Crea un bot en los ajustes del espacio y dale un rol: usa la misma API que la aplicación — chats, tareas, calendario, miembros y voz.
Chat
Lee y escribe mensajes en todas las salas y mensajes directos a los que accede, responde, reacciona, envía archivos y stickers. Los eventos llegan en tiempo real por WebSocket.
Tareas
Crea y edita tareas en los tableros, asigna personas, comenta y busca. El bot ve un tablero como lo vería una persona con el mismo rol.
Voz
Entra en una sala de voz con LiveKit: oye a los participantes y habla — texto a voz, eco, música, grabación. En Node, Python o Go.
Calendario
Programa y mueve reuniones, consulta libre/ocupado y busca hora para varias personas. El bot es el organizador; los correos salen «de parte del bot».
Miembros
Abre el perfil de un miembro con sus tareas abiertas, lo renombra, invita por enlace y correo, da insignias — dentro de los permisos del rol.
Grabación de reuniones
Inicia y detiene la grabación de una sala de voz: la transcripción y el resumen llegan como tarjeta al chat. Requiere el permiso «Grabaciones».
Comandos y botones
Registra /comandos que el editor sugiere con «/» y añade botones bajo los mensajes: una pulsación llega al bot como evento.
Webhook
Sin conexión permanente: los eventos llegan como POST con firma HMAC y reintentos ante fallos. Cómodo para serverless.
Los permisos vienen de los roles, como para las personas: un bot solo ve las salas a las que tiene acceso.
MCP
MCP: conecta cualquier LLM a Calab
Claude, un agente del IDE o tu propio modelo trabajan en Calab como un bot: buscan, leen, crean tareas y escriben en las salas. El cliente solo necesita una dirección y el token del bot.
Un solo endpoint
POST /api/mcp: el Model Context Protocol sobre HTTP. Sin adaptadores ni sesiones.
Acceso con token de bot
El token del bot va en la cabecera Authorization. Los tokens de personas se rechazan.
Los derechos del bot, ni uno más
La herramienta llama a la API normal con el mismo token: los mismos permisos y límites; los tableros y salas privados siguen cerrados.
Ahorra tokens
Descripciones de una línea y respuestas compactas; el objeto completo, solo si se pide.
# Streamable HTTP
url: https://app.calab.io/api/mcp
Authorization: Bearer calab_bot_…Seis herramientas
find— buscar tareas, mensajes, salas y tablerosread— leer una tarea o los mensajes de una salacreate_task— crear una tareacomment_task— comentar una tareaset_task_status— cambiar el estado de una tareasend_message— escribir en una sala
El token del bot se muestra una sola vez, al crearlo.
@calaba/bot-sdk
SDK de TypeScript
Comandos, botones, eventos y voz con unas pocas líneas de código.
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();Webhooks
Eventos sin conexión permanente: una petición POST firmada con HMAC y reintentos si algo falla.
- Webhook del bot: mensajes, reacciones, tareas, reuniones, botones
- Firma HMAC-SHA256 en la cabecera X-Calab-Signature
- Reintentos ante fallos y cola de eventos
- Webhook del tablero: cada cambio en las tareas (plan Business y superiores)
OAuth 2.0 · OpenID Connect
Iniciar sesión con Calab
OAuth 2.0 y OpenID Connect: tus servicios internos dejan entrar a los empleados con su cuenta de Calab.
- Authorization Code + PKCE (S256)
- Pantalla de consentimiento con permisos
- userinfo, refresh y revocación de tokens
- Los clientes se crean en los ajustes del espacio
