Skip to content


Integrations is a feature that allows Ontime to share its data or control other software and hardware in your system.
The feature can be configured in the Editor -> Settings -> Integrations

The Ontime lifecycle

While running your event, Ontime will go through a few lifecycle events.
The integration feature allows you to request a message once that happens.

On LoadTriggered when an event is loaded
On StartTriggered when an event starts
On PauseTriggered when an event is paused
On StopTriggered when playback is stopped
On Every SecondTriggered once a second
On UpdateTriggered once a second, as long as a timer is running
On FinishTriggered when a timer passes the 0 mark

Using variables in integrations

You can embed data from the application runtime in the message using templates /your-message/{{ontime-data}} {{ontime-more-data}}

This means that any of the data described in the Runtime Data can be sent as part of the message payload.

When the lifecycle event is triggered, Ontime places the updated piece of data in place of the template.

Human readable data

The above data defined in runtime data will give you the data from Ontime as consumed in-app.
For example, all times are in milliseconds.

This is great for software-to-software communications, but it might not be ideal if you want to consume the data yourself.

For these use cases, we have defined a small list of human-readable timer values you can use in your integration messages.
The usage would look like

human.clock{{human.clock}}Current clock in hh:mm:ss
human.duration{{human.duration}}Duration of current timer in hh:mm:ss*
human.expectedEnd{{human.expectedEnd}}Time at which the current event is expected to finish in hh:mm:ss*
human.runningTimer{{human.runningTimer}}Current running timer in hh:mm:ss*
human.elapsedTime{{human.elapsedTime}}Elapsed time of current timer in hh:mm:ss*
human.startedAt{{human.startedAt}}Time when the current time started hh:mm:ss*