Webhooks de Clawdbot
Integra el asistente de IA Clawdbot con servicios externos usando webhooks. Aprende a recibir y enviar eventos webhook para automatización.
Descripción general de Webhooks de Clawdbot
Clawdbot admite webhooks para integrarse con servicios externos. Los webhooks permiten automatización basada en eventos, disparadores externos y comunicación entre servicios.
Webhooks entrantes
Configuración
{
"webhooks": {
"incoming": {
"enabled": true,
"port": 3011,
"secret": "your-webhook-secret"
}
}
}Endpoint
POST http://localhost:3011/webhook/<hook-id>Autenticación
curl -X POST http://localhost:3011/webhook/my-hook \
-H "X-Webhook-Secret: your-webhook-secret" \
-H "Content-Type: application/json" \
-d '{"message": "Hello from external service"}'Manejadores de Webhooks
Definir un manejador
{
"webhooks": {
"handlers": [
{
"id": "github-events",
"path": "/github",
"action": "run_agent",
"agentId": "devops",
"template": "New GitHub event: {{event.action}} on {{event.repository.name}}"
}
]
}
}Acciones del manejador
| Acción | Descripción |
|---|---|
send_message | Enviar mensaje al canal |
run_agent | Activar agente con prompt |
forward | Reenviar a otro endpoint |
custom | Función de manejador personalizado |
Manejo de sesiones
Claves de sesión de Webhook
Los webhooks utilizan sesiones dedicadas:
hook:<uuid>Opciones de sesión
{
"webhooks": {
"handlers": [
{
"id": "alerts",
"sessionMode": "persistent",
"sessionKey": "alerts-session"
}
]
}
}Webhooks salientes
Configuración
{
"webhooks": {
"outgoing": [
{
"id": "slack-notify",
"url": "https://hooks.slack.com/services/xxx",
"events": ["message_received", "agent_response"],
"method": "POST"
}
]
}
}Tipos de eventos
| Evento | Descripción |
|---|---|
message_received | Nuevo mensaje recibido |
agent_response | El agente generó una respuesta |
session_started | Nueva sesión creada |
session_ended | Sesión expirada/cerrada |
error | Ocurrió un error |
Formato de carga
Carga entrante
{
"event": "custom_event",
"data": {
"key": "value"
},
"timestamp": "2024-01-15T10:30:00Z"
}Carga saliente
{
"type": "message_received",
"session": "agent:main:whatsapp",
"message": {
"from": "+15551234567",
"text": "Hello",
"timestamp": "2024-01-15T10:30:00Z"
}
}Seguridad
Verificación de secreto
{
"webhooks": {
"incoming": {
"secretHeader": "X-Webhook-Secret",
"secret": "your-secret"
}
}
}Lista blanca de IP
{
"webhooks": {
"incoming": {
"allowedIPs": [
"192.168.1.0/24",
"10.0.0.1"
]
}
}
}Manejo de errores
Configuración de reintentos
{
"webhooks": {
"outgoing": [
{
"id": "notify",
"retry": {
"maxAttempts": 3,
"backoff": "exponential"
}
}
]
}
}Manejo de fallos
- Los webhooks fallidos se registran
- Reintentos con retroceso exponencial
- Cola de mensajes muertos opcional
Ejemplos
Integración con GitHub
{
"webhooks": {
"handlers": [
{
"id": "github",
"path": "/github",
"action": "send_message",
"target": {
"channel": "discord",
"peer": "dev-channel"
},
"template": "🔔 {{event.action}}: {{event.pull_request.title}}"
}
]
}
}Reenvío de alertas
{
"webhooks": {
"handlers": [
{
"id": "alerts",
"path": "/alerts",
"action": "run_agent",
"agentId": "oncall",
"template": "Alert: {{alert.name}} - {{alert.message}}"
}
]
}
}Próximos pasos
- Tareas Cron de Clawdbot - Tareas programadas
- Gateway de Clawdbot - Configuración del gateway
- Herramientas de Clawdbot - Configuración de herramientas
Tareas Cron de Clawdbot
Programa tareas automatizadas con las tareas cron del asistente de IA Clawdbot. Aprende a configurar mensajes recurrentes, informes y flujos de trabajo automatizados.
Integración de Clawdbot con Discord
Conecta el asistente de IA Clawdbot a Discord para automatización inteligente de bots, gestión de servidores y conversaciones impulsadas por IA en tu comunidad de Discord.