Open a Linear ticket when a Cap recording fails to transcribe

By General Input

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.

Integrations

  • Cap
  • Linear
  • Slack Bot

Type

Agentic Task

Categories

  • Engineering
  • Operations

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).

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