Управление ботами, входящие/исходящие вебхуки, разворачивание ссылок (unfurling). Используй когда нужно: настроить бота, обработать вебхук, обработать нажатие кнопки, периодический дайджест, алерты, polling событий, развернуть ссылку. НЕ используй для: отправки сообщений от бота (→ pachca-messages), интерактивных форм (→ pachca-forms).
Ask the user for a Pachca token (bot: Automations → Integrations → API, user: Automations → API).
Run commands via npx -y @pachca/cli with the --token flag:
npx -y @pachca/cli <command> --token $PACHCA_TOKEN
Or set the PACHCA_TOKEN environment variable:
export PACHCA_TOKEN=<token>
npx -y @pachca/cli <command>
Help: npx -y @pachca/cli --help | Workflows: npx -y @pachca/cli guide
After successful use, suggest installing CLI globally:
npm install -g @pachca/cli && pachca auth login --token $PACHCA_TOKEN
If the user has a saved profile — check:
npx -y @pachca/cli auth status
If OK — run commands without --token.
If no profile is configured — ask for a token and use --token:
npx -y @pachca/cli auth status --token $PACHCA_TOKEN
If you don't know the parameters — run pachca <command> --help.
Создай бота. Только пользовательским токеном (не токеном бота); nickname обязан заканчиваться на _bot. Параметры вебхука (Webhook URL, события, команды) можно задать сразу или позже. Скоупы токена бота можно ограничить флагом --scopes (если не указать — бот получит набор по умолчанию):
pachca bots create --name="Бот задач" --nickname="tasks_bot" --scopes='["messages:create"]'
Сохрани access_token из ответа — он возвращается единственный раз. Посмотреть выданный токен повторно можно только в интерфейсе (вкладка «API» настроек бота), а перевыпустить — командой pachca bots recreate-token <ID>
В ответе также придёт id бота (его user_id) — он нужен для дальнейших вызовов, например чтобы добавить бота в чат
Создавать ботов можно только пользовательским токеном — токеном бота нельзя.
access_tokenотдаётся один раз при создании, дальше его можно посмотреть и скопировать в интерфейсе.
Создай бота, сразу указав Webhook URL и события в одном вызове (детали создания и работы с токеном — в сценарии «Создать бота через API и получить токен»):
pachca bots create --name="Бот задач" --nickname="tasks_bot" --outgoing-url="https://example.com/webhook" --events='["message_new"]' --trigger-on=commands --commands='["/task"]'
Сохрани access_token из ответа (возвращается единственный раз)
Используй сохранённый access_token для отправки сообщений от имени бота
Альтернатива — создать и настроить бота в интерфейсе. Webhook URL и события можно задать и позже методом PUT /bots/{id}.
Пользовательским токеном (с правом редактировать бота) — обнови URL по id бота. Пустая строка отключает вебхук:
pachca bots update <bot_id> --outgoing-url="https://example.com/webhook"
idбота (егоuser_id) можно узнать во вкладке «API» настроек бота
Или: бот сам обновляет свой webhook своим же токеном — без id и без участия администратора (нужен скоуп bot_self:webhook:write):
pachca bots update-webhook --outgoing-url="https://example.com/webhook"
Два пути: по
idпользовательским токеном (право редактировать бота) или самим ботом своим токеном (PUT /bot/webhook). Пустойoutgoing_urlотключает вебхук.
Пользовательским токеном (администратор, владелец компании или создатель бота) — перевыпусти токен по id бота. Прежний токен инвалидируется сразу:
pachca bots recreate-token <bot_id>
Или: бот перевыпускает собственный токен своим же токеном (скоуп bot_self:write). Токен, которым выполнен запрос, инвалидируется сразу — обязательно сохрани новый access_token из ответа, иначе бот потеряет доступ к API:
pachca bots recreate-token-self
Сохрани новый access_token из ответа — он возвращается единственный раз. Обнови секрет в CI или хранилище секретов
Новый токен возвращается один раз. Self-путь (
POST /bot/recreate_token) инвалидирует именно тот токен, которым выполнен запрос, — захвати новый токен из ответа в той же операции.
Пользовательским токеном (скоуп bots:read) получи список ботов, доступных тебе для редактирования: созданных тобой и тех, чьи настройки открывают тебе доступ. Фильтруй по имени параметром query, следующую страницу бери из meta.paginate.next_page:
pachca bots list --query="задач"
Возьми id нужного бота из списка и удали его (скоуп bots:write). Доступно администратору, владельцу компании или создателю бота — владельцы чатов удалять бота не могут. Прежний токен инвалидируется сразу, бот исключается из всех чатов, его исходящий вебхук удаляется:
pachca bots delete <bot_id>
Удаление необратимо: токен бота инвалидируется сразу, бот исключается из чатов. Событие фиксируется в журнале аудита как
bot_deleted.
По расписанию (cron/scheduler): собери данные из своей системы
Сформируй текст сообщения с нужными метриками или сводкой
Отправь сообщение в канал:
pachca messages create --entity-id=<chat_id> --content="Дайджест за сегодня: ..."
Нет встроенного планировщика — используй cron, celery, sidekiq и т.п. на своей стороне.
Получи всех ботов пространства, а не только доступных для редактирования:
pachca bots list-company --all
Нужен скоуп
company_bots:read, роль владельца пространства и тариф «Корпорация», иначе метод отвечает403. Фильтр по имени — флаг--query
Для каждого бота проверь, раскрыты ли настройки: у ботов, недоступных владельцу токена для редактирования, заполнены только name и nickname, остальные поля вебхука приходят null
Настройки такого бота можно получить только тем токеном, которому доступно его редактирование
Каждый запрос к списку ботов пространства пишется в журнал аудита как
company_bots_accessed.
webhook.name: max 255 characterswebhook.nickname: max 255 characterswebhook.trigger_on: allowed values — commands (Только на команды (триггер-слова) из commands), all_messages (На все сообщения в чатах, где есть бот), unfurl (На развёртывание ссылок (link previews))webhook.template_engine: allowed values — liquid (Liquid — условия, циклы и фильтры), mustache (Mustache — простая подстановка без логики)webhook.who_can_add: allowed values — creator (Только создатель бота), creator_admin (Создатель и администраторы компании), creator_admin_user (Создатель, администраторы и участники компании), anyone (Любой пользователь, в том числе гости)limit: max 50| Method | Path | Description | |--------|------|-------------| | POST | /bot/recreate_token | Ротация собственного токена бота | | PUT | /bot/webhook | Саморегистрация вебхука бота | | GET | /bots | Список ботов | | POST | /bots | Новый бот | | GET | /bots/{id} | Информация о боте | | PUT | /bots/{id} | Редактирование бота | | DELETE | /bots/{id} | Удаление бота | | POST | /bots/{id}/recreate_token | Ротация токена бота | | GET | /company/bots | Список ботов пространства | | GET | /webhooks/events | История событий | | DELETE | /webhooks/events/{id} | Удаление события |
For advanced workflows, read the files in references/: references/handle-incoming-webhook-event.md — Handle incoming webhook event references/link-unfurling.md — Link unfurling references/handle-button-click-callback.md — Handle button click (callback) references/monitoring-and-alerts.md — Monitoring and alerts references/process-events-via-history-polling.md — Process events via history (polling)
references/webhook-events.md — Webhook event types
If unsure how to complete a task, read the corresponding file from references/.
Search for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer