Four steps from channel to signal.
Sign in once. Pick your channels. Circuit listens from there.
Sign in with Slack. Circuit-owned app, ten-minute state token, no extra credentials.
Circuit pre-selects the first three. Toggle the ones you want in. Opt-in by default — no leakage.
Circuit subscribes to message events with HMAC-SHA256 signing and a five-minute timestamp window. Idempotent on event_id.
If the webhook ever misses something, the sweep picks it up on the next cycle.
Slack, in the same pipeline as everything else.
A message in #support lands as structured feedback within seconds. The full pipeline — classify, cluster, attribute — follows.
A Slack thread with eight replies is read as one conversation, not eight fragments.
Out-of-office replies, “lol” and emoji-only reactions never reach the priority list.
Slack messages land as feedback rows tagged source='slack' — same pipeline, same ranking, same customer attribution as every other source.
Asked and answered.
Only the channels you select. Pre-selected: the first three; the rest are opt-in. Disconnect any channel any time.
Every event is signature-verified with HMAC-SHA256 and a five-minute timestamp window. Events are deduped on event_id so replays don’t double-count.
A ten-minute polling sweep catches anything the real-time path missed.
Clean off-ramp — existing Slack feedback is preserved, future messages stop ingesting.