File Attachments
API triggers support file attachments usingmultipart/form-data. Attachments are stored in S3 and made available to your workflow via signed URLs in the inputs.
Supported Content Types
API triggers support the following content types:- application/json: JSON payload with structured data
- application/x-www-form-urlencoded: Form-encoded data (key-value pairs)
- multipart/form-data: Form data with file attachments (API triggers only)
Limits
- Maximum 25MB per file
- Maximum 100MB total across all attachments
- Maximum 20 files per request
- Executable files and scripts are blocked for security
Example Requests
Single File Attachment
Multiple File Attachments
Using JavaScript/Node.js
Using Python
Accessing Attachments in Your Workflow
Attachments are available in your workflow inputs as an array. Each attachment includes:filename: The sanitized filename (path components removed, special characters sanitized)contentType: The MIME type of the filesize: File size in bytesurl: A signed URL to download the file from S3 (valid for 24 hours)
Example Inputs Structure
Using Attachments in Code Steps
You can access attachments in your workflow code:Using Attachments with Slash Commands
You can pass attachment URLs directly to slash commands that accept file URLs:Security Considerations
- Executable files (
.exe,.sh,.bat, etc.) are automatically blocked - Filenames are sanitized to prevent path traversal attacks
- Files are stored in isolated S3 buckets per run
- Signed URLs expire after 24 hours
- File size limits prevent abuse
Troubleshooting
”Too many attachments” Error
You’ve exceeded the 20 file limit. Split your request into multiple API calls.”File too large” Error
Individual files cannot exceed 25MB. Compress or split large files before uploading.”Total attachment size exceeds limit” Error
The combined size of all attachments exceeds 100MB. Reduce the number or size of files.”Blocked file type” Error
The file type you’re trying to upload is blocked for security reasons. Executable files and scripts are not allowed.Attachments Not Appearing in Workflow
- Ensure you’re using
multipart/form-datacontent type - Check that you’re using an API trigger (not a webhook trigger)
- Verify the files were uploaded successfully (check the run inputs in the Runs Monitor)

