FlowRunner
PricingContact
Theme
Start Free

Read, write, and strip XMP metadata on media files inside FlowRunner with no API key or vendor account. Agents clean or stamp media metadata before an asset is published or archived.

7 actions No credentials available
Platform Documentation ↗ Capability data verified 2026-08-01
A photographer delivers a batch of images for a public campaign
Agent reads each file's embedded metadata with Read Metadata
Agent looks for GPS coordinates, creator names and internal keywords in the returned properties
Agent strips the XMP packet with Remove Metadata and stamps the approved rights statement with Write Metadata
Agent re-inspects the cleaned file to confirm what is still present
When identifying data survives the strip or the container cannot be written to, the brand owner decides whether the asset ships

What This Integration Enables

XMP Tools reads, writes and strips XMP metadata on media files inside FlowRunner, with no API key and no vendor account, and no outbound call beyond fetching the file you point it at. For an asset pipeline that matters twice: there is no credential attached to a step that handles unpublished creative, and the file's metadata is examined without being shipped to a third party to be examined. The connector returns a friendly summary of the properties flows usually need, covering title, description, creators, keywords, copyright, rating, camera make and model, capture date and GPS coordinates, alongside the complete property map keyed by qualified name and the namespace declarations found in the packet. It locates packets structurally in JPEG including ExtendedXMP reassembly, PNG, WebP and TIFF, and by raw byte scan in PDF and other containers. Writing and removal are supported for JPEG and PNG, with image data copied byte for byte so nothing is re-encoded and no quality is lost. The reader never resolves entities: a packet declaring a DOCTYPE is rejected outright, which takes XXE and entity-expansion risk off the table for files that arrived from outside.

Without FlowRunner

Metadata never inspected Nobody knows what an image carries until somebody else reads it
Location data travels with the file Shot coordinates from a home, clinic or site go out with the published asset
Rights applied by convention Copyright and licence terms live in a folder name rather than in the file

With FlowRunner

Every asset read on intake Title, creators, keywords, camera and GPS are extracted as a workflow step
Stripping is a verified step The cleaned file is re-inspected, and what the strip does not cover is stated
Rights written into the asset Copyright, usage terms and credit travel inside the file wherever it ends up

Use Case Scenarios

Cataloguing what arrived

A creative team receives several hundred images from a shoot. An agent calls Read Metadata on each one and gets back the caption, keyword list, credit line, rating and camera model without opening a single file by hand. It routes five-star images into the selects folder, files everything else, and writes the caption and credit into the asset record in Airtable so the copywriter working two weeks later has the photographer's own words rather than a filename. Language alternatives resolve to their default value while keeping every translation, so a multilingual caption set survives the read intact.

Stamping rights before an asset leaves

Before assets are pushed to the public library, an agent calls Build XMP Packet once with the campaign's copyright statement, usage terms, creator list and keyword set. Titles, descriptions, rights statements and usage terms are written as language alternatives, creators as an ordered sequence and keywords as an unordered bag, exactly as the specification requires, and anything outside the built-in list goes in as a custom qualified property. That single packet is then fed to Write Metadata for every asset in the batch, in Merge mode so the photographer's existing capture data is preserved and only the rights properties change. The stamped files are published through Cloudinary.

Routing an asset by what it says about itself

An agent handling incoming user-submitted photography calls Inspect Media File first, which reports the container format, file size, pixel dimensions, whether an XMP packet is present and how large it is, and whether this connector can write back into that container, without parsing anything. Files in a container that cannot be written to are branched to a re-export step. Files with no packet skip the read entirely. Files with a packet go on to Read Metadata, and the rating and colour label decide which review queue they land in. One cheap call decides the shape of everything downstream.

Human-in-Loop Highlight

The gate is a privacy claim the connector will not let a flow make carelessly. Remove Metadata strips every embedded XMP packet from a JPEG or PNG and stores the cleaned result as a new file, leaving the original untouched. What it does not do is remove legacy Exif and IPTC-IIM blocks, ICC profiles or other PNG text chunks, and those are exactly where a camera's GPS coordinates most often live. A flow that runs Remove Metadata and then reports "location stripped" is stating something stronger than the action performed, and publication is the point of no return: once an image with a home address encoded in it is on a public CDN, it has been copied. So before any asset reaches a public channel, the agent re-runs Inspect Media File and Read Metadata against the cleaned file, and when GPS coordinates or a creator name are still present, or when the container is TIFF, PDF or WebP where this connector reads but cannot write, it stops and asks the brand owner in Slack: "3 of 42 assets in the Harbour campaign still carry GPS after the XMP strip, because the coordinates are in an Exif block this action does not touch. 1 is a TIFF I cannot write to at all. Publish the clean 39 and hold these 4, re-export them, or publish all?" That is human-in-the-loop placed where an irreversible act meets a limit the agent is honest about rather than papering over.

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

Agent Capabilities

7 actions

Reading Metadata

3
  • Read Metadata Downloads a media file, locates its embedded XMP packet and returns the metadata as structured properties: a friendly summary covering title, description, creators, keywords, copyright, rating, camera make and model, capture date and GPS coordinates, plus the complete property map keyed by qualified name and the namespace declarations found. Packets are located structurally in JPEG including ExtendedXMP reassembly, PNG, WebP and TIFF, and by raw byte scan elsewhere. External entity resolution is disabled, so a packet declaring a DOCTYPE is rejected rather than parsed.
  • Extract XMP Packet Downloads a media file and returns its embedded packet as raw RDF/XML, either as text in the flow or saved as a sidecar file in FlowRunner file storage. Nothing is parsed or rewritten, so the packet comes back exactly as stored, which is what an external validator, an archive beside the original, or a copy onto another asset needs. Returns found as false rather than raising an error when the file carries no packet.
  • Parse XMP Packet Parses RDF/XML already in the flow, whether read from a sidecar, returned by another service or pasted into a field, with no download. Returns the same summary and property map as Read Metadata, so a packet can be inspected before it is written onto an asset. External entity resolution is disabled here too, which removes XXE and entity-expansion risk from untrusted input.

Writing Metadata

3
  • Build XMP Packet Generates a standards-compliant packet from a set of metadata fields and returns it as RDF/XML text without touching any file. Titles, descriptions, rights statements and usage terms become language alternatives with a default entry, creators an ordered sequence and keywords an unordered bag. Any property outside the built-in list can be added through custom qualified names. Used to build one packet and feed it to many write operations.
  • Write Metadata Writes XMP metadata onto a JPEG or PNG and stores the result as a new file, leaving the original untouched. Image data is copied byte for byte, so nothing is re-encoded and no quality is lost, and any existing packet is replaced rather than duplicated. Merge mode changes only the properties supplied; Replace mode makes the new packet the whole record. JPEG and PNG only, and a packet too large for a single JPEG segment is rejected rather than silently truncated.
  • Remove Metadata Strips every embedded XMP packet from a JPEG or PNG and stores the cleaned result as a new file, leaving the original untouched, with image data copied byte for byte. Used before publishing assets that may carry an author name, GPS coordinates, internal keywords or editing history. This removes XMP only: legacy Exif and IPTC-IIM blocks, ICC profiles and other PNG text chunks are left in place, so it is not a complete metadata scrub.

Inspection

1
  • Inspect Media File Reports what a media file is and whether it carries XMP, without parsing the packet or returning any metadata values. Returns the detected container format, file size, pixel dimensions where they can be read cheaply, whether a packet is present and how large it is, whether that packet uses JPEG ExtendedXMP, and whether this connector can write metadata back into that container. Used to branch a flow before choosing a read, write or conversion path, and to reject unsupported uploads early with a clear message.

Frequently Asked Questions

What can FlowRunner do with XMP Tools?

FlowRunner agents can run Read Metadata, Extract XMP Packet, and Parse XMP Packet in XMP Tools, plus 4 more actions.

Does connecting XMP Tools to FlowRunner require OAuth?

No. XMP Tools needs no credentials at all, so there is no key to obtain, store, or rotate.

Can XMP Tools trigger a FlowRunner workflow automatically?

XMP Tools doesn't currently expose triggers in FlowRunner. It connects as an action step inside workflows started by another trigger.

Start building with XMP Tools

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