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.
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.).
FAQs
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
Every six hours we check each ship on your watchlist for unexplained tracking gaps and off-port transfers, then log real findings and alert your team.
Open one place to see every candidate site mapped with 5, 10 and 15 minute drive time areas, competitor counts, and a site brief you can defend.
See what your competitors are running on Google, Meta and LinkedIn in one screen, save the best ads to a shared Notion swipe file, and get a teardown on demand.
Pick a brand, competitor, category or hashtag and get persona cards from real social conversation, saved each quarter so you can track how your audience shifts.
Open one screen each Monday to see which upcoming posts still have no image, generate three on-brand options, and file the one you pick.
See how your brand's news coverage and sentiment stack up against four competitors, then let an assistant write the weekly report for you.
Stop losing track of screen recordings.
Connect Cap and Notion once, and Geni keeps your team's recording library up to date every hour.