Webhooks Clawdbot
Intégrez l'assistant IA Clawdbot avec des services externes en utilisant des webhooks. Apprenez à recevoir et envoyer des événements webhook pour l'automatisation.
Aperçu des Webhooks Clawdbot
Clawdbot prend en charge les webhooks pour l'intégration avec des services externes. Les webhooks permettent l'automatisation événementielle, les déclencheurs externes et la communication inter-services.
Webhooks entrants
Configuration
{
"webhooks": {
"incoming": {
"enabled": true,
"port": 3011,
"secret": "your-webhook-secret"
}
}
}Point de terminaison
POST http://localhost:3011/webhook/<hook-id>Authentification
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"}'Gestionnaires de Webhooks
Définir un gestionnaire
{
"webhooks": {
"handlers": [
{
"id": "github-events",
"path": "/github",
"action": "run_agent",
"agentId": "devops",
"template": "New GitHub event: {{event.action}} on {{event.repository.name}}"
}
]
}
}Actions du gestionnaire
| Action | Description |
|---|---|
send_message | Envoyer un message au canal |
run_agent | Déclencher l'agent avec un prompt |
forward | Transférer vers un autre point de terminaison |
custom | Fonction de gestionnaire personnalisée |
Gestion des sessions
Clés de session Webhook
Les webhooks utilisent des sessions dédiées :
hook:<uuid>Options de session
{
"webhooks": {
"handlers": [
{
"id": "alerts",
"sessionMode": "persistent",
"sessionKey": "alerts-session"
}
]
}
}Webhooks sortants
Configuration
{
"webhooks": {
"outgoing": [
{
"id": "slack-notify",
"url": "https://hooks.slack.com/services/xxx",
"events": ["message_received", "agent_response"],
"method": "POST"
}
]
}
}Types d'événements
| Événement | Description |
|---|---|
message_received | Nouveau message reçu |
agent_response | L'agent a généré une réponse |
session_started | Nouvelle session créée |
session_ended | Session expirée/fermée |
error | Une erreur s'est produite |
Format de charge utile
Charge utile entrante
{
"event": "custom_event",
"data": {
"key": "value"
},
"timestamp": "2024-01-15T10:30:00Z"
}Charge utile sortante
{
"type": "message_received",
"session": "agent:main:whatsapp",
"message": {
"from": "+15551234567",
"text": "Hello",
"timestamp": "2024-01-15T10:30:00Z"
}
}Sécurité
Vérification du secret
{
"webhooks": {
"incoming": {
"secretHeader": "X-Webhook-Secret",
"secret": "your-secret"
}
}
}Liste blanche d'IP
{
"webhooks": {
"incoming": {
"allowedIPs": [
"192.168.1.0/24",
"10.0.0.1"
]
}
}
}Gestion des erreurs
Configuration des tentatives
{
"webhooks": {
"outgoing": [
{
"id": "notify",
"retry": {
"maxAttempts": 3,
"backoff": "exponential"
}
}
]
}
}Gestion des échecs
- Les webhooks échoués sont journalisés
- Réessai avec recul exponentiel
- File d'attente de messages morts optionnelle
Exemples
Intégration GitHub
{
"webhooks": {
"handlers": [
{
"id": "github",
"path": "/github",
"action": "send_message",
"target": {
"channel": "discord",
"peer": "dev-channel"
},
"template": "🔔 {{event.action}}: {{event.pull_request.title}}"
}
]
}
}Transfert d'alertes
{
"webhooks": {
"handlers": [
{
"id": "alerts",
"path": "/alerts",
"action": "run_agent",
"agentId": "oncall",
"template": "Alert: {{alert.name}} - {{alert.message}}"
}
]
}
}Prochaines étapes
- Tâches Cron Clawdbot - Tâches planifiées
- Passerelle Clawdbot - Configuration de la passerelle
- Outils Clawdbot - Configuration des outils
Tâches Cron Clawdbot
Planifiez des tâches automatisées avec les tâches cron de l'assistant IA Clawdbot. Apprenez à configurer des messages récurrents, des rapports et des workflows automatisés.
Intégration de Clawdbot avec Discord
Connectez l'assistant IA Clawdbot à Discord pour l'automatisation intelligente des bots, la gestion des serveurs et les conversations alimentées par l'IA dans votre communauté Discord.