Skip to content

Storm

Storm is Rival’s content tagging engine. Unlike Function and MCP tools, a Storm tool has no handler code. Instead, you upload a topic file - a document that defines the topics, categories, or tags you want to classify against - and Storm reads incoming content against that file and returns the tagged result.

In the Studio editor, choose Storm as the tool type. The Code step is replaced by a topic-file configuration: no cortexone_function.* file, no handler. The platform handles all tagging execution.

For background on the engine, see What is Storm.


When to use Storm

Use Storm when you need to:

  • Classify documents, articles, tickets, or any text against a predefined taxonomy
  • Tag large volumes of incoming content automatically
  • Apply consistent labeling without writing classification logic
  • Keep your tagging taxonomy updatable without changing any code

For general-purpose logic or computation, pick a Function tool in Python, JavaScript, or Lua instead.


How a Storm tool runs

A Storm tool execution involves three things:

  • A topic file - the digital asset that defines what to tag against (your taxonomy)
  • A source - either a JSON payload or a digital asset containing the content to tag
  • A target - either inline JSON output or a digital asset to write the tagged result into

Input types

Input typeDescription
Text (JSON)Pass a JSON object directly in the event
Data sourceReference a digital asset by its ID (source_asset_id)

Output types

Output typeDescription
JSONThe result is returned as a JSON object
Data outboundResults are written to a digital asset (target_asset_id)

Storm event format

When executing a Storm tool, the event payload follows this structure.

Text input → JSON output

{
"topic_file": "search terms or content string here"
}

Digital asset input → digital asset output

Use the Copy Ref button in the Digital Assets section to get the topic_file path, and the asset UUID for source_asset_id / target_asset_id:

{
"topic_file": "assets/org-slug/my-dataset.csv",
"source_asset_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"target_asset_id": "f9e8d7c6-b5a4-3210-fedc-ba0987654321"
}

The topic_file field is always required. source_asset_id and target_asset_id are used when working with file-based digital assets.


Digital assets

Digital assets are files stored in the platform’s cloud storage. The Digital Assets section lists all assets in your organization.

Each asset has two identifiers you need for Storm:

What to copyWhere to find itUsed as
File reference (asset.file)Click Copy Ref button on the assettopic_file field in your event
Asset ID (UUID)Shown on the asset detail pagesource_asset_id or target_asset_id

Using Copy Ref for topic_file

The Copy Ref button copies the file reference path (asset.file). Paste this directly into the topic_file field of your execution event:

{
"topic_file": "assets/org-slug/my-dataset.csv"
}

Using asset IDs for input/output

When your Storm tool reads from or writes to a digital asset, pass the asset UUID:

{
"topic_file": "assets/org-slug/my-dataset.csv",
"source_asset_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"target_asset_id": "f9e8d7c6-b5a4-3210-fedc-ba0987654321"
}
  • source_asset_id - the asset the Storm engine reads as input
  • target_asset_id - the asset the Storm engine writes results into

You can also select digital assets directly in the Storm test UI without typing IDs manually.


Testing a Storm tool

Test runs live in the Test panel inside the Code step of the Tool Editor - just like Function and MCP tools - but the panel is tailored to Storm:

  1. Choose Input type: Text or Data Source
    • Text: enter a JSON payload in the editor
    • Data Source: pick a digital asset from the picker
  2. Choose Output type: JSON or Data Outbound
    • JSON: results appear inline
    • Data Outbound: pick a target digital asset to write into
  3. Click Run to execute

See Testing & Executing for the full workflow.


Storm tool configuration

When creating a Storm tool, you provide a digital asset ID (digital_asset_id) that points to your topic file. This is set in the Code step of the Tool Editor.

Unlike Function and MCP tools where you write source code, a Storm tool references an uploaded topic file from Digital Assets. The platform handles all tagging execution - you do not write any classification logic.


Notes

  • Storm tools cannot be switched to a different tool type after creation.
  • The digital_asset_id (your topic file) is required when creating a Storm tool - without it, the tool cannot be saved.
  • Storm tools follow the same pricing, versioning, and publishing workflow as Function and MCP tools.
  • Storm is designed for content tagging and classification - for general-purpose computation, build a Function tool instead.