PERSONAL PRODUCTIVITY
Capture Slack Thread Decisions to a Coda Decision Log
When a teammate reacts to a Slack message with a decision emoji, this workflow extracts the decision, owner, and rationale from the thread and logs a structured row in your Coda…
How it runs
The automated pipeline, trigger to output.
- TriggerSlack decision emoji added to a messageSlack
- ActionFetch full parent thread for contextSlack
- ActionExtract decision, owner, rationale with OpenAIOpenAI
- LogicOwner + clear decision found? Else reply asking to clarify
- OutputWrite structured row to Coda decision registerCoda
What it does
Turns the moment someone marks a Slack message with a :decided: (or similar) reaction into a permanent, structured record. It reads the surrounding thread, identifies what was decided, who owns it, and why, then writes a clean row to a Coda decision log table so nothing important stays buried in chat.
When to use it
Use this when your team makes real calls inside Slack threads — staffing, scope, vendor picks — and you keep losing track of who agreed to what. Ideal for ops leads and PMs who want a single browsable register of decisions without asking people to fill out forms.
How it works
- 1A reaction-added event fires when someone adds the configured decision emoji to a Slack message.
- 2The workflow fetches the full parent thread for context.
- 3An OpenAI extraction step parses the thread into structured fields: decision statement, owner, rationale, and a confidence score.
- 4A logic step checks that an owner and a clear decision were found; ambiguous threads are routed back to Slack as a clarifying reply instead of logged.
- 5The structured decision is written as a new row in the Coda decision register with a timestamp, source link, and status of Confirmed.
Set it up
What you configure once, before turning it on.
- 1Connect SlackChannels, DMs, threads, mentions.
- 2Connect OpenAIModels, embeddings, files.
- 3Connect CodaDocs, packs, automations.
- 4Set each agent's modelWe leave models unset so you pick the tier — fast + cheap, or top-quality.
- 5Tune it to your dataEdit the prompts, filters, and field mappings so it matches how your team works.
- 6Test, then turn it onRun once against a sample, confirm the output, then enable the trigger.
More Personal Productivity workflows
Monthly Meeting Cost Report by Email
On the first of each month, tallies every recurring meeting's total person-hours across the team, converts to an estimated dollar cost.
Turn Outlook email promises into assigned Asana tasks with due dates
When you send an email containing a commitment, an LLM extracts the promise and its deadline and creates a corresponding Asana task assigned to you with the due date set.
Auto-decline low-priority invites that collide with deep-work blocks
When a new calendar invite lands on top of a protected deep-work block, an AI scores its priority and auto-declines low-value meetings with a polite note proposing alternative…
Decline focus-block meetings and auto-propose a free slot via Notion log
When a low-priority invite hits a focus block, it declines the meeting, finds your next genuinely free slot, replies with a counter-proposal.
Log Outlook promises to Airtable with per-recipient commitment rollups
Captures promises from sent Outlook mail into an Airtable base, linking each commitment to a recipient record so you get a running per-contact view of everything you've promised…
Email-to-Task: Turn Action-Required Mail Into Linear Issues
Detects mail that contains a concrete task or request, extracts the deliverable and due date, and creates a Linear issue automatically so commitments from email never get lost.
Run it inside a business
This workflow drops into a full company template. Import the org, and this is one of the playbooks its agents run.

Run this workflow in your colony.
14-day trial. No DevOps. No Sales call. Provisioned in under a minute.
