Search code examples
slack-apislack

Slack Bot Interactive Message. Showing "Oh no, something went wrong. Please try that again." on button click


I have a slack bot where I am sending structured message using Tester on chat.postMessage() using Developer account for Slack App.

Message gets sends smoothly, but when button is clicked it shows- "Oh no, something went wrong. Please try that again." in the chat window and nothing recieved on Interactive Message Request URL.

I am out of clue what is happening, Any help will be appreciated.

Message attachment

[
    {
        "title": "The Further Adventures of Slackbot",
        "fields": [
            {
                "title": "Volume",
                "value": "1",
                "short": true
            },
            {
                "title": "Issue",
                "value": "3",
                "short": true
            }
        ],
        "author_name": "Stanford S. Strickland",
        "author_icon": "http://a.slack-edge.com/7f18/img/api/homepage_custom_integrations-2x.png",
        "image_url": "http://i.imgur.com/OJkaVOI.jpg?1"
    },
    {
        "title": "Synopsis",
        "text": "After @episod pushed exciting changes to a devious new branch back in Issue 1, Slackbot notifies @don about an unexpected deploy..."
    },
    {
        "fallback": "Would you recommend it to customers?",
        "title": "Would you recommend it to customers?",
        "callback_id": "comic_1234_xyz",
        "color": "#3AA3E3",
        "attachment_type": "default",
        "actions": [
            {
                "name": "recommend",
                "text": "Recommend",
                "type": "button",
                "value": "recommend"
            },
            {
                "name": "no",
                "text": "No",
                "type": "button",
                "value": "bad"
            }
        ]
    }
]

Solution

  • it is sorted now. Actually I was using wrong token, test token, where a bot access token or user access token obtained through the app's OAuth flow must be used.