In this article
The page's title should always be the Snap's name. For example, File Reader.
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.
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 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 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 |
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 the updated message and one or more timestamps of the original messages. |
Output | Document |
|
| A document containing details of the updates made to one or more respective messages. |
Parameter Name | Data Type | Description | Default Value | Example |
---|---|---|---|---|
Label | String | Update Message | Update Message | |
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. 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:
| N/A | #testprivate:G019B3ETYMB |
Users | String/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:
| N/A | @user.name:W01A94P7MK1 |
Timestamp | String/Expression | Required. To edit the message you sent earlier, enter or pass its Epoch timestamp. | N/A | 1601469028 |
New Message | String/Expression | Required. 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/A | Hi there! |
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. Unable to update the message with the given target and timestamp: message_not_found | Briefly describe why this error is triggered. An experienced user will be able to troubleshoot the error looking at the reason itself. The Snap cannot locate the target message to update it. | 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 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 update it. | Ensure that you provide the required parameters to delete the message before running the Pipeline again. |
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 Snap | Output |
---|---|
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 Snap | Output |
---|---|
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.
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.