Short answer: Drop the "Slack → Reaction Added" trigger on your workflow canvas, add filters if you want them, and publish. It fires within seconds of the event in Slack, not on a polling schedule.
Drop it on the canvas. Configure a couple of fields. Publish.
You don’t need to read this. Tiny Command auto-maps every field into the visual picker so downstream nodes can pull values by clicking. We show it here for power users who want to know what’s on the wire.
{"raw": {"type": "event_callback","event": {"item": {"ts": "1712835600.000100","type": "message","channel": "C1234567890"},"type": "reaction_added","user": "U1234567890","event_ts": "1712835610.000200","reaction": "thumbsup","item_user": "U9876543210"},"token": "verification_token","team_id": "T1234567890","event_id": "Ev1234567890","api_app_id": "A1234567890","event_time": 1712835600},"user": "U1234567890","channel": "C1234567890","reaction": "thumbsup","item_user": "U9876543210","message_ts": "1712835600.000100"}
Every field below can be referenced by name in any action or filter that comes after this trigger.
| Field | Type | Example |
|---|---|---|
| raw | object | { … } |
| raw.type | string | "event_callback" |
| raw.event | object | { … } |
| raw.event.item | object | { … } |
| raw.event.item.ts | string | "1712835600.000100" |
| raw.event.item.type | string | "message" |
| raw.event.item.channel | string | "C1234567890" |
| raw.event.type | string | "reaction_added" |
| raw.event.user | string | "U1234567890" |
| user | string | "U1234567890" |
| channel | string | "C1234567890" |
| reaction | string | "thumbsup" |
| item_user | string | "U9876543210" |
| message_ts | string | "1712835600.000100" |
One trigger. 45+ downstream actions. Zero glue.