Trigger
Manual — run on demand after an acquisition closes, or when a new batch of catalog data is ready to reconcile.Composer Structure
This workflow uses a Composer with two automations in sequence:- Import External Roster — fetches the external system’s data and stores it locally
- Match & Sync — matches Royaltyport catalog against the imported data and syncs results back
Automation 1: Import External Roster
Fetch external data
An API Request step calls the external system’s API (e.g. Dynamo, a custom CRM, or a data warehouse endpoint) to pull the current artist and track roster — names, ISRCs, UPCs, and any internal IDs.
Loop and store
A Loop step iterates over the response. Inside each iteration, a Database step upserts each record into an automation database table (e.g.
external_roster) with columns for external ID, artist name, track title, ISRC, and UPC.Automation 2: Match & Sync
Pull Royaltyport catalog
An API Request step with the Royaltyport API preset pulls the newly ingested catalog — recordings, ISRCs, artist names, and metadata.
Loop over recordings
A Loop step iterates over each Royaltyport recording. Inside the loop, a three-tier matching cascade runs against the
external_roster table:- Absolute match — a Code step queries the automation database for an exact ISRC or UPC match.
- Embedding search — if no exact match is found, a Transformer step performs a semantic similarity search against the artist names and track titles in the
external_rostertable. - Confidence scoring — for candidates found via embedding, a Validator step evaluates the match and outputs
match: true/falsewith aconfidencescore.
Sync to external system
Branch on the final match result:
- Match found — an API Request step updates the existing record in the external system with all Royaltyport values (metadata, rights, identifiers), using the external ID from the matched
external_rosterrow. - No match — an API Request step creates a new record in the external system from the Royaltyport data.
Key Features Used
- Composer with two sequenced automations (import, then match)
- Automation database as a local cache of external data
- Branching to route by confidence score and match result
- Review step with wait mode for human-in-the-loop approval
- Royaltyport API preset for authenticated catalog queries
- Three-tier matching: exact → semantic → validated
Related Documentation
Databases
Create and manage the automation database for external roster data.
Branching
Route workflows based on step output values.
Review
Pause workflows for human approval.
More Examples
Browse all example workflows.