Flagsmith / Flagsmith/flagsmith

Slack integration doesn't notify on identity flag overrides (Edge / SaaS)

Open Beginner friendly
#7,983 0 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.