Reference: Interaction payloads

Interaction payloads are sent to your app when an end user interacts with one of a range of Slack app features.

The resulting interaction payload can have different structures depending on the source. The structures will have a type field that indicates the source of the interaction.

The interactivity type includes properties for both context about the interactor (i.e., the user) and an interactivity_pointer. This type can be input to function as with other attributes: through a Workflow Builder template (e.g., a user who clicked a button) or as an output from a previous step. The only functions allowed to output the interactivity context are Slack functions. An example is as follows:

{
  "interactor": {
    "id": "U01AB2CDEFG",
    "secret": "AbCdEFghIJklOMno1P2qRStuVwXyZAbcDef3GhijKLM4NoPqRSTuVWXyZaB5CdEfGHIjKLM6NoP7QrSt"
  },
  "interactivity_pointer": "1234567890123.4567890123456.78a90bc12d3e4f567g89h0i1j23k4l56"
}

For more details, refer to interactivity.

Read the individual reference guides to see the breakdown of each type of payload:

Payload type Description
block_actions Received when a user clicks a Block Kit interactive component.
message_actions Received when an app action in the message menu is used.
view_closed Received when a modal is canceled.
view_submission Received when a modal is submitted.

Read our guide to handling payloads from user interactions to learn how your app should process and respond to these payloads.

Build custom workflow builder steps with Bolt SDKs
Learn how to use our Bolt for Javascript SDK and Bolt for Python SDK to build functions for your team.