Turn engineering meetings into Linear issues and a Slack recap
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.
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.
Additional information
What does this prompt do?
- Watches Fireflies for finished engineering meetings like standups, sprint planning, retros, and incident reviews, and skips anything that is not on your allow-list.
- Turns every action item from the meeting into a Linear issue with the relevant transcript moment quoted and a link back to the recording.
- Posts a clean recap in your team's Slack channel with the decisions, owner-tagged action items, and any open questions.
- Reuses existing Linear issues across recurring meetings so the same commitment does not get filed twice.
What do I need to use this?
- A Fireflies.ai account that records your engineering meetings
- A Linear workspace, plus the team or teams you want issues filed in
- A Slack workspace and the channel where the recap should post
- A short allow-list of meeting titles or participants that count as engineering meetings
How can I customize it?
- Adjust the allow-list of titles or participants so only the meetings you care about trigger the workflow.
- Change which Linear team an issue gets routed to based on topic, like backend, infrastructure, mobile, or web.
- Decide how urgency words such as blocker, before launch, or this week map to Linear priorities.
- Pick a different Slack channel for the recap, or DM the engineering manager instead of posting to a channel.
Frequently asked questions
Does this work for every kind of meeting?
What if Fireflies did not extract clean action items?
How does it know who owns each action item?
What happens if the same action item comes up week after week?
Can I run this for more than one engineering team?
Stop writing Linear tickets from meeting notes.
Connect Fireflies, Linear, and Slack once, and Geni files every action item the moment a meeting is processed.