# Slack app manifest — After-Hours Shift Manager # # Version-controlled source of truth for the Slack app configuration. The app # predates this file, so before applying it wholesale via the Slack manifest API, # reconcile it against the live app config (App settings → App Manifest) so no # existing scope or setting is dropped. # # This release adds the `channels:history` bot scope and the `message.channels` # bot event so the slack-bot Lambda can keep the two-week schedule post stuck to # the bottom of the channel: on new activity it deletes and re-posts the tracked # message (debounced). The new scope + event require a one-time reinstall to take # effect. Replace with the SlackBotApiUrl stack output. # # A prior release added the App Home tab (no new scope): # - settings.event_subscriptions.bot_events: + app_home_opened # - features.app_home.home_tab_enabled: true display_information: name: After-Hours Shift Manager description: Manage after-hours on-call phone duty from Slack. features: bot_user: display_name: oncall always_online: true slash_commands: - command: /oncall url: description: Manage after-hours on-call shifts usage_hint: "[next|pick|drop|swap|register|pay|rate|roster|help] …" should_escape: false app_home: home_tab_enabled: true messages_tab_enabled: true messages_tab_read_only_enabled: false oauth_config: scopes: bot: - commands - chat:write - im:write - users:read # channels:history lets the bot receive message.channels events for the # schedule channel, which drive the activity bump that keeps the schedule # post at the bottom of the channel. Requires a one-time reinstall. - channels:history settings: event_subscriptions: request_url: bot_events: - app_home_opened # message.channels drives the activity bump that keeps the schedule post # at the bottom of the channel (debounced delete + repost). - message.channels interactivity: is_enabled: true request_url: org_deploy_enabled: false socket_mode_enabled: false