Cron
Admin-only page (
Cron
in the sidebar, clock icon) for Python scripts that run on a schedule instead of per-event. The main use case: periodically pull data from a third-party service and refresh a
reference table
, so
enrichment
lookups stay current without someone re-uploading a CSV by hand. Because of that, a cron script gets real network access — unlike an enrichment function, which runs per-event with no network at all.
The catalog (/cron)
Create a job by typing a name and clicking
Create
. Each row shows its cron expression with a human-readable summary underneath, an
Active
toggle that starts/stops the schedule immediately (no need to open the editor), when it last ran and how long it took, and
History
/
Delete
.
Deactivating or deleting a job here is the only way to stop it — the editor page has no Active control of its own, so there's exactly one place that starts or stops a schedule.
The editor (/cron/[id])
Name
Plain text, editable any time — nothing external references a job by its name.
Schedule
One-click presets (every 15/30 min, hourly) plus small daily/weekly builders — all of them just write a plain 5-field cron expression into the editable field below, which stays the source of truth if you want to hand-edit it. The next three real fire times are computed and shown live, so you can double check an expression before saving it.
Timeout
Wall-clock limit for a single run, 1–300 seconds (default 30). Higher than an enrichment's 2-second budget, since these scripts do real network I/O.
Note
Optional rich-text note about the job, shown as a small sticky-note icon next to its name in the catalog and at the top of the editor — hover to preview without scrolling down.
Python script
Must define
def run():— no
eventargument, unlike an enrichment's
enrich(event).
requestsis available for real HTTP calls, and a
chomperhelper writes straight into a reference table:
chomper.push_reference_table(name, rows, key_column=None)
Anything printed shows up as stdout in the Test result.
Check syntax
does a quick
ast.parse-only validation before you run anything for real.
Test
This is a real run, not a dry run — network calls actually happen, and chomper.push_reference_table() really writes to the named table. It's the same executor a live scheduled run uses.
The result popover shows captured stdout first, then the returned result (or a structured Python error) and how long it took.
Version history
Every publish is snapshotted (
History
, top right of the editor) — the same versioned/restorable pattern as Enrichments. Only the script, name, and schedule text are versioned; the Active toggle and note aren't.
Limits
Cron jobs count against your plan's own limit, alongside dashboards, reference tables, and enrichments — check
your Server's tile
for current usage.
Last updated 14 July 2026