Skip to Content

Jobs

Jobs call your webhooks. A job sends one HTTP request to a URL, either when an operator presses Run or automatically on a schedule.

Jobs has no module On/Off switch. It is always available on a game, and each job is paused or resumed on its own.

Webhook request

FieldDescription
URLThe endpoint RoControl calls
MethodGET, POST, PUT, or PATCH
HeadersOptional, one Name: value per line
JSON bodyOptional JSON sent with the request

Headers and the JSON body are under Headers, body and limits in the job editor.

If the JSON body is empty, RoControl sends this payload:

{ "jobId": "JOB_ID", "gameId": "GAME_ID", "trigger": "schedule", "runAt": "2026-05-08T18:00:00.000Z" }

trigger is manual when the job was started with Run, and schedule when it ran on its schedule.

Trigger

TriggerValueUse it for
Only when I run itMANUALKeep the job available for one-click operator runs
On a scheduleSCHEDULERun once or repeat automatically

Schedule options

OptionDescription
First runDate and time of the first run
RepeatOnce, every hour, every day, every week, every month, or every year
Every NInterval for the repeat, for example every 2 days
Retries after a failure0 to 10 extra attempts when the webhook call fails

Condition: only run between

A job can have an optional Only run between condition (TIME_WINDOW) with a start time and an end time. Outside that window the job is skipped instead of calling the webhook.

Run and Pause

  • Run tries the job once, right away. It does not move the schedule: the next scheduled run stays the same.
  • Pause holds a scheduled job until you Resume it. Jobs are paused and resumed one by one from each job’s menu.

Job status

StatusMeaning
ActiveWaiting for its next run, or ready to run
PausedSchedule on hold until the job is resumed
DoneA scheduled job with no runs left, such as a Once job that has run
FailedThe last scheduled run failed and no retries were left

Example: announce a weekend event

Create a scheduled job:

Name: Announce weekend event Method: POST URL: https://example.com/liveops/event When: On a schedule First run: 2026-05-08 18:00 Repeat: Every week Retries after a failure: 2 JSON body: { "content": "Lucky Weekend starts now!" }

Operator flow:

  1. Open the game in the sidebar and select Jobs.
  2. Click New job.
  3. Name the job, then choose the method and enter the URL.
  4. Under When, choose On a schedule.
  5. Set the first run, the repeat, and the interval.
  6. Open Headers, body and limits to add the JSON body and retries.
  7. Click Create job and check the run summary in the job list.

Example: webhook notification

Use a manual job when an external system needs to know about a liveops action that an operator starts.

{ "name": "Notify Discord Bridge", "triggerType": "MANUAL", "method": "POST", "url": "https://example.com/liveops/event", "body": { "game": "Arena Events", "event": "Lucky Weekend", "state": "started" } }

Press Run whenever the action happens.

Safe operation checklist

Before saving a scheduled job for a live game:

  1. Confirm the game and the URL.
  2. Test the endpoint once with Run.
  3. Check the first run time and the repeat.
  4. Add an Only run between window if a run outside the event would be risky.
  5. Set retries only when the endpoint is safe to call again.