Writing Code
Most work in Rival never requires code — RivalBot and the visual builders handle it. But when you need precise control, you can write real code in several runtimes. Reach for the builders first; reach for code when you need exact behavior they don’t express, or a bespoke integration.
The runtimes
Section titled “The runtimes”- Python 3.13 — the default for most logic, data work, and integrations; full PyPI access.
- Python 3.13 — Fast — instant cold starts and a curated package set, for latency-sensitive tasks.
- JavaScript — familiar syntax on a V8 engine; synchronous execution.
- Lua — the fastest-starting runtime, for lightweight logic.
- Storm — content classification against a taxonomy, with no handler code.
- MCP Servers — package tools and data behind the Model Context Protocol. See What is MCP.
How code is governed in the enterprise
Section titled “How code is governed in the enterprise”Whether a team member can author code, and whether their tools need admin approval before others use them, is set by role. See the Capability matrix.
A quick example
Section titled “A quick example”A data team needs a reconciliation rule no visual builder captures cleanly. They write a short Python tool that does exactly that, publish it through approval, and the rest of the org uses it as a building block in their own workflows — without ever seeing the code.