WhatsApp / Telegram / Slack
Удалённый_OpenClaw_Workflow.

// Удалённое пробуждение, постановка задач и интеграция 50+ сервисов: как управлять агентом OpenClaw из мессенджеров и webhook, с точной спецификацией API и развёртыванием на bare metal.

Удалённый рабочий процесс: мессенджеры и интеграции

01_Мессенджеры как плоскость управления

OpenClaw поддерживает WhatsApp, Telegram, Slack, Discord, Microsoft Teams, Signal и iMessage как каналы первого класса. Один инстанс может обслуживать несколько платформ одновременно с общим контекстом и памятью по всем каналам. Таким образом мессенджеры становятся естественной плоскостью управления для удалённого пробуждения и постановки задач: вы отправляете промпт с телефона или из Slack, а агент выполняется на машине, где установлен OpenClaw — будь то локальный Mac или выделенный узел M4 в облаке.

Сценарии использования прямолинейны: запуск терминальных команд с телефона, постановка задач по извлечению файлов или данных, запрос веб-исследования со структурированным результатом или планирование повторяющихся пайплайнов. Агент может отвечать в том же канале (WhatsApp, Slack) или в выбранном канале при вызове через webhook API. Трудозатраты на интеграцию зависят от платформы: Telegram чаще всего поднимается быстрее всего (порядка 30–60 минут с токеном бота), тогда как WhatsApp и Teams обычно требуют бизнес- или тенант-настройки и могут занять несколько часов.

02_Webhook API: удалённое пробуждение и постановка задач

Шлюз экспонирует компактную HTTP webhook-поверхность при hooks.enabled: true. Для удалённого управления важны два эндпоинта: POST /hooks/wake и POST /hooks/agent. Каждый запрос должен быть аутентифицирован. Токены в query-string отклоняются; общий секрет необходимо передавать через Authorization: Bearer <token> или x-openclaw-token: <token>. Токен хуков должен отличаться от токенов аутентификации шлюза и храниться за loopback, tailnet или доверенным обратным прокси.

POST /hooks/wake инициирует heartbeat. Тело запроса: {"text": "описание события", "mode": "now"}. При mode: "now" heartbeat выполняется немедленно; при mode: "next-heartbeat" событие ставится в очередь до следующей периодической проверки. Это примитив удалённого пробуждения: внешняя система (CI, календарь, мост почты) может сообщить OpenClaw о необходимости пробудиться и обработать накопившуюся работу.

curl -X POST http://127.0.0.1:18789/hooks/wake \ -H 'Authorization: Bearer SECRET' \ -H 'Content-Type: application/json' \ -d '{"text":"Новое письмо","mode":"now"}'

POST /hooks/agent ставит задачу агенту. Обязательное поле — message (промпт). Опциональные поля: name (читаемое имя хука, например "Email"), agentId (маршрут к конкретному агенту; ограничен hooks.allowedAgentIds), wakeMode ("now" или "next-heartbeat"), deliver (отправлять ли ответ агента в канал мессенджера), channel (например whatsapp, telegram, slack, discord, last), to (идентификатор получателя: номер телефона, chat ID или channel ID). Также можно переопределить model и thinking и задать timeoutSeconds. API возвращает 202, когда асинхронный запуск принят.

curl -X POST http://127.0.0.1:18789/hooks/agent \ -H 'x-openclaw-token: SECRET' \ -H 'Content-Type: application/json' \ -d '{"message":"Резюме входящих","name":"Email","wakeMode":"now","deliver":true,"channel":"slack"}'

Идентичность сессии критична. По умолчанию в теле запроса нельзя задавать sessionKey; рекомендуемый паттерн — задать hooks.defaultSessionKey (например "hook:ingress") и оставить allowRequestSessionKey: false. Если нужны сессии, задаваемые вызывающим, включите переопределение и ограничьте allowedSessionKeyPrefixes (например ["hook:"]), чтобы исключить злоупотребления. Ограничьте allowedAgentIds, чтобы только нужные агенты могли быть целью вызовов webhook.

03_Конфигурация каналов и получатели

Для каждой платформы мессенджеров нужны учётные данные и конфиг в ~/.openclaw/openclaw.json (или эффективный путь конфигурации). WhatsApp обычно требует верификации Business API и регистрации webhook. Telegram — токен бота от BotFather. Slack использует OAuth; у Discord и остальных своя настройка приложений. Документация OpenClaw и гайды сообщества описывают точные шаги по каждому каналу.

При вызове /hooks/agent с deliver: true можно задать channel как last (использовать последнего получателя в основной сессии) или явно: whatsapp, telegram, slack, discord, signal, imessage, msteams. Поле to задаёт получателя: номер телефона для WhatsApp/Signal, chat ID для Telegram, channel или user ID для Slack/Discord, conversation ID для Teams. Это позволяет одному webhook ставить задачи и отправлять ответы в нужное место без прохода через основной чат-интерфейс.

Поддерживаемые каналы
7+

WhatsApp, Telegram, Slack, Discord, Teams, Signal, iMessage

Эндпоинты webhook
/wake, /agent

Пробуждение и постановка задач

Интеграции
50+

Gmail, GitHub, пользовательские маппинги

04_Маппинги и интеграция 50+ сервисов

Помимо сырых /hooks/wake и /hooks/agent, шлюз поддерживает пользовательские имена хуков через hooks.mappings. Маппинг может сопоставлять входящий payload (например по source или пути) и выполнять действие wake или agent с опциональными шаблонами или трансформами. Встроенные пресеты вроде Gmail (hooks.presets: ["gmail"]) и поток openclaw webhooks gmail setup подключаются к Gmail Pub/Sub, чтобы новое письмо могло пробуждать агента или ставить задачу. Аналогичные паттерны применимы к webhook GitHub, CI-системам и внутренним инструментам.

Трансформы могут быть модулями JavaScript или TypeScript в hooks.transformsDir, что позволяет нормализовать payload сторонних систем в сообщение и метаданные OpenClaw. В документации требуется, чтобы каталог трансформ находился под корнем конфига (например ~/.openclaw/hooks/transforms) и чтобы пути обхода отклонялись. Для непроверенных источников оставляйте обёртку безопасности по умолчанию; allowUnsafeExternalContent: true задавайте только для полностью доверенных внутренних эндпоинтов.

Цифра «50+ сервисов» отражает комбинацию нативных каналов (WhatsApp, Telegram, Slack, Discord, Teams, Signal, iMessage), маппингов по webhook (Gmail, GitHub, пользовательский HTTP) и возможность подключать дополнительные через трансформы и внешнюю автоматизацию. С одного инстанса OpenClaw можно централизовать триггеры из почты, чата, трекеров задач и планировщиков в стиле cron, а ответы маршрутизировать обратно в нужный канал.

05_Пример: пробуждение и ответ в Slack

Типичный поток: внешнее событие (например push в GitHub или cron) вызывает /hooks/wake с mode: "now", агент выполняет heartbeat и обрабатывает накопившуюся работу. Альтернативно та же система может вызвать /hooks/agent с конкретным message, channel: "slack" и to, установленным в ID канала или пользователя Slack. Агент выполняется один раз, ответ доставляется в этот Slack. Открывать UI OpenClaw не требуется; весь цикл — мессенджеры и webhook.

Коды ответа шлюза согласованы: 200 для /hooks/wake, 202 для /hooks/agent (асинхронный запуск принят). При ошибке: 401 (неверный или отсутствующий токен), 400 (невалидный JSON или отсутствующие обязательные поля), 413 (payload слишком велик), 429 (лимит после повторных ошибок аутентификации; смотрите Retry-After). Логируйте их в CI или оркестраторе для выявления неверной конфигурации или злоупотреблений.

Для переопределения модели указывайте model в payload агента (например "model": "anthropic/claude-3-5-sonnet" или алиас). Шлюз использует эту модель только для данного запуска с учётом allowlist agents.defaults.models, если вы ограничиваете разрешённые модели. Уровень thinking задаётся "thinking": "low" или "high" для быстрых или глубоких прогонов. timeoutSeconds ограничивает длительность запуска, чтобы долгие задачи не блокировали воркер.

06_Безопасность и закалка для продакшена

Используйте отдельный токен для хуков и не переиспользуйте аутентификацию шлюза. Ограничьте hooks.allowedAgentIds, чтобы вызывающие webhook не могли нацеливаться на произвольных агентов; опускайте или используйте "*" только в контролируемых средах. Держите allowRequestSessionKey в false и задавайте defaultSessionKey, если нет явной необходимости в сессиях по выбору вызывающего. При разрешении переопределений ограничивайте allowedSessionKeyPrefixes. Шлюз ограничивает частоту при повторных ошибках аутентификации на клиента; при ошибке аутентификации — 401, при невалидном payload — 400, при превышении размера — 413, после серии сбоев — 429 с Retry-After.

Запускайте эндпоинт хуков на loopback или за обратным прокси с TLS и ограничением доступа по IP или tailnet. Не логируйте сырые payload хуков, в которых могут быть секреты. При экспозиции хуков в публичный интернет (например для SaaS webhook) используйте прокси, проверяющий подписи или токены до проксирования.

07_Запуск OpenClaw на выделенном узле M4

Удалённое управление наиболее полезно, когда агент работает 24/7 на машине, которая всегда включена и достижима. Выделенный Mac M4 в облаке — например bare metal узел MACGPU — даёт стабильный хост для шлюза и агентов OpenClaw с постоянным IP и без циклов сна. Webhook WhatsApp Business API, Telegram или Slack указываются на этот хост (через обратный прокси и правила фаервола), тот же webhook API используется из CI или внутренних сервисов.

Шаги развёртывания: выделить узел, установить OpenClaw и зависимости, настроить openclaw.json с hooks.enabled: true, токеном и политикой разрешённых агентов и session key. Добавить учётные данные каналов для WhatsApp, Telegram и/или Slack. Экспонировать только необходимые порты через обратный прокси с TLS и ограничить исходные IP или использовать tailnet. Опционально запускать шлюз под process manager для перезапуска при сбое. В результате сообщения из любого подключённого канала и webhook от 50+ сервисов могут пробуждать и направлять одного и того же агента с доставкой ответов в выбранный канал.

08_Резюме

OpenClaw превращает WhatsApp, Telegram, Slack и другие мессенджеры в удалённую плоскость управления агентом. POST /hooks/wake инициирует heartbeat; POST /hooks/agent ставит задачу с опциональным каналом и получателем. Используйте маппинги и трансформы для интеграции Gmail, GitHub и пользовательских систем; закаляйте конфигурацию токеном, allowedAgentIds и политикой session key. Для доступности 24/7 запускайте шлюз на выделенном узле M4 и пропускайте трафик мессенджеров и webhook через защищённый прокси. Это ядро удалённого workflow OpenClaw с интеграцией 50+ сервисов.