I wrote a simple nodejs web service which logs any request sent to it, directed button actions to call this service and then I got this structure.
Type is either button or select as in the
developer documetation, the data_source can be empty. The data_source field is used by the system to fill the list for the “select” type (AFAIK it can be “users” or “channels”).