In this article
Overview
Use this Snap to delete one or messages you have sent to a Public Channel/Private Group/User based on their timestamps.
Prerequisites
- A valid and active account in the Slack Workspace.
Slack Scopes required
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 ) |
---|---|---|
Post messages in approved channels & conversations | chat:write | chat:write |
Start direct messages with people | im:write | im:write |
Read direct messages based on their IDs | im:read | im:read |
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 | Document |
|
| A document containing one or more timestamps of the original messages to be deleted. |
Output | Document |
|
| A document containing details of one or more messages deleted. |
Snap Settings
Parameter Name | Data Type | Description | Default Value | Example |
---|---|---|---|---|
Label | String | 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. | N/A | |
Target Type | Drop-down list | Select an option from the following list of permitted Target Types and specify the corresponding details needed:
| Public Channel | Private Channel/Group |
Channel | String/Expression/Suggestion | Required for Target Types - Public Channel and Private Channel/Group. Select a recipient 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 | Required for Target Type - Users. Select a recipient from the suggested values. To add more recipients, enter comma-separated values manually in one of the following formats:
| N/A | @user.name:W01A94P7MK1 |
Timestamp | String/Expression/Suggestion | Required. To delete one or more messages you sent earlier, enter or pass their Epoch timestamps separated by a comma. | N/A | 1601469028.000100 |
Snap Execution | Drop-down list | Select one of the three following modes in which the Snap executes:
| Execute only | Validate & Execute |
Troubleshooting
Error | Reason | Resolution |
---|---|---|
Failure: Unable to delete the message with the given target and timestamp, message_not_found | The Snap cannot locate the target message to delete it. | Ensure that the Channel and Timestamp provided correspond to a valid message that exists before running the Pipeline again. |
Input error: Target (user/channel) missing | You have not supplied either the Channel or the Timestamp for the target message to delete it. | Ensure that you provide the required parameters to delete the message 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 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 |
---|---|
Downloads
Important Steps to Successfully Reuse Pipelines
- Download and import the Pipeline into SnapLogic.
- Configure Snap accounts as applicable.
- Provide Pipeline parameters as applicable.