Skip to main content

app_requested event

User requested an app

Facts

Required Scopes
No scopes required!
Compatible APIs

Usage info

This example includes both the event wrapper and the event structure for the app_requested event.

{
"token": "XXYYZZ",
"team_id": "T123ABC456",
"api_app_id": "A123ABC456",
"event": {
"type": "app_requested",
"app_request": {
"id": "1234",
"app": {
"id": "A5678",
"name": "Brent's app",
"description": "They're good apps, Bront.",
"help_url": "brontsapp.com",
"privacy_policy_url": "brontsapp.com",
"app_homepage_url": "brontsapp.com",
"app_directory_url": "https://slack.slack.com/apps/A102ARD7Y",
"is_granular_bot_app": true,
"is_app_directory_approved": true,
"is_internal": false,
"additional_info": "none"
},
"previous_resolution": {
"status": "approved",
"scopes": [
{
"name": "app_requested",
"description": "allows this app to listen for app install requests",
"is_sensitive": false,
"token_type": "user"
}
]
},
"user": {
"id": "U1234",
"name": "Bront",
"email": "bront@brent.com"
},
"team": {
"id": "T1234",
"name": "Brant App Team",
"domain": "brantappteam"
},
"enterprise": null,
"scopes": [
{
"name": "app_requested",
"description": "allows this app to listen for app install requests",
"is_sensitive": false,
"token_type": "user"
}
],
"message": "none"
}
},
"type": "event_callback",
"authed_users": [
"U123ABC456",
"U222222222"
],
"event_id": "Ev123ABC456",
"event_time": 123456789
}

The app_requested event payload contains info about an app that a user on a team has requested to install.

FieldDescription
appInfo on the app that the user has requested. Nested inside the app field, the help_url, privacy_policy_url, app_homepage_url, and app_directory_url fields contain links to more info.
previous_resolutionIndicates whether the app was previously approved or restricted in this org. If the app installation has not been requested before, previous_resolution won't appear in the payload.
userUser ID of the user requesting the install.
teamTeam ID of of the team that the app will be approved for. If null, then the approval request is for the whole enterprise.
enterpriseIf not null, conveys that the approval is for whole enterprise.
scopesThe scopes that the app requests.
messageAn optional message from the app.