Flagsmith / Flagsmith/flagsmith
Slack integration doesn't notify on identity flag overrides (Edge / SaaS)
- Dominant language
- Python
- Stars
- 6.6k
- Forks
- 567
- Avg merge
- 1d 14h
- Merged PRs (30d)
- 124
Description
Flip a flag for a specific identity and nothing shows up in Slack, even though flipping the same flag at the environment or segment level does. The per-identity change just goes unannounced.
This came up from a customer using the Slack integration for observability. Every project and segment level change lands in their channel, but identity overrides are invisible, so they have no way to see when a flag was changed for an individual user.
**What's going on**
The event itself isn't lost. When you override a flag for an identity, Flagsmith does write an audit log entry for it. Things break down one step later, where audit events get handed off to the integrations.
The Slack handler only forwards a fixed set of event types: `FEATURE`, `FEATURE_STATE`, `SEGMENT`, and `EF_VERSION`. On SaaS, identities live on the Edge, and an Edge identity override is recorded as `EDGE_IDENTITY`, which isn't on that list. So it gets dropped before it ever reaches Slack.
Segment and environment changes come through as `SEGMENT` / `FEATURE_STATE`, both on the list, which is exactly why those notifications work and identity ones don't. (One nuance: self-hosted without Edge logs identity overrides as `FEATURE_STATE`, so they do notify there. The gap is specific to Edge, i.e. SaaS.)
**The fix**
Add `EDGE_IDENTITY` to the event types the messaging integrations forward, so identity overrides notify the same way segment and environment changes already do. Same gap affects the other messaging integrations that share that filter, not just Slack.
Contributor guide
Research direction
Start at the Slack handler's fixed event-type filter and trace the shared messaging-integration path that forwards audit events. Verify how Edge identity overrides are recorded as EDGE_IDENTITY, then confirm that identity changes reach Slack and the other messaging integrations while existing FEATURE, FEATURE_STATE, SEGMENT, and EF_VERSION notifications remain unchanged.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- backend
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 72/100