Skip to main content
Admin panel

Database

Database

The Runner keeps a local database for the run queue, schedule records and WhatsApp messages. The Database tab is where you choose which database it uses and clear out what has piled up.


Database types

Internal

The Runner uses an embedded database it manages itself. Nothing else to configure — the simplest option, and the right one for most cases.

External

The Runner connects to a database already installed on the machine or on another server. Use this when:

  • Your organisation already runs managed database infrastructure
  • You need more control over the data (backups, monitoring, and so on)
  • The environment requires a database shared between several services

Supported external databases:

DatabaseDefault port
MySQL3306
MariaDB3306
PostgreSQL5432
SQL Server1433

What is stored

Whichever type you choose, the Runner always uses a database called roberty, with three tables:

runs — run history

ColumnWhat it is
idThe run's identifier
robotKeyThe robot that ran
instanceIdThe robot instance/configuration that ran
statusNot started, Running or Finished
scheduledWhether a schedule started it (true) or a person did (false)
exitCodeThe process' exit code (0 = success)
errorThe error message, if the run failed
startedAt / finishedAtWhen the run began and ended
stdout / stderrStandard and error output during the run
stdoutFilePath / stderrFilePathPath to the file with the full log
errorScreenshotPathScreenshot taken at the moment of the error
argsFilePathPath to the file with the arguments the run used
uploadStatusTracks sending the run to Roberty Studio: Not sent, Sending or Sent
uploadErrorThe error raised while sending the data to the Studio
createdAt / updatedAtWhen the record was created and last changed

schedules — scheduling rules

ColumnWhat it is
idThe rule's identifier
robotKeyThe robot the rule belongs to
instanceIdThe instance the rule belongs to
rulesThe list of rules — days (of the week, of the month, or specific dates) and time (a window, a fixed interval, or specific times)
createdAt / updatedAtWhen it was created and last changed

whatsapp_messages — the WhatsApp message queue

ColumnWhat it is
idThe message's identifier
toThe destination number
typetext or media
contentThe message text (or the caption, for media)
mediaPathPath to the media file, when type is media
instanceNameThe WhatsApp instance/connection that sent it
statusPending, Queued or Processed
errorThe sending error, if there was one
sentAtWhen it was sent
createdAt / updatedAtWhen it was created and last changed
Deletion is reversible

Records removed — by hand or by the database cleanup — are not actually erased: they are marked as deleted but stay stored.


Configuring the database

Internal

  1. In the admin panel, open the Database tab.
  2. Under Database type, choose Internal.
  3. Click Save.

External

  1. Under Database type, choose External.
  2. Pick the database in the dropdown (MySQL, MariaDB, PostgreSQL or SQL Server).
  3. Fill in the connection fields:
FieldWhat it is
PortThe database's port
UserA user with access to the database
PasswordThat user's password
HostThe server's address (e.g. localhost or an IP)
  1. Click Save.
Restart required

Database changes only take effect after the Runner is restarted.


Connecting to the database directly

The tables above can be queried directly, from any database client (DBeaver, HeidiSQL, MySQL Workbench, SQL Server Management Studio, and so on) or even from a Roberty robot — useful for custom reports, or for joining this data with other systems, without going through Roberty Studio.

External database

Use the same connection details you configured on the Database tab (host, port, user and password) and the database name roberty.

Internal database

Even in Internal mode the Runner runs a real MariaDB server on the machine — it is not a sealed box. The connection details are:

FieldValue
Hostlocalhost (reachable only on the machine where the Runner is installed)
PortThe port shown in the Port field of the Database tab
Userroot
PasswordBlank (no password)
Databaseroberty
Do not change the data by hand

Reading directly is safe, but avoid editing or deleting records through the tables. The status and uploadStatus fields are managed internally by the Runner — changing them by hand can jam the run queue or stop the data from reaching the Studio. To remove old data, use Clear the database, below.


Current database size

The panel shows the current database size live (B, KB, MB or GB). Use it to keep an eye on how the data grows over time.


Clearing the database

If the database grows large, or you want to drop data you no longer need, use the cleanup.

  1. Click Clear the database.
  2. In the confirmation modal, choose what to clear:
    • Run queue (finished records) — removes the records of runs that have already ended
    • WhatsApp message queue — removes processed WhatsApp messages
  3. Click Yes, clear to confirm.
This cannot be undone

Data removed by the cleanup is deleted permanently. Make sure you no longer need those records before confirming. Consider exporting them, or checking the run history in the Designer, first.


Next

  • Proxy — put the Runner's network connections through a proxy
  • Run queue — monitor the runs in progress