> ## 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.

# Create Notion file upload

> Create a single-part, multipart, or external-URL file upload.

`notion.createFileUpload` create a single-part, multipart, or external-URL file upload.

## Example

```ts automations/notion-create-file-upload.automation.ts theme={null}
import { automation, onSchedule } from "automate.ax"
import { notion } from "automate.ax/notion"

export default automation("Create Notion file upload", () => {
  onSchedule({ schedule: "0 9 * * *" })

  notion.createFileUpload({
    filename: "report.pdf",
    content_type: "application/pdf",
  })
})
```

## Inputs

Choose `single_part`, `multi_part`, or `external_url`; `single_part` is the provider default. Multipart uploads require `filename` and 1 through 10,000 parts. External URLs must use HTTPS. OAuth requires no additional content capability; personal access tokens use their normal API access. Every input accepts a compatible signal, and an optional second argument can select a named account.

## Output

Returns a `file_upload` with status, upload URLs, expiry, content metadata, and multipart progress when applicable.

For uploaded bytes, call `sendFileUpload`; multipart uploads also require `completeFileUpload`.
