Slack: Upload File
Upload a file to Slack via the 3-step external upload API. Gets an upload URL, uploads the content, then completes the upload. Ideal for: sharing reports, CSV exports, log files, generated documents.
Catalog action Integrations slack
Upload a file to Slack via the 3-step external upload API. Gets an upload URL, uploads the content, then completes the upload. Ideal for: sharing reports, CSV exports, log files, generated documents.
At a Glance
| Field | Value |
|---|---|
| Action ID | slack-upload-file |
| Category | Integrations |
| Connector | slack |
| Requires gas | No |
| Funds movement | None declared |
| Tags | slack, integration, write |
Payload Schema
| Field | Type | Required | Description |
|---|---|---|---|
filename | string | Yes | Name of the file (e.g., report.csv) |
content | string | Yes | File content as text |
title | string | No | Title of the file |
channel | string | No | Channel ID to share the file in |
initial_comment | string | No | Message text to include with the file |
thread_ts | string | No | Thread timestamp to upload file as a reply |
Result Schema
| Field | Type | Required | Description |
|---|---|---|---|
success | boolean | Yes | - |
data | object | No | - |
Examples
json{ "type": "slack-upload-file", "payload": { "filename": "example-filename", "content": "example-content" }, "children": [], "connector": { "type": "slack", "id": "conn_slack" }}
bashcurl -X POST "https://api.b3os.org/v1/actions/slack-upload-file/test" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "inputs": { "filename": "example-filename", "content": "example-content" }}'
Payload fields can use workflow expressions such as {{$trigger.body.amount}}, {{$nodes.fetch.result.price}}, and {{$props.asset}} when the value should come from a trigger, prior node, or reusable workflow prop.
