Into the Clouds

This post details the technical implementation of extending Slack's push notification system to support all-purpose notifications beyond direct messages and channel posts. It covers modifications to the Android notification payload model to include `teamId`, `userId`, and `subtype`, and the creation of a 'Trampoline' activity to handle deep link intents. The post also addresses backward compatibility challenges, such as handling unknown notification types by swallowing them, and outlines the logic for managing notification display based on type (mention vs. info) and existing notifications. On iOS, it describes the deep link handling mechanism using a `DeepLinkHandler` and `DeepLinkRouterProtocol` to manage routing based on URL structure and app state. Finally, it details the analytics tracking mechanism for notification events and the initial success metrics from a phased rollout of a new notification for team member invites.