In this article
The page's title should always be the Snap's name. For example, File Reader.
Use this Snap to search for messages and files in your Slack workspace based on one or more keywords.
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.
Add valid Slack Scopes based on the intended operation. See Required Slack Scopes below for details.
Any action you want to perform using Slack, 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 for information on defining Scopes for your app.
To | Bot Token Accounts ( scope ) | User Token Accounts ( user_scope ) |
---|---|---|
Search for messages and files | N/A | search: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.
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 one or more search keywords. |
Output | Document |
|
| A document with search results (message and/or files) matching the keyword(s) passed. |
Parameter Name | Data Type | Description | Default Value | Example |
---|---|---|---|---|
Label | String | Search | Search_Messages | |
Query | String/Expression | Enter one or more keywords in this field to search for, in the workspace. The keywords can be passed through an upstream Snap and can include wildcard search keywords. You can customize your search keywords to filter your search results. For messages and files:
| N/A | Snap*logo.*, Pipeline in:#support_channel |
Scope | Drop-down list | Select one of the following options from this drop-down list.
| All | Files |
Sort Key | Drop-down list | Select one of the following options from this drop-down list.
| score | timestamp |
Sort Order | Drop-down list | Select one of the following options from this drop-down list.
| desc | asc |
Snap Execution | Drop-down list | Select one of the three following modes in which the Snap executes:
| Validate & Execute | Execute only |
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. Failure: Unable to perform search operation. Reason: not_allowed_token_type | Briefly describe why this error is triggered. An experienced user will be able to troubleshoot the error looking at the reason itself. A Search operation cannot be carried out in Slack using a Bot Token. | 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 Snap account uses a User Token and not a Bot Token before running the Pipeline again. |
To delete a message that was sent, we can locate the sent message and delete it. The same can be done for multiple messages, at once. This example demonstrates how we can use the Search Snap to achieve this result.
This Pipeline uses a set of Pipeline Parameters as depicted in the following image.
We use the Send Message Snap to send a message defined as an expression to a Private Channel.
Send Message Snap | Output |
---|---|
Search Snap supports a variety of search keywords, besides exact words, like wildcard search (using *, #, and so on), sender, or recipient of the messages and files. We use this feature to perform two different search operations and combine their results to see if our message is retrieved.
So, after sending the message we use the Copy Snap to duplicate the output from Send Message Snap and initiate two Search operations - one based on the wildcard search and another on the sender's name/ID.
Search by wildcard text | Output |
---|---|
Search by Sender | Output |
We combine these search results using a Join Snap to ensure the results contain the message we want to delete.
Join Snap | Output |
---|---|
Now, we connect a Mapper Snap to transform the contain search results data to contain only the Channel ID and the timestamps of the messages. This will enable us filter the results and identify the latest message that we want to delete.
Mapper Snap |
---|
Mapper Output |
Connect a Delete Message Snap to the Mapper and pass the Channel and Timestamp values to it, to delete the message. The Snap deletes the message and shows the following output.
Delete Message 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.