JW Player
CMS & ContentManage a JW Player video library from your workflows. Agents ingest videos from external URLs with metadata set at creation, update titles, descriptions, and tags, check encoding status before publishing downstream, and list media and playlists.
What This Integration Enables
A video library is infrastructure, not a folder of files. Every media ID in a JW Player property is a live endpoint that players across your sites and apps resolve at view time, which means the library deserves the same discipline as any production system: automated ingest, status-gated releases, synced metadata, and audited cleanup. FlowRunner agents run that discipline. They ingest renders by URL the moment an upstream step produces them, hold publishing until the encoder reports ready, and keep titles, descriptions, and tags aligned with the CMS that editorial actually maintains. The people who make the videos never touch the dashboard, and the property still behaves like someone curates it daily. - Ingest videos from any publicly accessible URL, with title, description, tags, and author set at creation - Poll encoding status and gate downstream publishing on ready - Update metadata partially and safely: only provided fields change, and nothing re-encodes - Search and enumerate the library with free-text search across titles, descriptions, tags, and status - List playlists, including manual, dynamic, and recommendations types, for placement decisions - Keep permanent deletion behind [human-in-the-loop](/concepts/human-in-the-loop) review
Without FlowRunner
With FlowRunner
Use Case Scenarios
Render to published post without a dashboard login
A production workflow finishes a tutorial video and stores the MP4. The agent passes the download URL to Create Media from URL with the title and campaign tags already set, then polls Get Media until status reads ready. It notifies the content team in [Slack](/integrations/slack) with the preview, and once the owner approves the encode, the agent creates the article in [WordPress](/integrations/wordpress) with the media ID embedded. The gap between final render and live post is however long the encoder and one human review take, not however long the upload sits in someone's task list.
The metadata sync that ends title drift
Editorial manages video titles, descriptions, and tags in the CMS, but the player shows what JW Player has. A nightly agent walks List Media, compares each record against the CMS entry, and calls Update Media on mismatches, changing only the drifted fields. Because updates are partial and never touch the video file, the sync is safe to run every night. Search on the site, recommendations in playlists, and analytics groupings all inherit the corrected metadata, and the CMS becomes the single place anyone edits.
Library inventory that makes cleanup an evidence-based decision
Quarterly, an agent pages through List Media and List Playlists and writes the full inventory to [Google Sheets](/integrations/google-sheets): media ID, title, duration, encoding status, tags, and which playlists reference each video. Stale candidates, videos with dead tags and no playlist membership, get flagged in a review tab. The content owner works the tab, marks what dies, and the agent executes only the approved deletions. The library stays lean without anyone deleting from memory.
Human-in-Loop Highlight
Delete Media removes the hosted video and its metadata permanently, and the blast radius is every embed that references the media ID: pages, apps, and playlists all go dark on that video the moment it disappears, with no undo on JW Player's side. Worse, if the original render no longer exists upstream, the deleted encode was the last copy. So FlowRunner agents never delete media inside an unattended loop. The cleanup sweep builds the case per video: "Media a1b2c3d4, 'Q3 webinar teaser', not in any playlist, tags reference a campaign that ended in January. Delete?" The content owner confirms, the agent runs Delete Media and records the confirmation it returns. A wrong metadata update costs one more Update Media call. A wrong deletion costs a video you may not have anymore.
Agent Capabilities
6 actionsMedia
5- List Media Lists the videos hosted in the property, newest first, with free-text search across titles, descriptions, tags, and status, plus page-based pagination and a total count. The inventory and lookup step behind audits and syncs.
- Get Media Retrieves the full record for a single media item by ID, including metadata, hosting type, encoding status, duration, and delivery details. The polling step that gates publishing on ready.
- Create Media from URL Creates a new media item by ingesting a video from a publicly accessible download URL, with title, description, and tags set at creation. JW Player fetches, transcodes, and hosts the file, and status progresses from processing to ready asynchronously.
- Update Media Updates a media item's metadata: title, description, tags, or author. Only provided fields change, omitted fields stay untouched, and nothing is re-uploaded or re-encoded. The safe workhorse of nightly metadata syncs.
- Delete Media Permanently deletes a media item, removing the hosted video and its metadata. Cannot be undone, and every embed referencing the media ID goes dark. The operation this page's human gate exists for.
Playlists
1- List Playlists Lists the playlists configured in the property, including manual, dynamic, and recommendations playlists, with pagination and a total count. Used to check placement and reference before cleanup or reporting.
Frequently Asked Questions
What can FlowRunner do with JW Player?
FlowRunner agents can run List Media, Get Media, and Create Media from URL in JW Player, plus 3 more actions.
Does connecting JW Player to FlowRunner require OAuth?
No. JW Player connects to FlowRunner with an API key, no OAuth flow required.
Can JW Player trigger a FlowRunner workflow automatically?
JW Player doesn't currently expose triggers in FlowRunner. It connects as an action step inside workflows started by another trigger.
Start building with JW Player
$100 in credits. No card required. Connect in minutes.