Settings
| Setting | What it is |
|---|---|
| ConnectionRequired | The Slack connection the step signs in with. |
| File nameRequired | The file's name, extension included. Pick the file, then paste its base64 below. |
| File contentsRequired | Base64 of the file — {{ file("name").base64 }}. Uploads over the "Use fixed IP address" lane are unverified; leave that toggle off for this node. |
| Share it in | A channel id. Leave it empty to upload the file without posting it anywhere — it then only exists in Slack's file list. |
| Reply to (thread timestamp) | text |
| Title | text |
| Message with the file | Posted above the file in the channel. |
| Code snippet language | Only for a text snippet — it decides how Slack highlights it. |
| Description for screen readers | text |
Technical details
| Key | Value |
|---|---|
connection | texta connection id from `requires.connections` (provider `slack`) |
name | texta file name, listed in `requires.files` |
contentBase64 | textits `{{ }}` must give a string |
channelId | texta value from the vendor's own list |
threadTs | textits `{{ }}` must give a string; used when `channelId` is not "" |
title | textits `{{ }}` must give a string |
initialComment | text |
snippetType | text |
altText | textits `{{ }}` must give a string |
Output
| Field | Type |
|---|---|
fileId | string |
file | object |
permalinkOpen in Slack | string |
Sample output, and the expression for each field
- file
- id"F0123ABCD"
- name"report.pdf"
- fileId"F0123ABCD"
- permalink"https://example.slack.com/files/F0123ABCD"
Errors
When a step of this node stops a run, the run page shows a code. Look it up:
Example step
The step as a flow file holds it. Replace each value in <…>.
{
"config": {
"altText": "",
"channelId": "",
"connection": "<connection id>",
"contentBase64": "<file contents>",
"initialComment": "",
"name": "<file name>",
"snippetType": "",
"threadTs": "",
"title": ""
},
"label": "Upload file",
"type": "slack.uploadFile",
"version": 1
}