Sync Cap recordings to a Notion library
Every hour, your team's new Cap screen recordings show up in one searchable Notion database with names, durations, and share links.
Build me a code workflow that runs every hour on a cron and syncs new Cap screen recordings into a Notion "Recording Library" database. The goal is one searchable team-wide home for every Cap recording, with no duplicates across re-runs.
Trigger: cron, every hour. Cap does not have a first-class poll trigger, so cron plus List Videos is the right pattern.
Step 1, pull recordings from Cap. Call Cap List Videos with limit 100 ordered by createdAt descending. For each row, call Cap Get Video to fetch the full metadata (id, name, duration, transcriptionStatus, createdAt, externalUserId).
Step 2, dedupe against Notion. For each Cap video, call Notion Query a Data Source against the Recording Library database filtered on the recording id property equal to the Cap id. If a matching page already exists, skip it. Treat the Cap id as the unique key so re-runs never create duplicates.
Step 3, write new recordings to Notion. For each recording that did not already exist, call Notion Create a Page in the Recording Library database with these properties populated: Recording ID (the Cap id, the unique key), Name, Duration, Transcription Status, Created At, External User ID (creator), and Share URL built as https://cap.so/s/{id}.
Configuration the user should set at setup time: their Cap credential, their Notion credential, and the Notion data source id for their Recording Library database. The workflow should be fully deterministic with no branching and no AI steps.
Additional information
What does this prompt do?
- Watches your Cap account every hour for newly created screen recordings.
- Adds each new recording as a row in your Notion Recording Library database with name, duration, share link, and creator.
- Checks the database first so re-runs never create duplicate rows.
- Gives your team one searchable home for every screen capture instead of scattering links across chat and email.
What do I need to use this?
- A Cap account with a developer Secret Key (created in Cap's Developers dashboard).
- A Notion workspace with a database set up for recordings, with properties for the recording id, name, duration, transcription status, created date, creator, and share link.
- The Notion database shared with your General Input connection so the workflow can read from it and add new rows.
How can I customize it?
- Change how often the sync runs, for example every 15 minutes or once a day.
- Filter to only sync recordings from specific people on your team by external user id.
- Add or remove the recording details that get saved to Notion (thumbnails, tags, project, etc.).
Frequently asked questions
How does it avoid duplicates when it runs every hour?
Can I point this at an existing Notion database?
Will it backfill recordings that were created before I set this up?
Does this cover recordings made by every member of my team?
Do I need to write any code to use this?
Related templates
Stop losing track of screen recordings.
Connect Cap and Notion once, and Geni keeps your team's recording library up to date every hour.