Search code examples
slackslack-api

Slack messages incoming web hooks as unique message not continued


I am hitting an API to return stats of some websites, I analyse the returned values and add some of the sites to an array.

I then construct a slack message and add the array of sites to the fields section like this;

"attachments": [
                {
                    "fallback": "",
                    "color": "#E50000",
                    "author_name": "title",
                    "title": "metrics recorded",
                    "title_link": "https://mor47992.live.dynatrace.com/#dashboard;id=cc832197-3b50-489e-b2cc-afda34ab6018;gtf=l_7_DAYS",
                    "text": "more title info",
                    "fields": sites,
                    "ts": Date.now() / 1000 | 0
                }
            ]

This is all in a lambda which is triggered every 5 minutes, the first message comes through fine.

however subsequent messages just append to the fields section of the original message so it looks like I have delivered duplicate content in the message. is there a way to force each hit to the incoming web hook to post as a brand new message to slack?

here is an example of a followup message, notice the duplicate content.

enter image description here


Solution

  • No. Its a "feature" of Slack that is will automatically combine multiple message from the same user / bot without restating the user name if they are send within a short time frame.

    To separate the attachments in your case would suggest to add an introduction text. Either via text property of the message (on same level than attachments property). Or by adding a pretext to each attachment.