Open a Linear ticket when a Cap recording fails to transcribe
Every six hours, sweep new Cap recordings for transcription failures, file a Linear ticket for each new one, and send a single Slack heads-up to support.
Build an agent workflow that runs on a cron schedule every six hours and watches for Cap recordings whose transcription failed, opens a Linear ticket for each new failure, and posts one batched heads-up to Slack at the end.
Step 1. Pull recent Cap recordings and find the failures. Call Cap List Videos to get every recording created in the last 24 hours. For each one, call Cap Get Video Status and look at transcriptionStatus. Keep only the recordings where transcriptionStatus is ERROR. Explicitly ignore SKIPPED and NO_AUDIO because those are expected and not real failures. Also ignore PROCESSING (still working) and COMPLETE (fine).
Step 2. Deduplicate against Linear. For each failed recording, call Linear Search Issues using the Cap video id as the search query. If a matching ticket already exists (open or recently closed), skip that recording. Only proceed to ticket creation when no existing ticket references the video id.
Step 3. File a Linear ticket per new failure. Use Linear Create Issue against a designated team (let the user pick the team during setup). Title format: "Cap transcription failed: <video id>". The description should be markdown and include: the recording name, the duration, the createdAt timestamp, the cap.so share URL, and a short suggested triage checklist with three items: re-check the audio source, retry the transcription, and escalate if the same uploader has multiple recent failures. Keep the description tight and skimmable.
Step 4. After all tickets are filed, send a single batched Slack heads-up via Slack Bot Send a Message to a designated support channel (let the user pick the channel during setup). The message should list every new ticket with its title and a clickable Linear link, plus a one-line summary like "3 Cap recordings failed transcription in the last 24h." If nothing failed, skip the Slack message entirely so the channel stays quiet on healthy days.
Judgement notes for the agent. Treat the dedup step as authoritative: never file a second ticket against a video id that already appears in Linear. If you see the same uploader has multiple failing recordings in this run, mention that in both the Linear description and the Slack summary so support knows to reach out proactively. If Cap returns no recordings in the window, finish silently with no Slack message.
Integrations to wire: Cap (List Videos, Get Video Status), Linear (Search Issues, Create Issue), and Slack Bot (Send a Message).
Additional information
What does this prompt do?
- Checks every Cap recording from the last 24 hours and finds the ones whose transcription failed, ignoring recordings with no audio or that were intentionally skipped.
- Searches Linear before filing anything so a recording that already has a ticket does not get a duplicate.
- Opens a Linear ticket for each new failure with the recording name, length, share link, and a short triage checklist your engineers can work from.
- Posts one batched Slack heads-up at the end with links to every new ticket so support can warn the affected customers.
- Runs on its own every six hours, so failures never sit overnight without anyone noticing.
What do I need to use this?
- A Cap workspace with developer access so the workflow can read your recordings and their processing status.
- A Linear workspace and a team you want failure tickets filed into.
- A Slack workspace and a channel where the support team should get the heads-up.
How can I customize it?
- Change the cadence. Six hours is a sensible default, but you can run it hourly during launches or once a day for lower-volume teams.
- Pick a different Linear team or add labels and a priority so the tickets land in the right triage queue.
- Choose the Slack channel and tailor the heads-up message, or split it into two messages: one for engineering, one for customer support.
Frequently asked questions
Will this open a duplicate ticket if the workflow runs again before the failure is fixed?
What about recordings that have no audio or were intentionally skipped?
Can I send the heads-up to more than one Slack channel?
Does this work if my engineering team uses GitHub Issues or Jira instead of Linear?
How fast will I hear about a failure?
Related templates
Stop letting failed Cap transcriptions slip through the cracks.
Connect Cap, Linear, and Slack once, and Geni will quietly watch for transcription failures, file the tickets, and tell your support team who to follow up with.