Files

Use attachments

Upload a file through the attachment API, then list its id in the attachments array of your run request:

{ "message": "Compare this with our renewal checklist.", "attachments": ["<attachment-id>"] }

AXL appends a manifest of those files to the message, so the agent knows they exist and can reach them. It does not read them for you - the agent calls the attachment_* tools to do that, and attachment_stage puts a file into the sandbox for other tools to work on.

What each tool can extract depends on the file type:

  • Supported images go straight to multimodal models as pictures. See Work with images.
  • Markdown and plaintext are extracted directly.
  • PDF and office documents need Tika configured in your deployment.

Say what you want done

Attaching a file does not describe a task, and an agent handed a contract with no instruction will summarize it.

Compare attaching the contract with no instructions to asking:

Compare this contract with our renewal checklist and list the missing terms.

The second gets a useful answer because it names the comparison, the reference, and the output shape.

Where uploads come from

Files arriving through a channel follow the same storage lifecycle once the adapter has fetched them, so an agent does not need to care whether a PDF came from Slack or from your application.

Next

On this page