-
-
Notifications
You must be signed in to change notification settings - Fork 52.7k
Open
Labels
staleMarked as stale due to inactivityMarked as stale due to inactivity
Description
Summary
Cron jobs and heartbeats currently have no way to target a specific Slack thread. When a cron job is created from a Slack thread, delivery uses lastThreadId from session history — which points to whichever thread was last active, not necessarily the intended one. Heartbeat has no thread targeting at all.
This is the same class of problem as #19365 and #19366 (Telegram topic targeting), but for Slack threads.
Current behavior
- Cron:
delivery.toaccepts a Slack channel ID (e.g.C12345) but has no syntax to specify athread_ts. Delivery falls back tolastThreadIdfrom session history, which may be a different thread. - Heartbeat:
heartbeat.toaccepts a channel ID but cannot target a specific thread.
Proposed solution
Add a thread targeting syntax for Slack, similar to how #19367 added :topic:NNN for Telegram. For example:
C12345:thread:1234567890.123456
This would be parsed in resolveSessionDeliveryTarget() with a Slack-specific guard (similar to the Telegram isTelegramContext guard added in #19367).
Config examples:
Cron:
{
"delivery": {
"channel": "slack",
"to": "C12345:thread:1234567890.123456"
}
}Heartbeat:
{
"agents": {
"defaults": {
"heartbeat": {
"target": "slack",
"to": "C12345:thread:1234567890.123456"
}
}
}
}Related
- [Bug]: Cron jobs deliver to wrong chat — ignores Telegram topic thread routing #19365 — Cron delivers to wrong Telegram topic (fixed in fix(telegram): cron and heartbeat messages land in wrong chat instead of target topic #19367)
- [Feature]: Support :topic: syntax in heartbeat.to for Telegram topic delivery #19366 — Heartbeat Telegram topic support (fixed in fix(telegram): cron and heartbeat messages land in wrong chat instead of target topic #19367)
- fix(telegram): cron and heartbeat messages land in wrong chat instead of target topic #19367 — PR that fixes Telegram topic targeting; same approach could be extended for Slack
lobster-biscuit
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
staleMarked as stale due to inactivityMarked as stale due to inactivity