FlowRunner
PricingContact
Theme
Start Free

SproutVideo

Media & Video

SproutVideo is business video hosting with live streaming, viewer logins, playlists, captions, and engagement analytics. Agents upload and organize videos, manage subtitles and calls to action, grant viewer access, run live streams, pull analytics, and react when a video is deployed.

Verified 1 trigger 55 actions API key available
SproutVideo website Platform Documentation Capability data verified 2026-08-28
A partner asks for part of the training library to be embeddable on a new domain
Agent reads the request, the requesting domain, and the videos in scope
Get Account reads the current domain allowlist and the defaults every video inherits
Agent confirms which of the affected videos rely on the account default rather than their own override
Agent posts the proposed allowlist, before and after, with the number of videos it governs
The library owner approves the exact domain list, because an empty value here opens playback everywhere

What This Integration Enables

Most video hosts answer the question "will it play." SproutVideo is built around a harder one: who, from where, and for how long. Viewer logins are credentials that grant nothing on their own, access grants tie one login to one video with a play count and a window, and account level settings carry domain and IP allowlists, signed embeds, and download permissions that every video inherits unless it overrides them. That is the shape of a host chosen for training libraries, customer onboarding, gated product content, and live sessions that are not meant for the open internet.

FlowRunner agents work the full surface: upload and replace media, manage subtitle tracks and timed calls to action, build playlists and nested folders, provision logins and grants for a cohort, run and end live streams, and pull the analytics reports behind an engagement question. Agents also respect the boundary the platform itself draws. Replace Video keeps a video's id, embed code, and analytics while swapping the media, which is why a re-cut goes through it rather than a delete and re-upload. Read the API carefully and it tells you which operations were designed to be safe and which were not, and the ones that were not are where a person belongs.

Without FlowRunner

Access managed by link secrecy Sharing a video means sharing a URL and trusting it does not travel
Cohort provisioning by hand Each new group gets credentials created and videos assigned one at a time
Encoding state discovered by a viewer Someone embeds a video before it finishes processing and the page shows nothing

With FlowRunner

Access managed as named grants A viewer login is tied to specific videos with a play allowance and a date window
Cohorts provisioned in bulk An enrollment upstream creates the login and its grants in the same run
Encoding state checked before publish Flows filter on deployed, so an embed only ships once the video actually plays

Use Case Scenarios

A cohort provisioned the moment it enrolls

An enrollment lands in Teachable or a deal closes in HubSpot. The agent resolves the modules that group is entitled to, calls List Videos filtered on the deployed state so nothing unplayable gets assigned, and issues a viewer credential per learner with Create Login. Create Access Grants In Bulk then ties each login to its videos in one request, with a date window that matches the program. Because a bulk grant overwrites an existing grant for the same video and login pair rather than rejecting it, the agent always sends the complete field set rather than a partial payload. The roster summary posts to Slack for the program owner.

A re-cut that does not break a hundred embeds

Legal approves a corrected version of a compliance module. The agent uploads the new file through Replace Video, which keeps the video's id, embed code, settings, and view history intact, so every page and course that already embeds it keeps working. It then refreshes the caption track with Update Subtitle, uploads a new poster frame, and updates the timed call to action so the link points at the current policy page. Nothing on the site needed editing, because nothing about the video's identity changed.

A live session with its recording decided in advance

A webinar is scheduled in Zoom or on the events calendar. The agent calls Create Live Stream to mint the stream key, sets the archive behavior and the reconnect window up front, and posts the key to the production channel. During the broadcast it watches the state vocabulary, which is rich enough to distinguish an encoder that dropped from a broadcast that finished, and alerts the producer on a disconnect. Afterward it pulls Get Live Stream Analytics and appends the numbers to a sheet in Google Sheets for the quarterly report.

Human-in-Loop Highlight

Update Account Settings is the most dangerous operation on this connector and it does not look like it. It writes account wide defaults, which means every video that has not set its own override inherits the change at once, and the domain and IP allowlists are among those defaults. Clearing an allowlist is done by setting it to an empty string, and an allowlist that has been cleared permits playback everywhere. There is no undo for a library that spent an afternoon publicly embeddable, because you cannot un-see a URL that was scraped. So the agent stages the change and stops. It posts: "Partner requested embedding on learn.northgate-partners.com. Current account allowlist: 3 domains, inherited by 214 videos including the 38 in the compliance library. Proposed: add the one domain, keep the existing three. Approve this exact list, and confirm you do not want the allowlist cleared." The library owner approves the list, the agent writes it and reads it back with Get Account to confirm the stored value is a list rather than an empty string. The agent did the inventory. The person decided who gets to watch.

Agent processes routinely
Detects exception requiring judgment
Clear match Continues automatically
Ambiguous Routes to human via preferred channel
Human decides
Agent resumes with decision

Agent Capabilities

55 actions

Account

2
  • Get Account Reads the account: plan allowances for storage, bandwidth, and live streaming, the current billing period's usage, and every account wide player and security setting. Also the cheapest connection test, since it needs no ids.
  • Update Account Settings Changes account wide defaults such as domain and IP allowlists, signed embeds, download permissions, and live stream archiving. These are the defaults every video inherits unless it overrides them, so a change here reaches the whole library at once. The operation this page's human gate exists for.

Videos

9
  • List Videos Lists videos with filters for tag, privacy, encoding state, and folder, plus sorting and paging. A video is only playable once its state reads deployed, so publishing flows filter on that.
  • Get Video Reads one video in full, including its embed code, dimensions, duration, play count, encoding progress, and asset URLs. Those asset URLs only resolve when API File Access is enabled, and enabling it makes them downloadable by anyone holding them.
  • Upload Video Uploads a video, either by handing SproutVideo a public URL to fetch or by copying the bytes from a URL the flow can reach. Setting a notification URL is worth doing, since encoding is asynchronous.
  • Update Video Updates a video's metadata, privacy, download permissions, and tags. Tags here replace the existing set rather than adding to it, and an empty array clears them.
  • Replace Video Replaces a video's media while keeping its id, embed code, analytics, and settings. The right operation for a re-cut, because a delete and re-upload produces a new id and breaks every published embed.
  • Upload Poster Frame Uploads a custom poster frame from a URL. It overwrites any previously uploaded poster and becomes the selected one.
  • Delete Video Deletes a video and returns its final record. Every embed of it stops working and its analytics go with it.
  • Create Upload Token Creates a token that lets a browser upload straight to SproutVideo without the bytes passing through the flow. Preset values overwrite whatever the browser sends and anything outside the allowed inputs list is ignored, so a token cannot set a privacy level or folder you did not intend.
  • Get Video States Returns SproutVideo's encoding state vocabulary with what each state means, so a flow can branch on them without guessing.

Tags

5
  • List Tags Lists the account's tags, each with the ids of the videos carrying it.
  • Get Tag Reads one tag and the ids of every video carrying it.
  • Create Tag Creates a tag. Often unnecessary, since Upload Video creates tags on the fly during an import.
  • Update Tag Renames a tag. Every video carrying it keeps the association.
  • Delete Tag Deletes a tag. The videos carrying it are untouched and simply lose the label.

Subtitles

5
  • List Subtitles Lists a video's subtitle tracks with each track's language, published state, and whether it came from automated transcription. An unpublished track exists but never appears in the player.
  • Get Subtitle Reads one subtitle track including its full WebVTT content, which is how a caption file is retrieved for editing or translation.
  • Create Subtitle Adds a subtitle track from WebVTT content, sent inline rather than as a file upload. It is published by default.
  • Update Subtitle Updates a track's content, language, or published state. Turning Published off hides a caption from the player without deleting it.
  • Delete Subtitle Removes a subtitle track permanently. To hide a track temporarily, unpublish it instead.

Calls To Action

5
  • List Calls To Action Lists a video's calls to action, each with its text, link, and the seconds between which it is shown.
  • Get Call To Action Reads one call to action on a video.
  • Create Call To Action Adds a clickable prompt over a video between two timestamps. All four fields are required, so a prompt meant to run to the end still needs an explicit end time.
  • Update Call To Action Updates a call to action's text, link, or timing. Only the fields sent are changed.
  • Delete Call To Action Removes a call to action from a video.

Playlists

5
  • List Playlists Lists the account's playlists with their videos and embed codes.
  • Get Playlist Reads one playlist, including its ordered video ids and embed code.
  • Create Playlist Creates a playlist from an ordered list of videos. Playlists support privacy levels 0 to 2 only, so gating a series behind a login means gating each video.
  • Update Playlist Updates a playlist's metadata, privacy, or contents. The video list replaces the contents in the order given, so reordering and adding are the same call.
  • Delete Playlist Deletes a playlist. The videos in it are untouched.

Folders

5
  • List Folders Lists folders, optionally only those inside a given parent. A folder with a null parent sits at the root.
  • Get Folder Reads one folder and its parent.
  • Create Folder Creates a folder, optionally nested inside another. Folders hold both videos and other folders.
  • Update Folder Renames a folder or moves it under a different parent.
  • Delete Folder Deletes a folder. By default its contents move to the root rather than being destroyed, which is a deliberately safe default. Delete Contents changes that and the videos inside cannot be recovered.

Viewer Access

11
  • List Logins Lists the viewer logins on the account. A login is a viewer credential for watching login protected videos, not an account user, and grants no access to the SproutVideo account itself.
  • Get Login Reads one viewer login and the ids of the access grants attached to it.
  • Create Login Creates a viewer login. On its own it grants access to nothing until an access grant ties it to a specific video.
  • Update Login Password Changes a viewer login's password. The email address cannot be changed here, so correcting an address means a new login and moved grants.
  • Delete Login Deletes a viewer login, revoking every access grant attached to it at once. The operation for cutting off a departed viewer.
  • List Access Grants Lists access grants, optionally narrowed to one video or one login. Each grant carries its play allowance, its window, and how many plays have been used.
  • Get Access Grant Reads one access grant, including its play count against its allowance and its download permissions.
  • Create Access Grant Grants one login access to one video, optionally limited by a play count and a date window. An allowed play count of 0 means unlimited rather than none, and empty dates mean access starts immediately and never expires.
  • Create Access Grants In Bulk Creates up to 100 access grants in one request, which is how a cohort is granted a course without exhausting the rate limit. An existing grant for the same video and login pair is overwritten rather than rejected, so a partial payload silently resets the fields it omits.
  • Update Access Grant Updates a grant's play allowance, window, download permissions, or watermark setting. The login and video it connects cannot be changed.
  • Delete Access Grant Revokes one access grant. The login itself and its other grants are untouched.

Live Streams

6
  • List Live Streams Lists live streams with the same filters as videos. The state vocabulary is richer than video's, so a flow can tell an encoder that dropped from a broadcast that finished.
  • Get Live Stream Reads one live stream, including the stream key an encoder needs, its current state, and its latency and reconnect settings.
  • Create Live Stream Creates a live stream and returns the stream key to point an encoder at. The archive setting decides whether a recording survives the broadcast at all, and the reconnect window decides how long a dropped encoder has to return.
  • Update Live Stream Updates a live stream's title, privacy, or archiving behavior. The stream key does not change.
  • End Live Stream Ends a live stream immediately and disconnects the encoder. It cannot be resumed, and whether a recording survives depends on the archive setting in force when it ended.
  • Delete Live Stream Deletes a live stream and its stream key. Any encoder configured against that key stops working.

Analytics

2
  • Get Analytics Returns one of SproutVideo's analytics reports, for the whole account or one video. Analytics is a plan feature, so an account without it returns no data rather than an error.
  • Get Live Stream Analytics Returns a live streaming analytics report, for the whole account or one stream, including an overview report that has no video equivalent.

Triggers

1 triggers

Event Triggers

1
  • On Video Deployed Fires when a video finishes encoding and becomes playable, and optionally when one fails. SproutVideo's only push notification is a per upload notification URL rather than a subscription, so this trigger polls the video list instead, with a configurable interval.

Frequently Asked Questions

What can FlowRunner do with SproutVideo?

FlowRunner agents can run Get Account, Update Account Settings, and List Videos in SproutVideo, plus 52 more actions.

Does connecting SproutVideo to FlowRunner require OAuth?

No. SproutVideo connects to FlowRunner with an API key, no OAuth flow required.

Can SproutVideo trigger a FlowRunner workflow automatically?

Yes. SproutVideo supports 1 trigger that can start a FlowRunner workflow automatically.

Start building with SproutVideo

$100 in credits. No card required. Connect in minutes.