Turn Otter.ai meetings into Linear issues for engineering teams

By General Input

When your Otter meeting wraps, an agent files the action items you committed to as clean Linear issues, owners attached, duplicates skipped.

Integrations

  • Otter.ai
  • Linear

Type

Agentic Task

Categories

  • Engineering
  • Operations

Build me an agent workflow that turns my engineering team's Otter.ai meetings into Linear issues so nothing falls through the cracks.

Trigger: an Otter.ai workspace webhook on the conversation.completed event. The webhook payload includes the conversation id, title, summary, and transcript. Walk me through pointing Otter at the webhook URL during setup.

When a meeting fires the webhook, the agent should:

1. Read the transcript and summary from the webhook payload and extract a deduped list of action items. Be strict: keep only concrete tasks with a verb plus an object (for example, 'rewrite the deploy script' or 'file a ticket for the flaky auth test'). Drop vague aspirations like 'we should think about reliability' or 'maybe consider improving X'. Engineers hate noisy auto-created tickets, so when in doubt, drop the item.

2. For each remaining action item, infer the owner from the transcript. The owner is whoever explicitly agreed to do it (look for 'I'll', 'I can take that', 'let me', 'I'll own it', etc.). If the transcript only assigns it ambiguously, treat it as unowned.

3. Before creating any issues, call Linear's List Issues on the configured team filtered to recent issues (last 30 days, or the last 50 issues, whichever is larger). Compare each candidate action item against those existing issue titles and descriptions and skip anything that is clearly already filed. This dedupe step is required.

4. Resolve owners to Linear assignees. Call Linear's List Users once at the start of the run and match the inferred owner name against user displayName, name, and email-local-part. First-name match is fine when unambiguous; if two users share a first name, fall back to unassigned rather than guessing.

5. For each surviving action item, call Linear's Create Issue on the configured team with: title = a short verb phrase capturing the action (under 80 chars, no trailing punctuation); description = the relevant transcript snippet (2-5 lines of context) followed by a link back to the Otter conversation; assignee = the matched Linear user id, or unassigned; labels = a single label called meeting-action (create it on the team if it does not exist yet).

6. If an issue was created unassigned, follow up with Linear's Add Comment to Issue and post a short comment pinging the meeting host (configurable) asking them to triage and assign.

Configuration the workflow should expose to me at setup time: the Linear team to file issues on, the Linear user who acts as the triage host for unassigned items, and an optional meeting-title filter (regex or substring) so I can scope this to standups, planning, and retros instead of every call.

Output the agent should return per run: the count of action items extracted, the count skipped as duplicates, the list of issues created with their Linear urls, and any items dropped for being too vague (so I can sanity-check the filter is not too aggressive).

Related prompts

Explore more prompts
Catch feature flags that never got switched on in productionWeekly alert noise review board for incident.io on-callMorning triage board for your Kernel browser agent runsTrack every half finished LaunchDarkly rollout in one boardFind the customers stuck contacting support again and againTurn shipped Linear work into Intercom product announcementsVoice agent QA review board for your Hume EVI callsClose the loop between Front tickets and Linear bug fixesOpen a Heroku release war room the moment production looks wrongFind the themes Help Scout tags miss and file them in Linear