slice icon Context Slice

Signal Extraction

The manager Slack setup task uses codeFetch Workspace Messages to collect workspace messages, then aggregates per-person engagement metrics. The fetch outputs messages with user attribution, timestamps, after-hours flags, and week-over-week comparison.

Per-Person Metrics

For each team member visible in Slack data, extract:

Message Frequency Delta: Compare message count this week vs last week (or vs 4-week average if available). A decline indicates reduced engagement.

After-Hours Activity: Percentage of messages sent outside 8am-6pm. Increasing after-hours work correlates with burnout risk.

Weekend Activity: Count of weekend messages. Regular weekend messaging is a burnout signal.

Channel Breadth: Number of distinct channels the person participates in. Narrowing channel participation (retreating to fewer channels) can indicate disengagement.

Cache Format

The uiPeople Directory file stores:

{
  "fetchedAt": "2024-01-15T10:30:00Z",
  "workspace": "acme-corp",
  "period": "Jan 8 - Jan 15",
  "teamSignals": [
    {
      "name": "Alice Smith",
      "thisWeekMessages": 45,
      "lastWeekMessages": 62,
      "frequencyDelta": -27,
      "afterHoursPercent": 15,
      "weekendMessages": 2,
      "channelCount": 8
    }
  ],
  "teamAverages": {
    "avgMessages": 52,
    "avgAfterHoursPercent": 12,
    "avgChannelCount": 6
  }
}

Cache Validity

Slack signals are cached for 7 days. The flight risk task checks fetchedAt timestamp and offers to refresh if stale. This balances data freshness against unnecessary API calls.

Mapping to Risk Scores

Slack Signal Threshold Risk Type Points
Message frequency decline > 20% Flight risk +2
Message frequency decline > 10% Flight risk +1
After-hours activity increase > 10% above team avg Burnout +1
Regular weekend messaging 3+ weekend messages Burnout +1
Channel participation narrowing < 50% of team avg channels Flight risk +1

Limitations

Slack signals are supplementary—they enhance but don't replace CSV-based analysis. Key limitations:

  • Only sees public/private channels user has access to (not all company channels)
  • Cannot read DM content (Slack API restriction)
  • New employees may have low message counts without being disengaged
  • Some roles naturally have lower Slack activity (focus work, external-facing)

Always combine Slack signals with other data sources and note which signals were available in the output.