API y webhooks de Dailybot: visión general, autenticación y límites
Dailybot expone una API programática y soporta webhooks salientes para que puedas:
- Traer respuestas de check-in, kudos y datos de miembros a tus sistemas.
- Reaccionar en tiempo real cuando algo pasa (check-in enviado, blocker marcado, kudo dado).
- Construir integraciones internas o dashboards sobre datos de Dailybot.
Esta página es el punto de entrada. La referencia detallada (endpoints, schemas, ejemplos) vive en el portal de developer docs. Pedile el link actual a soporte si no lo ves en tu dashboard.
Autenticación
| Qué | De dónde sale |
|---|---|
| API key | Se genera en Settings -> Developer (o Account -> API, la etiqueta exacta depende del plan). |
| Key por org | Cada organización Dailybot tiene sus propias keys. No podés usar una key de la org A para leer la B. |
| Header | Authorization: Bearer <tu_api_key> |
| Webhook signing secret | Se genera al crear una suscripción de webhook. Ver Webhook keys. |
Mantené las API keys en secreto. Tratá como contraseñas. Si una key se filtra, rotala desde el mismo screen ya. Hoy no hay detección automática de keys filtradas.
Qué podés hacer vía API
Casos comunes de clientes:
- Leer respuestas de check-in y reportes compilados por rango de fecha.
- Leer kudos dados y recibidos por usuario / equipo.
- Listar miembros, equipos y roles de una org.
- Crear kudos o disparar automations desde eventos externos (sujeto al plan).
- Suscribirse a webhooks para eventos seleccionados.
Para qué no sirve la API:
- Reemplazar la experiencia de chat (los miembros siguen contestando en Slack/Teams/Discord/Google Chat).
- Saltarse controles de rol. La API impone los mismos permisos que un usuario tiene en la web.
- Export masivo para compliance. Usá el flujo de DSAR / export de datos, que es auditable.
Webhooks
Los webhooks son HTTP POST que Dailybot manda a una URL tuya cuando ocurre un evento. Eventos típicos:
- Check-in enviado / compilado.
- Kudo dado.
- Blocker marcado.
- Miembro agregado / removido.
- Automation disparada.
Configurar un webhook
- Andá a Webhooks en tu cuenta Dailybot (bajo Developer / Integrations).
- Agregá una suscripción nueva con:
- URL que recibe el POST (HTTPS y accesible públicamente).
- Eventos que querés escuchar.
- Signing secret que Dailybot te devuelve. Guardalo server-side.
- Verificá el delivery de prueba desde la UI.
- En cada llamada real, verificá la firma del request en tu servidor con el secret (recomendado; si no, cualquiera que adivine tu URL puede falsificar eventos).
Si un webhook falla (respuesta no-2xx), Dailybot reintenta con backoff por un número limitado de intentos, después lo desactiva y notifica al admin. Para debug ver Webhooks no se disparan.
Rate limits
La API tiene rate limits por org y por IP para mantener la plataforma estable. Si pegás un límite, devolvemos 429 Too Many Requests con header Retry-After.
| Patrón típico | Recomendación |
|---|---|
| Pulls masivos para analytics | Programar off-peak; paginación por rango de fecha, no loops sin fin. |
| Integraciones long-running | Cachear identificadores (member, team, check-in); rara vez cambian. |
| Consumer de webhook caído | Respondé 5xx rápido para que demos backoff; reintentamos. No mantengas conexiones abiertas. |
Los números exactos varían por plan y pueden cambiar. Para un límite custom en enterprise, contactá a ventas.
Troubleshooting
| Síntoma | Dónde mirar |
|---|---|
401 / 403 |
API auth errors |
| Webhooks no llegan | Webhooks no se disparan |
| Campos inesperados / breaking change | Respuestas inesperadas |
| Revocar una key filtrada | Webhook keys (mismo flujo para API keys) |