fix(slack): Add user_change event handler and include mapped individuals in admin#915
Merged
fix(slack): Add user_change event handler and include mapped individuals in admin#915
Conversation
…als in admin - Add handler for Slack user_change events to capture profile updates in real-time (display name, real name, email, deleted status, timezone) - Add slack_tz_offset to handleTeamJoin for consistency with sync - Include invalidateUnifiedUsersCache in user_change handler - Fix admin users query to include "mapped individuals" - users who have a WorkOS user ID but no organization membership. Previously these users were excluded from both the AAO users list (no org membership) and the Slack-only list (has workos_user_id), causing them to be invisible in the admin panel. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
user_changeevents to capture profile updates in real-time (display name, real name, email, deleted status, timezone)slack_tz_offsettohandleTeamJoinfor consistency with syncinvalidateUnifiedUsersCachein user_change handlerProblem
Missing profile updates via webhooks: We only handled
team_joinevents, missing all subsequent profile changes. This caused the need for frequent manual syncs (1311 users updated in last sync).Invisible mapped individuals: Users like Brian May who have a WorkOS user ID but no organization membership were falling through the cracks - excluded from both the AAO users list (no org membership) and the Slack-only list (has workos_user_id).
Changes
server/src/slack/events.tsSlackUserChangeEventinterface and handlerslack_tz_offsettohandleTeamJoinfor consistencyserver/src/routes/admin/users.tsmapping_status: 'mapped'Test plan
user_changeevent subscription in Slack app settings🤖 Generated with Claude Code