Skip to content

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 toolStorm tool
You provideHandler code (Python, JS, or Lua)A topic file defining your taxonomy
InputAny JSON eventContent to classify (text or file)
OutputAny JSON resultTagged content
RuntimePython, JavaScript, or LuaStorm (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 tag
  • target_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

Next steps