К основному содержанию
скилл CX Codex

pipefy-attachments — скилл для Claude Code: что делает, установка

Загружает файл в поле-вложение карточки или записи таблицы Pipefy: с диска, по ссылке или через presigned URL, если файл больше 100 MiB.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add pipefy/ai-toolkit --skill pipefy-attachments -a claude-code
Открыть на GitHub

Что делает pipefy-attachments

Скилл загружает один файл в поле-вложение карточки Pipefy или записи таблицы. Источник — локальный путь (file_path) или адрес (file_url). Имя берётся из пути к источнику, а если в адресе вроде .../download?id=1 имени файла нет, file_name нужно передать явно.

Внутри три операции: upload_attachment_to_card, upload_attachment_to_table_record и create_attachment_presigned_url. Первые две справляются за один вызов. Третья нужна, когда файл больше 100 MiB или агент не достаёт до байтов: она отдаёт upload_url и storage_path, файл уходит PUT-запросом, потом поле обновляется через update_card_field или set_table_record_field_value.

Заранее подготовьте organization_id, id карточки или записи и slug поля-вложения, например document_upload, а не его uuid. Подписанная ссылка живёт ограниченное время: когда она истекла, нужна новая, повтор PUT по старой не поможет. Один вызов — один файл, для пачки придётся гонять цикл на стороне агента.

Какие задачи решает

  • прикрепить отчёт с диска к карточке Pipefy
  • скачать файл по ссылке и положить его в поле записи таблицы
  • сохранить вложение под другим именем, а не под именем из ссылки
  • загрузить файл больше 100 MiB через presigned URL
  • задать имя файлу, когда в адресе его нет

Примеры запросов агенту

  • Прикрепи ~/report.pdf к карточке 1234 в поле document_upload
  • Скачай файл по ссылке и загрузи в запись таблицы tr-555, поле document_upload, под именем Invoice-2026.pdf
  • Файл слишком большой для обычной загрузки: получи presigned URL и прикрепи файл к карточке 1234

Как установить pipefy-attachments

1Через Skills CLI (Vercel)

npx skills add pipefy/ai-toolkit --skill pipefy-attachments -a claude-code

2Вручную: положить файлы

~/.claude/skills/pipefy-attachments/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/pipefy-attachments/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о pipefy-attachments

Как установить pipefy-attachments в Claude Code?

Выполните npx skills add pipefy/ai-toolkit --skill pipefy-attachments -a claude-code. Скилл лежит в ~/.claude/skills/pipefy-attachments/SKILL.md.

Что делает pipefy-attachments?

Загружает один файл в поле-вложение карточки Pipefy или записи таблицы. Файл можно взять с диска по file_path или по ссылке через file_url.

Когда нужен create_attachment_presigned_url вместо обычной загрузки?

Когда файл больше 100 MiB или агент не может прочитать его сам. Вы получаете upload_url и storage_path, отправляете файл PUT-запросом и записываете [storage_path] в поле. Пока этого не сделано, ничего не прикреплено.

Исходный текст

SKILL.md · Apache-2.0
---
name: pipefy-attachments
description: >
  Use this skill when the user wants to upload a file to a Pipefy card or
  table-record attachment field. Covers local and downloaded file sources,
  plus a presigned-URL handshake for uploading files directly.
tags: [pipefy, attachments, upload, card, table-record]
metadata:
  surfaces: "mcp cli"
---

# Attachments

MCP clients: read [references/mcp.md](references/mcp.md). CLI users: read [references/cli.md](references/cli.md). Examples below describe shared operation arguments.

Upload one file at a time to a card or table-record attachment field. The
upload goes through Pipefy's presigned URL flow (request URL, S3 PUT, then
field update).

---

## When to use

- The user says "attach this file to card X" or "upload to the documents field
  on record Y".
- Pick the source by where the bytes actually are. Use the source rules for your chosen surface.

Do not use this skill for:

- Reading or listing existing attachments. There is no list/download tool in
  this skill scope. Cards and table records expose their attachments through
  the regular card/record fetch tools.
- Bulk uploads. One file per call; iterate at the agent layer.

## Prerequisites

- A Pipefy `organization_id`. Find it via `get_organization` or `get_pipe`.
- A target `card_id` or `table_record_id`.
- The attachment field's slug (the human-readable id like `document_upload`,
  not the field's uuid). Find it on the card or table record fetch tools.
- Exactly one file source accessible to the chosen upload surface.

## Tools needed

| Operation | Read-only |
| ------------ | ----------- |
| `upload_attachment_to_card` | No |
| `upload_attachment_to_table_record` | No |
| `create_attachment_presigned_url` | No |

## Steps

### Upload a local file to a card

`file_name` is inferred from the source basename when omitted, so callers
usually only pass the four IDs and the source.

Operation arguments:

```text
upload_attachment_to_card(organization_id=42, card_id=1234, field_id=document_upload, file_path=~/report.pdf)
```

### Upload from a URL

```text
upload_attachment_to_card(organization_id=42, card_id=1234, field_id=document_upload, file_url=https://example.com/report.pdf)
```

When the URL has no filename in its path (e.g. `.../download?id=1`), pass
`file_name` explicitly so Pipefy stores it under a real name.

### Upload a local file to a table record

Operation arguments:

```text
upload_attachment_to_table_record(organization_id=42, table_record_id=tr-555, field_id=document_upload, file_path=/tmp/export.csv)
```

## Overriding the file name

To store the attachment under a different name than the source basename, pass
`file_name` explicitly. It wins over the inferred basename.

```text
upload_attachment_to_card(..., file_url=https://example.com/abc123.pdf, file_name=Invoice-2026.pdf)
```

## Use the presigned handshake

When the one-shot upload cannot reach the bytes or exceeds its 100 MiB cap, use
`create_attachment_presigned_url` and upload from an environment that can read the file:

1. Call `create_attachment_presigned_url` with `organization_id` + `file_name`
   (optional `content_type` / `content_length`). It returns `upload_url` (the S3
   PUT url), `storage_path` (the object key), and `expires_in_seconds`.
2. From an environment that can reach the upload host, HTTP `PUT` the file bytes
   to `upload_url` within `expires_in_seconds` (send `Content-Type` /
   `Content-Length` matching what you passed, if any).
3. Set the attachment field to `[storage_path]` via `update_card_field` /
   `set_table_record_field_value`. Store `storage_path`, never a URL — the signed
   download URL is minted on read.

Because the bytes are handled by the client (step 2), not passed through the
tool call, this keeps the model's context clean.

## Success criteria

**`upload_attachment_to_card` / `upload_attachment_to_table_record`** (one-shot):
the upload result has a `download_url` (the signed URL Pipefy
returns), the inferred or explicit `content_type`, and the `file_size` in
bytes, and the attachment field on the card or record now lists the file. One
call is the whole job.

**`create_attachment_presigned_url`** (handshake) is **not done at mint**:
a successful result here only means a target was minted — no field was touched and
nothing is attached yet. Done means you completed all three steps: after the
client PUTs the bytes to `upload_url` and you set the field to `[storage_path]`,
the attachment field lists the file. Do not treat the mint response (or its
premature signed URL) as a finished upload.

## Failure modes

Check source accessibility, the 100 MiB one-shot limit, upload expiry and signed
headers, and write access to the attachment field. If a signed URL expires,
mint a new one; retrying the PUT against the old URL does not refresh it. The
presigned handshake requires checking the client PUT and field update separately
from minting.

## See also

- `pipefy-pipes-and-cards`: finding card ids and attachment field slugs.
- `pipefy-database-tables`: finding table record ids and field slugs.

© pipefy · Apache-2.0 · pipefy/ai-toolkit

Похожие скиллы

Все скиллы по теме «Автоматизация и no-code: n8n, Zapier, Make» →
remotion-render официальный Remotion Экспортирует видео и отдельные кадры из проектов Remotion через консольные команды. CX Codex GP ChatGPT 3установок recipe-share-event-materials официальный googleworkspace Скилл находит участников события Google Calendar и выдаёт им доступ читателя к файлу Google Drive. Подходит для раздачи материалов после встречи. CX Codex +1 29 700установок blogwatcher openclaw Скилл учит агента вести список блогов и RSS/Atom-лент через CLI blogwatcher: добавлять источники, сканировать обновления, отмечать прочитанное. CX Codex +1 5 400установок ego-browser citrolabs Скилл подключает Chromium-браузер ego-lite к ИИ-агенту для автоматизации сайтов, тестирования интерфейсов и сбора данных с сохранением авторизованных сессий пользователя. CX Codex +1 12 200установок composio ComposioHQ Скилл выбирает подход Composio для личного агента или продукта с пользовательскими аккаунтами и помогает настроить интеграцию, выполнить задачу или найти причину сбоя. CX Codex +1 8 100установок remote-browser browser-use Управляет изолированным облачным браузером через CLI Browser Use. Пригодится агентам на серверах без локального Chrome для автоматизации веб-задач. CX Codex +1 4 700установок

Из того же набора14

pipefy-portal-setup Скилл собирает и настраивает порталы Pipefy: главный хаб, страницы, виджеты и сабпорталы. Пригодится, когда портал нужно поднять из кода, а не руками в интерфейсе. CX Codex +1 674установок pipefy-reports Скилл помогает управлять отчётами пайпов и организаций в Pipefy: создавать, фильтровать, удалять и асинхронно выгружать готовые данные по ссылкам. CX Codex +1 671установок pipefy-relations Скилл для работы со связями в Pipefy: создаёт и читает отношения между пайпами, таблицами и карточками через MCP или CLI. CX Codex +1 671установок pipefy-process-design Скилл помогает спроектировать фазы, поля и автоматизации пайплайна в Pipefy до начала сборки, когда нет готового ТЗ. CX Codex +1 670установок pipefy-process-intelligence Анализирует существующие пайпы Pipefy, находит застрявшие карточки, ручные шаги и помогает поэтапно настроить автоматизации или ИИ-агентов. CX Codex +1 669установок pipefy-members-email-webhooks Скилл для работы с Pipefy через агента: приглашает участников в пайп, отправляет письма из инбокса карточки и управляет вебхуками. CX Codex +1 669установок pipefy-ai-agents Скилл для создания, правки и отладки разговорных ИИ-агентов в Pipefy: агент, его behaviors, триггеры и действия. CX Codex +1 669установок pipefy-building Тонкий роутер: определяет, какой доменный скилл Pipefy открыть под конкретный запрос — пайпы, автоматизации, ИИ-агенты, iPaaS, порталы. CX Codex +1 398установок

Спонсоры проекта

Компании, которые помогают держать аналитику открытой