'Open URL in browser from Message Button using Slack API

I am sending the users a slack message with a button through a Slack App. On every click of the button, I generate a new URL.

At the moment, I am able to return the URL back as a message. The user clicks on the message to open the URL in the browser.

Instead of the sending a message back, I want to open the URL directly in the browser using slack API.

How can I accomplish it? I can't seem to find anything in the documentation that does that.

Thanks

PS: Google Drive integration does that already.



Solution 1:[1]

Unfortunately slack does not support opening urls from message buttons. You can monitor what slack is planning on releasing here though: https://trello.com/b/ZnTQyumQ/slack-platform-roadmap-for-developers :)

Solution 2:[2]

It appears Slack introduced this feature recently.

As documented in https://api.slack.com/docs/message-attachments#link_buttons

  "actions": [
    {
      "type": "button",
      "text": "Book flights ?",
      "url": "https://flights.example.com/book/r123456"
    }

It's possible to preview in Slack's interactive message builder

Solution 3:[3]

According to Slack, message attachments is the "old way" of composing messages, which will be deprecated in favour of the new Block Kit API.

I found this example on how to do button links on their docs, using the actions object in the message payload.

I haven't implemented it yet, but you can send the message to a channel in your workspace straight from the docs and try it, and it does open the link in the browser as expected.

Solution 4:[4]

Update 04/2022

{
    "blocks": [
        {
            "type": "actions",
            "elements": [
                {
                    "type": "button",
                    "text": {
                        "type": "plain_text",
                        "text": "View",
                        "emoji": true
                    },
                    "style": "primary",
                    "url": "https://flights.example.com/book/r123456"
                }
            ]
        }
    ]
}

Test on Slack Blockit Builder: Link

enter image description here

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 mackwerk
Solution 2 Daniel
Solution 3 anabella
Solution 4