In this article
The page's title should always be the Snap's name. For example, File Reader.
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.
Provide a functional overview of the Snap. Do not mention anything about the Snap's internal technology or techniques. The user should be able to understand what the Snap. Include a screenshot of a well-configured Snap 600px.
A valid and active account in the Slack Workspace.
Any action you want to perform within a Slack Workspace, additionally needs appropriate Scopes assigned to your app. See the Scope and Permissions article in Slack API documentation for the complete list and each Account page under Configuring Slack Accounts (Doc in Progress) for information on defining Scopes for your app.
To | Bot Token Accounts | User Token Accounts ( user_scope ) |
---|---|---|
To upload, edit, and delete files | files:write |
|
View lists of channels and users to select from | users:read | users:read |
List all prerequisites for using the Snap as a bullet list. Use direct sentences. For example, in case of a Write-type Snap a prerequisite would be that the user must have write access. Include links to external official documentation, if required. Use "None." if there no prerequisites.
Works in Ultra Pipelines.
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.
List all Snap-specific limitations as a bullet list. Limitations can be imposed by the Snap's development environment and also by the endpoint's API. List both. Use direct sentences. Include links to external official documentation, if required. Use "None.: if there are no limitations.
None.
Type of view: Document/Binary/Both. Get number of views from the Views tab in the Snap. List at least three compatible Snaps in each category. Provide a brief of the input/output required. If the input/output is optional then preface the description with "Optional." For example, "Transaction data complying with the Orderful schema as a JSON document."
Input/Output | Type of View | Number of Views | Examples of Upstream and Downstream Snaps | Description |
---|---|---|---|---|
Input | Document |
|
| A document containing information and paths of one or more files to upload to Slack and the recipient user/channel details. |
Output | Document |
|
| A document containing the success / failure status of each file uploaded. |
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
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 | Select a channel from the suggested values. To add more channels, enter comma-separated values manually in one of the following formats:
| N/A | #testprivate:G019B3ETYMB | |
Users | String/Expression/Suggestion | Select a recipient from the suggested values. To add more recipients, enter comma-separated values manually in the format:
| 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:
| Execute only | Validate & Execute |
You can get information for this section from the Snap's source code, typically the Messages.java file in GitHub. Ask the developer to access this file. Do not use "Please" in the Reason or Resolution. If there is "Please" in the error message then contact the developer to have it removed as needed.
Error | Reason | Resolution |
---|---|---|
Enter the error message that is displayed. IO error while performing the operation | Briefly describe why this error is triggered. An experienced user will be able to troubleshoot the error looking at the reason itself. File not found on elastic.snaplogic.com at /api/1/rest/.../Slack_SnapPack/filename.extn | List the steps that the user must take, if necessary, to rectify this error. If a procedure is extensive, add it as a separate section after this table and reference it with a link in this cell. Ensure that the file you want to upload is available in your project folder and try uploading the file again. |
Unable to create an interim channel for the given list of users, Reason: user_not_found | The Snap could not find one or more recipients in the current workspace and hence could not create an interim channel for sending the file. | Ensure that all of the recipient users are mentioned in a valid format and retry uploading the file. |
Error uploading file Reason: missing_scope | The Snap account does not have the required Scopes to upload file into the workspace. | Ensure that the Snap account is configured to have the required Scopes and Permissions provided in Prerequisites section of this document. |
Auth error, Reason: No user token present in the OAuth2 response | A valid token is not available for the account to make a successful OAuth2 connection with your Slack app. | Ensure your OAuth2 app is configured correctly, and try authorizing account again. |
Error uploading file, Reason: invalid_channel | There exists no channel with one of the names/IDs you have specified in the Channels field. | Ensure that all the channels you mentioned in the Channels field are valid and try uploading the file again. |
Include functional examples to demonstrate the various functionalities of the Snap. Examples are different from Use Cases. An example should focus on the Snap in question. Use first-person plural references. Start with the Pipeline's objective and then describe how you would go about using the Snap to fulfill this objective. Include all SLPs in the Downloads section. Use videos if a Snap's configuration is complex and difficult to capture using screenshots. Ensure that the screenshots are optically similar, the size of the text in the screenshots should be readable and similar in size. Max image size 1000 px. Screenshots must include: Pipeline, Snap Configs, Inputs, and Outputs. Refer to ELT Snaps for an instance.
Example title must be gerunds in title case.
This example demonstrates how we can use the Upload File Snap to share files with one or more recipients. To delete a file that you have sent to another Slack user/Channel/private group, you need to use the Delete File Snap to pass the id of the file to be deleted. The same can be done for multiple files, at once.
In this example, we use the Upload File Snap to upload and share a file with members of a Channel.
Upload File Snap | Output |
---|---|
Now, we connect a Search Snap to locate an uploaded file and collect the file details using a Mapper Snap.
Search Snap | Output |
---|---|
Mapper Snap | Output |
Using the id parameter captured through the Mapper Snap, we can delete the file from the Slack Channel, Private Group, or Direct Message where it has been shared.
Delete File Snap | Output |
---|---|
The file is deleted and the result of this operation is displayed in the Snap output.
Add a download link to the Pipeline in the the "Download" text above. Explain the Pipeline/Snap configuration in detail if a complex enough example has been used. Ensure that the functionality you are trying to illustrate is captured correctly. Include caveats as appropriate. To insert link: Press Ctrl + K --> Files --> Select the SLP file corresponding to the example.
|
Edit the Excerpt Include macro below to link to the Snap Pack page for this Snap page. Ensure that the heading Snap Pack History is not within the Snap Pack's history Excerpt.
Provide links to the endpoint's official documentation, any relevant or related internal documentation, and any other links you have referred to on this page. Care should be taken when referencing external sites/documentation that it is an official site/documentation. Do not refer to forums such as stackoverflow.