Search

In this article

Overview

Use this Snap to search for messages and files in your Slack workspace based on one or more keywords.

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 using Slack, 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.

ToBot Token Accounts
(scope)
User Token Accounts
(user_scope)
Search for messages and filesN/Asearch:read

Support for Ultra Pipelines

Works in Ultra Pipelines.

Limitations

  • Search operation works with User Tokens only. Do not use Bot Token Account with this Snap.
  • 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/OutputType of ViewNumber of ViewsExamples of Upstream and Downstream SnapsDescription
Input 

Document

  • Min: 0
  • Max: 1
  • Mapper
  • Copy
  • JSON Generator
A document containing one or more search keywords. 
Output

Document

  • Min: 1
  • Max: 1
  • JSON Parser
  • XML Parser
  • Filter

A document with search results (message and/or files) matching the keyword(s) passed.

Snap Settings

Parameter NameData TypeDescriptionDefault ValueExample 
LabelString
Specify a name for the Snap. You can modify this to be more specific, especially if you have more than one of the same Snap in your pipeline.
SearchSearch_Messages
QueryString/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:

  • From a specific user or in a channel/private group, add from:@user.name to your search keywords.
  • You sent to a specific user/channel/private group, add  in:#channel.name or to:@user.name to your search keywords.
  • By their date sent, add after:2020-10-05 before:2020-10-07 in:#support_channel from:<@user.name>
N/A

Snap*logo.*, Pipeline in:#support_channel 
from:<@user.name>, 
from:<@W01CF9AQDPS>

ScopeDrop-down list

Select one of the following options from this drop-down list.

  • All. To search for the keyword and retrieve file names and messages that contain the keyword.
  • Files. To search for the keyword in file names and retrieve only files containing the keyword.
  • Messages. To search for the keyword in messages and retrieve only messages that contain the keyword.
AllFiles
Sort KeyDrop-down list

Select one of the following options from this drop-down list.

  • score. To sort the search results by their scores.
  • timestamp. To sort the search results by their timestamps when they are sent.
scoretimestamp
Sort OrderDrop-down list

Select one of the following options from this drop-down list.

  • asc. To sort the search results in the ascending order of their Sort Key values.
  • desc. To sort the search results in the descending order of their Sort Key values.
descasc
Snap ExecutionDrop-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.

Validate & ExecuteExecute only

Troubleshooting

ErrorReasonResolution

Failure: Unable to perform search operation. Reason: not_allowed_token_type

A Search operation cannot be carried out in Slack using a Bot Token. 

Ensure that the Snap account uses a User Token and not a Bot Token before running the Pipeline again.

Examples

Locating a Sent Message Using Search Keywords and Deleting it

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 SnapOutput

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 textOutput

Search by SenderOutput

We combine these search results using a Join Snap to ensure the results contain the message we want to delete.

Join SnapOutput

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 SnapOutput

Download this Pipeline

Downloads

Important Steps to Successfully Reuse Pipelines

  1. Download and import the Pipeline into SnapLogic.
  2. Configure Snap accounts as applicable.
  3. Provide Pipeline parameters as applicable.

  File Modified

File Example_Slack_Send_Search_Delete_Message.slp

Mar 11, 2022 by Subhajit Sengupta


Snap Pack History

 Click here to expand...

Release

Snap Pack Version 

Date

Type

Updates

February 2024main25112 StableUpdated and certified against the current SnapLogic Platform release.
November 2023main23721 StableUpdated and certified against the current SnapLogic Platform release.
August 2023main22460 StableUpdated and certified against the current SnapLogic Platform release.

May 2023

main21015

 

Stable

Upgraded with the latest SnapLogic Platform release.

February 2023main19844 StableUpgraded with the latest SnapLogic Platform release.
November 2022main18944 StableUpgraded with the latest SnapLogic Platform release.
August 2022main17386 StableUpgraded with the latest SnapLogic Platform release.
4.29 Patch429patches16199 Latest
  • Fixed an issue with the Send Message Snap where the Snap displayed a Null Pointer Exception error when you select User Emails for the Target Type field and the user email id contained null, for example, @slackbot:null. Now, the Snap displays a valid error message.

  • Fixed an issue with the User ID field for the following Slack Snaps where the Snap failed with the User not found error when using @user.name in the User ID field.
4.29main15993 Stable

Enhanced the Slack - Send Message Snap with User Emails option for the Target Type dropdown list to send messages on Slack app using the user’s email.

4.28main14627 

Stable

Upgraded with the latest SnapLogic Platform release.
4.27main12833 StableUpgraded with the latest SnapLogic Platform release.
4.26main11181 LatestUpgraded with the latest SnapLogic Platform release.
4.25 Patch425patches10994 Latest

Improved the error messages in the Channel Operations Snap where the Snap fails with Null Pointer Exception when the account reference provided is invalid.

4.25main9554 StableNo updates made.
4.24main855613 Feb 2021StableNo updates made.

4.23

main7430

 

Stable

Initial release of the Snap Pack with the following Snaps and Accounts:


See Also