Update Message

In this article

Overview

Use this Snap to edit messages you have sent to a user, private group/channel or a public channel. The Snap instantly updates the messages.

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)
Post messages in approved channels & conversationschat:writechat:write
Start direct messages with peopleim:writeim:write
Read direct messages based on their IDsim:readim:read
View lists of channels and users to select fromusers:readusers: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/OutputType of ViewNumber of ViewsExamples of Upstream and Downstream SnapsDescription
Input 

Document

  • Min: 0
  • Max: 1
  • Mapper
  • JSON Generator
  • Search (Slack)
  • Copy
  • Sort
A document containing the updated message and one or more timestamps of the original messages.
Output

Document

  • Min: 0
  • Max: 1
  • Mapper
  • JSON Formatter
  • CSV Parser

A document containing details of the updates made to one or more respective messages.

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.
Update MessageUpdate Message
Target TypeDrop-down list

Select an option from the following list of permitted Target Types and specify the corresponding details needed:

  • Public Channel. To update the message sent to one of the public channels in the workspace. Requires Channel.
  • Private Channel/Group. To update the message sent to a private channel or group within the workspace. You must be a participant of the respective channel or group. Requires Channel.
  • Users. To update the message sent to one or more individual users. Requires Users.
Public ChannelPrivate Channel/Group
ChannelString/Expression/Suggestion

Required for Target Types - Public Channel and Private Channel/Group

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.name:<11-character alphanumeric channel ID> OR
  • #channel.name OR
  • <11-character alphanumeric channel ID>
N/A#testprivate:G019B3ETYMB
UsersString/Expression/Suggestion

Required for Target Type - Users

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

  • @user.name:<11-character alphanumeric user ID> OR
  • @user.name OR
  • @<11-character alphanumeric user ID>
N/A@user.name:W01A94P7MK1
TimestampString/ExpressionRequired. To edit the message you sent earlier, enter or pass its Epoch timestamp.N/A1601469028
New MessageString/ExpressionRequired. Enter the updated message to send to same set of recipients. See Formatting Messages for instructions to format your message text in the same manner as allowed in the web/desktop versions of Slack, using markup syntaxes.N/AHi there!
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.

Execute onlyValidate & Execute

Troubleshooting

ErrorReasonResolution

Unable to update the message with the given target and timestamp: message_not_found

The Snap cannot locate the target message to update 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) missingYou have not supplied either the Channel or the Timestamp for the target message to update it.Ensure that you provide the required parameters to delete the message before running the Pipeline again.

Examples

Updating/Editing a Message Already Sent

This example demonstrates how we can use the Send Message and Update Message Snaps to send update messages to one or more recipients. To update a message that you have sent to another Slack user/Channel/private group, you need to use the timestamp of the original message. The same can be done for multiple messages, at once.

In this example, we use the Send Message Snap to send a message defined as normal text (string) to a user. You can try with sending to a Channel or private group.

Send Message SnapOutput

Message in Slack

Notice that when the Message field is not defined as an expression, the new-line character \n is not rendered as expected. 

We connect a Mapper Snap to capture the timestamp of the message sent. Alternatively, you can feed the timestamp using any other upstream Snap.

Mapper Snap

Mapper Output

Now, to update the original message, connect an Update Message Snap to the Mapper and pass the updated Message text, Channel/User and Timestamp values to it. The Snap replaces the original message with this updated message and shows the following output.

Update Message SnapOutput

Updated Message in Slack

Notice that we have defined the New Message field as an expression and that it contains the new-line character \n that renders the message with multiple lines, as expected.

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_Update_Message.slp

Mar 11, 2022 by Subhajit Sengupta


Snap Pack History

 Click here to expand...

Release

Snap Pack Version 

Date

Type

Updates

August 2024

main27765

 

Stable

Upgraded the org.json.json library from v20090211 to v20240303, which is fully backward compatible.

May 2024

main26341

 

Stable

Updated and certified against the current SnapLogic Platform release.

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