What is Storm?
Storm is Rival’s content tagging engine. You provide a topic file - a document that defines the topics, categories, or tags you want to classify against - and Storm takes any incoming content, reads it against that taxonomy, and returns the tagged result.
There is no code to write. You define what to tag against, and Storm handles the classification.
How Storm differs from regular tools
A Function tool requires you to write a handler - code that runs when the tool is called. Storm works differently: instead of writing logic, you upload a topic file that defines your classification taxonomy. Storm does the rest.
| Function tool | Storm tool | |
|---|---|---|
| You provide | Handler code (Python, JS, or Lua) | A topic file defining your taxonomy |
| Input | Any JSON event | Content to classify (text or file) |
| Output | Any JSON result | Tagged content |
| Runtime | Python, JavaScript, or Lua | Storm (set automatically) |
What is a topic file?
A topic file is a document that lists the topics, categories, labels, or tags you want to classify incoming content against. It’s your source of truth - Storm reads this file to understand your taxonomy.
Your topic file could define:
- Product categories for an e-commerce catalog
- Content themes for a media pipeline
- Compliance tags for a document review workflow
- Subject areas for academic content
- Support ticket categories for a customer service team
The topic file is uploaded as a Digital Asset in Rival. When you create a Storm tool, you point it to that asset. When someone runs the tool, Storm reads the incoming content against your topic file and returns the tagged result.
Updating your taxonomy is as simple as uploading a new topic file - no code changes required.
How a Storm execution works
When you run a Storm tool, you pass an event with:
topic_file- the file reference path of your topic asset (copy it using the Copy Ref button in Digital Assets)source_asset_id- the UUID of the asset containing content to tagtarget_asset_id- the UUID of the asset to write tagged results into
{ "topic_file": "assets/your-org/taxonomy.txt", "source_asset_id": "a1b2c3d4-...", "target_asset_id": "f9e8d7c6-..."}Storm reads the source content, classifies it against your topic file, and writes the tagged output to the target.
You can also pass text directly for smaller inputs:
{ "topic_file": "assets/your-org/taxonomy.txt"}When to use Storm
Storm is a good fit when you need to:
- Automatically tag large volumes of documents, articles, or support tickets
- Classify incoming content against a fixed or frequently-updated taxonomy
- Apply consistent labeling across files without writing classification rules
- Let non-technical users update the taxonomy by editing a topic file