SKILL.md
pachca-users
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 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.
Workflows
Получить сотрудника по ID
- Получи информацию о сотруднике:
``bash pachca users get <ID> ``
Возвращает все поля, включая
customproperties,userstatus,list_tags.
Массовое создание сотрудников с тегами
- Создай тег (если нужен):
``bash pachca group-tags create --name="Backend" ``
- Для каждого сотрудника: создай аккаунт с тегами:
``bash pachca users create --first-name="Иван" --last-name="Петров" --email="[email protected]" --list-tags='[{"name":"Backend"}]' ` > Теги назначаются через поле list_tags` в теле запроса
- Или обнови существующего:
``bash pachca users update <ID> --list-tags='[{"name":"Backend"}]' ``
Создание доступно только администраторам и владельцам (не ботам). Нет отдельного эндпоинта "добавить юзера в тег".
Создать гостя в чат
- Выбери активный чат, в который добавить гостя — узнай его ID:
``bash pachca chats list `` > Чат должен быть активным (не архивным) и принадлежать вашей компании. У токена должно быть право добавлять в него участников.
- Создай гостя: роль
guestи ровно один чат в--chat-ids:
``bash pachca users create --email="[email protected]" --role=guest --chat-ids='[12345]' ` > Для роли guest chatids обязателен и должен содержать ровно один чат. Нарушение (не передан, пусто, больше одного, чат не существует, архивный или нет прав) → 400 с элементом errors, где key — chatids`.
Для остальных ролей
chat_idsопционален — можно сразу добавить в несколько чатов. Создание доступно только администраторам и владельцам (не ботам).
Найти сотрудника по имени или email
- Поиск по имени/email (частичное совпадение):
``bash pachca users list --query=Иван ``
Пагинация cursor-based:
limitиcursorизmeta. Для точного email — перебери страницы.
Онбординг нового сотрудника
- Создай аккаунт:
``bash pachca users create --email="[email protected]" --first-name="Иван" --last-name="Петров" ``
- Добавь в нужные каналы:
``bash pachca members add <chatid> --member-ids='[<userid>]' ``
- Отправь welcome-сообщение:
``bash pachca messages create --entity-type=user --entity-id=<user_id> --content="Добро пожаловать!" ``
Шаг 1 требует токена администратора/владельца. Шаги 2-3 можно делать ботом.
Offboarding сотрудника
- Заблокировать доступ:
``bash pachca users update <ID> --suspended ``
- Опционально: удалить аккаунт полностью:
``bash pachca users delete <ID> --force ``
Приостановка (
suspended) сохраняет данные, удаление — необратимо.
Получить всех сотрудников тега/департамента
- Найди тег по названию, возьми
id:
``bash pachca group-tags list --names='["Backend"]' ` > Фильтр names` — серверная фильтрация по названию тега
- Получи всех участников тега:
``bash pachca group-tags list-users <tag_id> --all ``
Управление статусом сотрудника
- Получить текущий статус:
``bash pachca users get-status <user_id> ``
- Установить статус:
``bash pachca users update-status <userid> --emoji="🏖️" --title="В отпуске" --is-away ` > isaway: true — режим «Нет на месте». away_message` — макс 1024 символа
- Удалить статус:
``bash pachca users remove-status <user_id> --force ``
Загрузить аватар сотрудника
- Загрузи аватар сотруднику:
``bash pachca users update-avatar <userid> --file=<путьк_файлу> `` > Требует прав администратора. Файл передается в формате multipart/form-data
Удалить аватар сотрудника
- Удали аватар сотрудника:
``bash pachca users remove-avatar <user_id> --force `` > Требует прав администратора
Limitations
- Rate limit: ~50 req/sec. On 429 — wait and retry.
group_tag.name: max 255 charactersuser.first_name: max 255 charactersuser.last_name: max 255 charactersuser.email: max 255 charactersuser.phone_number: max 255 charactersuser.nickname: max 255 charactersuser.department: max 255 charactersuser.role: allowed values —admin(Администратор),user(Сотрудник),multi_guest(Мульти-гость),guest(Гость)status.title: max 50 charactersstatus.away_message: max 1024 characterslimit: max 50- Pagination: cursor-based (limit + cursor)
Endpoints
| Method | Path | Description |
|---|---|---|
| POST | /group_tags | Новый тег |
| GET | /group_tags | Список тегов сотрудников |
| GET | /group_tags/{id} | Информация о теге |
| PUT | /group_tags/{id} | Редактирование тега |
| DELETE | /group_tags/{id} | Удаление тега |
| GET | /group_tags/{id}/users | Список сотрудников тега |
| POST | /users | Новый сотрудник |
| GET | /users | Список сотрудников |
| GET | /users/{id} | Информация о сотруднике |
| PUT | /users/{id} | Редактирование сотрудника |
| DELETE | /users/{id} | Удаление сотрудника |
| PUT | /users/{user_id}/avatar | Загрузка аватара сотрудника |
| DELETE | /users/{user_id}/avatar | Удаление аватара сотрудника |
| GET | /users/{user_id}/status | Статус сотрудника |
| PUT | /users/{user_id}/status | Новый статус сотрудника |
| DELETE | /users/{user_id}/status | Удаление статуса сотрудника |
If unsure how to complete a task, read the corresponding file from references/.