Skip to main content

Interaction payloads

Welcome to the new home of Slack developer docs!

We're still building and not all features are available quite yet. Enjoy this peek into the future!

Not ready for the future? Return to the past at api.slack.com.

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 typeDescription
block_actionsReceived when a user clicks a Block Kit interactive component.
message_actionsReceived when an app action in the message menu is used.
view_closedReceived when a modal is canceled.
view_submissionReceived 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.