Sharing, teams, and agent-readable clips
This page is for anyone sharing a clip with people or agents, and for admins setting up a Clips organization. It covers who can see a recording, how teams and roles work, and how an outside agent reads a shared clip without downloading raw video.
Visibility, passwords, and expiry
- Share clips with per-clip permissions (public, team/organization, or private). Link tracking and threaded comments work too.
- Add a password or an expiry date on any clip from the Share dialog. Both only tighten access — they can never grant access the sharing rules above them would otherwise deny.
- Organization admins can set the default visibility new recordings get when nobody chooses one explicitly (see Organizations and teams below). Recordings default to public unless an admin changes that, and picking a visibility explicitly always wins over the default.
Embeds and Slack previews
Build an embed URL for a clip to drop it into a wiki page, an internal tool, or anywhere else that accepts an <iframe>. Supported query parameters:
| Param | Meaning |
|---|---|
?t=80 |
Start playback at 80 seconds |
?autoplay=1 |
Autoplay (muted — browsers block unmuted autoplay) |
?hideControls=1 |
Hide the player chrome |
?loop=1 |
Loop playback |
Public share links also preview as a playable, Loom-style video once your workspace installs its Clips Slack app — see Extending Clips for the Slack app setup steps. Only ready, public clips without a password, expiry hit, or archive/trash marker produce a playable Slack preview; anything else falls back to normal title/thumbnail link metadata.
Agent-readable clips
Paste a public Clips share link into an agent, or use Share → Copy in the Share with agents row to mint a temporary private agent link. Private, organization, and passworded clips do not need to become public: the copied URL carries a recording-scoped agent_access token that expires after two hours.
The share page advertises a compact agent context URL, and that context points to the transcript and frame APIs, so models that only accept text or still images can still understand what happened in the recording.
Any agent that can fetch an image URL into its vision — ChatGPT, Claude Code, Cursor, Codex, and MCP-connected agents — reads the transcript and sees the frames. A few text-only web chats read the transcript but won't pull frame images in on their own; there, upload a key frame or open the clip in an image-capable agent.
| Endpoint | What agents get |
|---|---|
/api/agent-context.json?id=<recordingId> |
Clip metadata, transcript status, chapters, CTAs, recommended frames, and links to the transcript/frame APIs |
/api/agent-transcript.json?id=<recordingId> |
Timestamped transcript segments with startMs, endMs, readable timestamps, text, and optional source labels |
/api/agent-frame.jpg?id=<recordingId>&atMs=<ms> |
A JPEG frame extracted from the video at an original-video timestamp |
The endpoints follow the same public/password/expiry rules as the share page, or accept the scoped agent_access token from a temporary agent link. Password-protected clips require the password once; successful responses return short-lived tokenized links so downstream agents do not need the plaintext password.
When transcript.status is pending, agents should wait 15-30 seconds and retry the context or transcript URL a few times before falling back to frames or reporting that no transcript is available. Long recordings can take several minutes to finish. Failed transcripts include failureReason; if Builder transcription credits are exhausted, the agent should explain that the user needs Builder.io credits/upgrade or a Groq key for backup speech-to-text — see AI Pipeline, Editing, and Insights for the full provider order.
Organizations and teams
Anyone can create an organization to share a Clips workspace with a team. Creating one makes you its first admin.
- Branding. Admins set a brand color and logo, shown across the shared workspace.
- Default visibility. Admins choose what new recordings default to (public, organization, or private) when nobody picks one explicitly.
- Invite members by email. An invite is either accepted or declined; admins can change a member's role or remove them later.
| Role | Can do |
|---|---|
| Admin | Invite and remove members, change roles, set branding and default visibility, plus everything a member can do |
| Member | Record, edit, and share their own clips; work in any space they've been added to |
CRM call evidence
CRM and sales automations sometimes need a durable link to a call recording as evidence on a deal, without pulling in the full clip. Clips supports exactly that one narrow handoff:
- It returns only an opaque clip id, a durable
https://.../r/<id>page, and optionally the capture time — never the video URL, a transcript, or a temporary access token. - It only runs for a recording you can already view, triggered by an explicit user action or an exact, user-approved automation — never to go fish for a plausible clip on someone's behalf.
approved automation only
A clip.created automation hands a CRM workflow a durable link, never the media itself.
What's next
- Clips — the overview
- Capturing Everywhere — desktop, mobile, and browser-log capture
- AI Pipeline, Editing, and Insights — what happens to a clip after it's shared and watched
- Extending Clips — the sharing data model, organization tables, and Slack app setup