Вебхуки Clawdbot
Интегрируйте ИИ-ассистента Clawdbot с внешними сервисами с помощью вебхуков. Узнайте, как получать и отправлять события вебхуков для автоматизации.
Обзор вебхуков Clawdbot
Clawdbot поддерживает вебхуки для интеграции с внешними сервисами. Вебхуки обеспечивают событийную автоматизацию, внешние триггеры и межсервисное взаимодействие.
Входящие вебхуки
Конфигурация
{
"webhooks": {
"incoming": {
"enabled": true,
"port": 3011,
"secret": "your-webhook-secret"
}
}
}Конечная точка
POST http://localhost:3011/webhook/<hook-id>Аутентификация
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"}'Обработчики вебхуков
Определение обработчика
{
"webhooks": {
"handlers": [
{
"id": "github-events",
"path": "/github",
"action": "run_agent",
"agentId": "devops",
"template": "New GitHub event: {{event.action}} on {{event.repository.name}}"
}
]
}
}Действия обработчика
| Действие | Описание |
|---|---|
send_message | Отправка сообщения в канал |
run_agent | Запуск агента с промптом |
forward | Пересылка на другую конечную точку |
custom | Пользовательская функция обработчика |
Управление сессиями
Ключи сессий вебхуков
Вебхуки используют выделенные сессии:
hook:<uuid>Параметры сессий
{
"webhooks": {
"handlers": [
{
"id": "alerts",
"sessionMode": "persistent",
"sessionKey": "alerts-session"
}
]
}
}Исходящие вебхуки
Конфигурация
{
"webhooks": {
"outgoing": [
{
"id": "slack-notify",
"url": "https://hooks.slack.com/services/xxx",
"events": ["message_received", "agent_response"],
"method": "POST"
}
]
}
}Типы событий
| Событие | Описание |
|---|---|
message_received | Получено новое сообщение |
agent_response | Агент сгенерировал ответ |
session_started | Создана новая сессия |
session_ended | Сессия истекла/закрыта |
error | Произошла ошибка |
Формат полезной нагрузки
Входящая нагрузка
{
"event": "custom_event",
"data": {
"key": "value"
},
"timestamp": "2024-01-15T10:30:00Z"
}Исходящая нагрузка
{
"type": "message_received",
"session": "agent:main:whatsapp",
"message": {
"from": "+15551234567",
"text": "Hello",
"timestamp": "2024-01-15T10:30:00Z"
}
}Безопасность
Проверка секрета
{
"webhooks": {
"incoming": {
"secretHeader": "X-Webhook-Secret",
"secret": "your-secret"
}
}
}Белый список IP
{
"webhooks": {
"incoming": {
"allowedIPs": [
"192.168.1.0/24",
"10.0.0.1"
]
}
}
}Обработка ошибок
Конфигурация повторных попыток
{
"webhooks": {
"outgoing": [
{
"id": "notify",
"retry": {
"maxAttempts": 3,
"backoff": "exponential"
}
}
]
}
}Обработка сбоев
- Неудачные вебхуки записываются в журнал
- Повторные попытки с экспоненциальной задержкой
- Опциональная очередь недоставленных сообщений
Примеры
Интеграция с GitHub
{
"webhooks": {
"handlers": [
{
"id": "github",
"path": "/github",
"action": "send_message",
"target": {
"channel": "discord",
"peer": "dev-channel"
},
"template": "🔔 {{event.action}}: {{event.pull_request.title}}"
}
]
}
}Пересылка оповещений
{
"webhooks": {
"handlers": [
{
"id": "alerts",
"path": "/alerts",
"action": "run_agent",
"agentId": "oncall",
"template": "Alert: {{alert.name}} - {{alert.message}}"
}
]
}
}Следующие шаги
- Cron-задачи Clawdbot - Запланированные задачи
- Шлюз Clawdbot - Конфигурация шлюза
- Инструменты Clawdbot - Конфигурация инструментов
Cron-задачи Clawdbot
Планируйте автоматизированные задачи с помощью cron-задач ИИ-ассистента Clawdbot. Узнайте, как настроить периодические сообщения, отчёты и автоматизированные рабочие процессы.
Интеграция Clawdbot с Discord
Подключите AI-ассистента Clawdbot к Discord для интеллектуальной автоматизации ботов, управления серверами и разговоров на базе ИИ в вашем сообществе Discord.