If you're interested please comment here and come join our "Contributors" community channel on our daily build server, where you can discuss questions with community members and the Mattermost core team. For technical advice or questions, please join our "Developers" community channel.
New contributors please see our Developer's Guide, specifically for machine setup and for developer workflow.
Notes: Jira ticket
Per this UserVoice request.
The scope of this ticket is limited to Message Buttons - Message Menus will be investigated separately in future, as it will be a much larger task to fully implement.
Developing this feature will necessitate:
If you wish to take on this ticket, once you have determined how you would like to implement each part of it, please discuss your plans with the core developer team in the ~developers channel of our Mattermost server.
On it.
Hmm. While I could certainly add action buttons for webhooks, it looks like this would _not_ be Slack-compatible. Slack actually doesn't allow action buttons with webhooks. A Slack app is required in order to register action URLs (see FAQ: Message Buttons or Tutorial: Intro to Message Buttons). And we don't really have an equivalent to that right now.
So the options seem to be to either work on building out a system for Slack-compatible apps or implement this feature in a non-Slack-like way.
Gonna sync up with @jwilander and see how these options align with the developer toolkit roadmap / design.
We don't have Slack-compatible apps on the roadmap, so this can't be Slack compatible to the extent of being able to use existing Slack integrations with the feature, but I can make it as close as possible for now.
In Slack, interactive messages are configured in the Slack app settings:
For interactive Mattermost messages, I'll most likely just be adding that "request URL" or "action URL" to the incoming webhook settings. And I'll be implementing Slack attachment buttons using the same format as Slack.
But since you can't just plug in your existing Slack apps anyways, I'd also be extremely interested in hearing ideas on what interactive capabilities people would find useful beyond what Slack currently offers.
For example, we would like to get this for the Giphy integration. Currently, the Slash command return a GIF and post to channel. It could be great to have the same behavior as the Slack integration for Giphy :
/giphy
commandSome screenshots :
1) I launch the /giphy
command and server send me this
2) Don't like the GIF, so I click on Shuffle
button and then got this
3) Like the new one so I click on Send
button and it post the GIF
I don't know if it help, because I don't know how it run internally, but it is an interesting use case.
Closing the help wanted issue as we're working on this ticket internally.
Most helpful comment
On it.