Turn engineering meetings into Linear issues and a Slack recap

By General Input

When Fireflies finishes an engineering standup, retro, or incident review, every action item becomes a Linear issue and the team gets a tight recap in Slack.

Integrations

  • Fireflies.ai
  • Linear
  • Slack Bot

Type

Agentic Task

Categories

  • Engineering
  • Operations

Build an agent workflow that runs every time Fireflies.ai finishes processing a meeting.

Trigger: an outgoing webhook from Fireflies on the "meeting processed" event. The webhook payload includes the transcript ID and meeting title; use those as the starting inputs for the run.

Step 1. Call the Fireflies.ai Get Transcript operation with the incoming transcript ID. Pull the title, participants, summary, action_items, and the sentence list with timestamps and speaker names. The Get Transcript response already includes an action_items field plus the summary, so use those directly. Only re-derive action items from raw sentences if action_items comes back empty.

Step 2. Decide whether this is an engineering meeting. Compare the title and participant emails against a configurable allow-list (default examples: titles containing "Standup", "Sprint Planning", "Retro", "Incident Review", and a named set of engineering participants or an email domain). If neither the title nor the participants match, end the run with a short "skipped, not an engineering meeting" log and do not post or file anything.

Step 3. For each action item:

(a) Call the Linear Search Issues operation to check for an open issue with the same intent in the engineering team's projects (search by the action item phrasing, scoped to non-archived issues). If a clear match exists, skip creating a duplicate and keep a reference to that issue for the recap.

(b) Otherwise call the Linear Create Issue operation. Title the issue from the action item. In the description (Markdown), quote the relevant transcript moment, one or two sentences with the speaker's name, then add a link back to the Fireflies meeting URL. Infer the assignee from the participant who made the commitment (match the Fireflies speaker name or email to a Linear user via List Users if needed). Set priority from urgency words in the transcript: "blocker" or "production down" maps to Urgent (1), "this week" or "before launch" maps to High (2), everything else stays Normal (3). Route to a Linear team based on the topic mentioned in the transcript (for example backend, infrastructure, mobile, web); fall back to a configurable default team if the topic is not obvious. Use List Teams once to resolve team IDs.

Step 4. Finish by posting a recap to the engineering Slack channel using the Slack Bot Send a Message operation. Format it as Slack mrkdwn with these sections:

- One line with the meeting title and date.

- "Decisions" listing the decisions captured by Fireflies' summary.

- "Action items" listing each item with the owner tagged and the Linear issue URL. Mark items that were deduped against an existing issue (e.g. "(existing)").

- "Open questions" if Fireflies flagged any.

- A link to the full Fireflies recording at the bottom.

Configurable inputs (ask me to confirm on first run): the allow-list of meeting titles and participants that count as engineering meetings; the Slack channel for the recap; the default Linear team and the topic-to-team mapping; and the Fireflies-participant-to-Linear-user mapping for cases where display names do not line up.

Error handling: if Fireflies returns no action items and an empty summary, no Linear team can be resolved for an item, or the Slack post fails, log the error and post a short "I could not finish the recap for [meeting title], please check" note to the same Slack channel so the failure is visible instead of silent. Do not retry Linear Create Issue blindly on a non-rate-limit error, otherwise duplicate issues can leak through.

Related prompts

Explore more prompts
A brand asset library your marketing team actually searchesTurn Mailjet email clicks into ranked HubSpot follow-upsClean out the Looker dashboards and Looks nobody opensLiveKit live operations console for room moderationWake up dormant Keap leads with a researched reasonLiveChat coverage board for planning next week's shiftsPhone routing control panel for LiveKit voice agentsLinkedIn Ads budget pacing dashboard for every client accountGive your team Looker numbers without buying more seatsPause marketing emails to escalated customers, then restore them