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.
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, andEF_VERSION. On SaaS, identities live on the Edge, and an Edge identity override is recorded asEDGE_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 asFEATURE_STATE, so they do notify there. The gap is specific to Edge, i.e. SaaS.)The fix
Add
EDGE_IDENTITYto 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.