# 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 bot `pins:write` scope so the Monday rollover can natively # pin the reused two-week schedule post. A new OAuth scope means a one-time # reinstall is required for the pin to take effect (the pin is best-effort and is # skipped until then). 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 # pins:write lets the Monday rollover natively pin the reused schedule post # so it stays reachable from the channel header. Adding it requires a # one-time reinstall; the pin is best-effort until then. - pins:write settings: event_subscriptions: request_url: bot_events: - app_home_opened interactivity: is_enabled: true request_url: org_deploy_enabled: false socket_mode_enabled: false