pachca-bots
A CLI tool to create and configure bots and webhooks for the Pachca platform.
Install
mkdir -p .claude/skills/pachca-bots && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/16202" && unzip -o skill.zip -d .claude/skills/pachca-bots && rm skill.zipInstalls to .claude/skills/pachca-bots
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Pachca — управление ботами и вебхуки. Используй этот скилл, когда пользователь хочет настроить бота, создать бота, настроить вебхуки, обработать вебхук, проверить подпись вебхука (X-Signature), обработать callback нажатия кнопки или создать дайджест-бота. НЕ для отправки обычных сообщений, показа форм или модальных окон. Разворачивание ссылок (unfurl) — в pachca-messages. Use when: настроить бота, создать бота, вебхук, обработать вебхук, подпись вебхука, callback, обработать callback, нажатие кнопки, дайджест, оповещение. NOT for: отправить сообщение, показать форму, модальное окно.Key capabilities
- →Create bots via API using a user token
- →Configure outgoing webhooks for bots with URL and events
- →Update a bot's webhook URL by ID or using the bot's own token
- →Recreate a bot's token using a user token or the bot's own token
- →Find and delete bots by listing and specifying ID
How it works
The skill uses the Pachca CLI to interact with the Pachca API, allowing creation, configuration, and management of bots and their webhooks.
Inputs & outputs
When to use pachca-bots
- →Create a new bot
- →Configure webhook endpoints
- →Verify webhook signatures
- →Handle callback interactions
About this skill
pachca-bots
Quick start
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
Before you start
-
If the user has a saved profile — check:
npx -y @pachca/cli auth statusIf 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.
Workflows
Создать бота через API и получить токен
-
Создай бота. Только пользовательским токеном (не токеном бота);
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}.
Обновить Webhook URL бота
-
Пользовательским токеном (с правом редактировать бота) — обнови 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.
Limitations
- Rate limit: ~50 req/sec. On 429 — wait and retry.
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- Pagination: cursor-based (limit + cursor)
Endpoints
| 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} | Удаление события |
Advanced workflows
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/.
When not to use it
- →When the task is for sending ordinary messages
- →When the task is for showing forms or modal windows
- →When the task is for link unfurling (unfurl)
Prerequisites
Limitations
- →Rate limit is approximately 50 requests per second.
- →The `access_token` is returned only once upon creation; it can only be viewed and copied from the interface afterwards.
- →Deletion of a bot is irreversible; the token is invalidated, the bot is removed from chats, and its webhook is deleted.
How it compares
This skill provides direct CLI commands for bot management and webhook configuration, offering programmatic control over Pachca bots rather than manual UI interaction.
Compared to similar skills
pachca-bots side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| pachca-bots (this skill) | 0 | 1mo | Review | Intermediate |
| telegram-bot-builder | 106 | 6mo | Review | Intermediate |
| n8n-expression-syntax | 6 | 4mo | No flags | Beginner |
| reddit-api | 3 | 4mo | Review | Intermediate |
Try saying
Example prompts that trigger this skill in your AI assistant.
You might also like
telegram-bot-builder
davila7
Expert in building Telegram bots that solve real problems - from simple automation to complex AI-powered bots. Covers bot architecture, the Telegram Bot API, user experience, monetization strategies, and scaling bots to thousands of users. Use when: telegram bot, bot api, telegram automation, chat bot telegram, tg bot.
n8n-expression-syntax
czlonkowski
Validate n8n expression syntax and fix common errors. Use when writing n8n expressions, using {{}} syntax, accessing $json/$node variables, troubleshooting expression errors, or working with webhook data in workflows.
reddit-api
alinaqi
Reddit API with PRAW (Python) and Snoowrap (Node.js)
mcporter
openclaw
Use the mcporter CLI to list, configure, auth, and call MCP servers/tools directly (HTTP or stdio), including ad-hoc servers, config edits, and CLI/type generation.
calcom-api
calcom
Interact with the Cal.com API v2 to manage scheduling, bookings, event types, availability, and calendars. Use this skill when building integrations that need to create or manage bookings, check availability, configure event types, or sync calendars with Cal.com's scheduling infrastructure.
instantly-webhooks-events
jeremylongshore
Implement Instantly webhook signature validation and event handling. Use when setting up webhook endpoints, implementing signature verification, or handling Instantly event notifications securely. Trigger with phrases like "instantly webhook", "instantly events", "instantly webhook signature", "handle instantly events", "instantly notifications".