> ## Documentation Index
> Fetch the complete documentation index at: https://docs.automate.ax/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Automate.ax automations are TypeScript programs.
> Use Bun for installation and command examples.
> Use Automate.ax for the product name and automate.ax for the package, CLI, and domain.
> Treat documented public APIs as current; do not invent transitional or deprecated names.

# Upload attachment

> Upload a file to a Trello card.

`trello.uploadAttachment` sends file bytes to a card as `multipart/form-data` and can use the attachment as the card cover.

```ts automations/upload-trello-attachment.automation.ts theme={null}
import { automation, onDashboardRun } from "automate.ax"
import { trello } from "automate.ax/trello"

export default automation("Upload Trello attachment", () => {
  onDashboardRun({ title: "Upload Trello attachment" })
  trello.uploadAttachment({
    card: "card-id",
    file: new File(["Release notes"], "release-notes.txt", {
      type: "text/plain",
    }),
    name: "Release notes",
    setCover: false,
  })
})
```

Provide `card` as an ID, short link, or URL and `file` as a `File`. Optional `name` sets a display name of at most 256 characters. `setCover` defaults to `false`. Optional second argument `{ account }` selects a Trello binding.

Returns `Signal<TrelloAttachment>` with the uploaded attachment's metadata. Trello applies its provider upload-size and board limits.
