Upload File

Upload File

In this article

Overview

Use this Snap to upload and share one or more files with a user/group/channel either directly or as a reply to a thread.

Prerequisites

Add valid Slack Scopes based on the intended operation. See Required Slack Scopes below for details.

Required Slack Scopes

Any action you want to perform within a Slack Workspace, additionally needs appropriate Scopes assigned to your appSee the Scope and Permissions article in Slack API documentation for the complete list and each Account page under Configuring Slack Accounts for information on defining Scopes for your app.

To

Bot Token Accounts
(scope)

User Token Accounts
(user_scope)

To

Bot Token Accounts
(scope)

User Token Accounts
(user_scope)

To upload, edit, and delete files

files:write

files:write

View lists of channels and users to select from

users:read

users:read

Support for Ultra Pipelines

Works in Ultra Pipelines.

Limitations

Snaps in this Snap Pack use conditional display/hiding of fields. So, ensure that you always use the New Form UI (and not the classic UI) for the Snaps to function as designed/expected.

Known Issues

None.

Snap Input and Output

Input/Output

Type of View

Number of Views

Examples of Upstream and Downstream Snaps

Description

Input/Output

Type of View

Number of Views

Examples of Upstream and Downstream Snaps

Description

Input 

Document

  • Min: 0

  • Max: 1

  • Mapper

  • Copy

  • JSON Generator

  • Sort

A document containing information and paths of one or more files to upload to Slack and the recipient user/channel details.

Output

Document

  • Min: 0

  • Max: 1

  • Mapper

  • JSON Formatter

A document containing the success / failure status of each file uploaded.

Snap Settings

Parameter Name

Data Type

Description

Default Value

Example 

Parameter Name

Data Type

Description

Default Value

Example 

Label

String

Upload File

Upload File

File

String/Expression

Required. Enter the file name or its path in SLDB or Snaplex including the file name to upload the file. The path can use either file protocol or sldb protocol. Alternatively, you can

  • Upload files from your local system. Upload the files, preferably, to your project folder (SLDB) and then, click the 

     icon at the far right end of this field to browse, filter and select files to upload.

  • Locate and upload files from your Snaplex using the file protocol, depending on your Snaplex folder permissions.

See File Types article in Slack API documentation for a generic list of file extensions that the upload operation supports.

Use the preview icon - 

 to preview the file, when this field contains only one file path.

N/A

car.jpeg, (SLDB project folder)

/Pipelines/My_Pipeline.slp (SLDB other folder)

sldb:///myfolder/filename.png (SLDB full folder path)

file:///snaplogic/files/name.pdf (Snaplex)

../../shared/1234.pdf (SLDB)

Channels

String/Expression/Suggestion

Click the 

 icon and select a channel from the suggested values. To add more channels, enter comma-separated values manually in one of the following formats: 

  • Channel:

    • #channel.name:<11-character alphanumeric channel ID> OR

    • #channel.name OR

    • <11-character alphanumeric channel ID>

N/A

#testprivate:G019B3ETYMB

Users

String/Expression/Suggestion

Click the 

 icon and select a recipient from the suggested values. To add more recipients, enter comma-separated values manually in the format: @user.name:<11-character alphanumeric user ID>

It is important to follow this format for adding valid users as Slack creates an interim channel with the list of users provided in this field and sends the intimation to the users through this interim channel, once the file is uploaded. The Snap is most likely to return an error if even one of the recipients is not found in the Workspace.

N/A

@user.name:W01A94P7MK1

File Type

String/Expression

Provide a brief description of the file and its format (extension). 

N/A

jpeg

Initial Comment

String/Expression

Add any comments related to the file to be uploaded.

N/A

Here is the doc I was talking about.

Timestamp (if thread reply)

String/Expression

To upload the file in reply to a message or a message in a thread, provide the timestamp of the corresponding message. This timestamp must correspond to a message in the channel or the direct conversations with the users, as specified above.

N/A

1601469028.000100

Title

String/Expression

Enter the file name with extension in this field. It is displayed along with the uploaded file, in the Slack message.

If no value is provided in this field, Slack defaults the value to the file name excluding its file extension.

N/A

car.jpeg

Snap Execution

Drop-down list

Select one of the three following modes in which the Snap executes:

  • Validate & Execute. Performs limited execution of the Snap and generates a data preview during Pipeline validation, then performs full execution of the Snap (unlimited records) during Pipeline runtime.

  • Execute only. Performs full execution of the Snap during Pipeline execution without generating preview data.

  • Disabled. Disables the Snap and all Snaps downstream from it.

Execute only

Validate & Execute