App manifests in Slack are YAML or JSON configuration files that define your app’s structure, settings, and permissions in a single, sharable document. They’re especially useful for collaboration, deployment, and version control.
β Why Use App Manifests?
π Simplified App Creation
You can create or update an app by simply pasting a manifest into the Slack API dashboard.
No need to manually configure scopes, event subscriptions, or features one by one.
π Clear Documentation of App Configuration
Everything from app name, bot scopes, event subscriptions, slash commands, to redirect URLs is documented in one place.
π₯ Easier Team Collaboration
Share the manifest file across your team so everyone works with the exact same configuration.
Great for onboarding new developers or syncing across environments.
π Repeatable Deployments
Perfect for deploying the same app configuration across multiple workspaces (e.g., dev, QA, and prod).
π§ͺ Faster Prototyping and Testing
Quickly spin up or modify an app setup without clicking through UI settings.
Ideal for hackathons or rapid development.
π¦ Version Control Compatibility
You can track changes, roll back versions, and review configuration history through Git or other version control tools.
π‘ Example Use Case:
You build a Slack app for internal ticketing. Using a manifest:
Your dev team can clone the app in a dev workspace.
Your QA team can test it in a staging workspace.
You can deploy it to production with the same settings, just by copying the manifest.
Feature / Use Case
Is It Accurate?
Notes
Simplifies app creation
β Yes
Paste manifest to create/update app quickly
Documents app configuration
β Yes
Keeps scopes, URLs, settings all in one file
Team collaboration
β Yes
Share config with teammates easily
Repeatable deployments
β Yes
Deploy to multiple workspaces consistently
Faster prototyping/testing
β Yes
No manual UI clicks needed
Version control compatibility
β Yes
Easily track, revert, or review changes
Hereβs a ready-to-use sample Slack app manifest (in YAML format) that you can paste directly into the Slack API Dashboard under the “Create an App using a Manifest” option.
πΉ Sample Slack App Manifest (YAML)
_display_information:
name: TicketBot
description: A bot that helps manage internal support tickets.
background_color: "#4A154B"
features:
bot_user:
display_name: TicketBot
always_online: true
oauth_config:
scopes:
bot:
- channels:read
- chat:write
- commands
- users:read
- app_mentions:read
settings:
event_subscriptions:
request_url: https://your-server.com/slack/events
bot_events:
- app_mention
- message.channels
interactivity:
is_enabled: true
request_url: https://your-server.com/slack/interactions
org_deploy_enabled: false
socket_mode_enabled: false
token_rotation_enabled: false
redirect_urls:
- https://your-server.com/slack/oauth/callback
development:
slack_redirect_uri: https://your-server.com/slack/oauth/callback
allowed_ip_ranges:
- 0.0.0.0/0
app_directory:
short_description: A bot to manage internal support tickets.
long_description: >
TicketBot helps your team quickly create, assign, and track internal IT support tickets right from Slack.
β What This Manifest Includes:
A bot user named TicketBot
Required OAuth scopes (permissions)
Event subscriptions like app_mention and message.channels
Interactivity enabled for buttons and modals
Placeholder URLs for event/interactivity endpoints