Add interactive buttons for webhooks

Description

We'll approach implementation similar to Outlook's interactive messages https://docs.microsoft.com/en-us/outlook/actionable-messages/card-reference

They are simply better than what Slack, Facebook, HipChat and others offer. Much more configurable & secure, easy polling support, easily extended to additional interactive messages like menus, etc.

Implementation should include support with MultichoiceInput option (or something similar), to make polls easier.


Original description:

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:

  • Alterations to the configuration of Incoming Web Hooks (& potentially Slash Commands)

  • Additional server side code to support the action call-outs.

  • Additional API/App layer code to support the new integration message button presses.

  • Additional UI layer code to support the display (and API calls back to the server) of the message buttons.

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.

QA Test Steps

None

Activity

Show:
Lindsay Brock
April 26, 2017, 2:31 AM

George to read about how buttons work + make help wanted if it makes sense

Andrew Somervell
May 2, 2017, 6:35 AM

Watching to see if help wanted created. Have eyeballed development processes, probably needs agreed UX design first?

Jason Blais
May 2, 2017, 10:16 PM

Thanks for your interest! Ticket is updated with a help wanted issue here: https://github.com/mattermost/platform/issues/6293

Let us know if you're interested contributing?

Linda Mitchell
September 16, 2017, 8:48 AM

Tested this on 4.2 RCs with CB. JB has since filed a bug for not showing attachments in RHS: https://mattermost.atlassian.net/browse/PLT-7643. Closing this one.

Done

Mana

8

Assignee

Chris Brown (Mattermost)

QA Assignee

None

Reporter

Ian Tien

Fix versions

None

Mattermost Team

None

Sprint

None

Labels

QA Testing Areas

None

GitHub Issue

None

Components

None