URL Sequencer

Prev Next

The URL Sequencer target allows you to invoke multiple HTTP-based services or APIs in a timed sequence. You can configure up to 10 URLs, each with its own delay, and optionally repeat the entire sequence multiple times.

This target is useful for triggering external systems, webhooks, or REST APIs at specific intervals — for example, notifying a streaming platform, triggering automation workflows, or sending keep-alive requests to external services.

Image

Location: Targets -> Url Sequencer


When to Use

  • Trigger external webhooks — Notify third-party services when your broadcast starts or at timed intervals
  • Orchestrate API calls — Send a sequence of requests to control external systems in order
  • Keep-alive requests — Periodically ping services to maintain connections
  • Automation workflows — Trigger external automation platforms (e.g., Zapier, n8n, Home Assistant)
  • Multi-step integrations — Execute a series of API calls with precise timing control

Properties

URL 1

Property Description
URL The HTTP or HTTPS endpoint to send a GET request to. Must be a valid URL starting with http:// or https://.
Delay Time in milliseconds to wait before sending this request after the sequence starts. Set to 0 to send immediately.
Status Read-only. Displays the current status of this request (e.g., "Request sent, awaiting response..." or "Request succeeded [status = 200, response time = 45ms]").

More URLs

Expand this section to configure up to 9 additional URLs (URL 2 through URL 10). Each URL has the same properties as URL 1:

Property Description
URL 2 - 10 Additional HTTP/HTTPS endpoints to include in the sequence.
Delay Individual delay for each URL, in milliseconds.
Status Read-only status display for each request.

Repeat Settings

Property Default Description
Repeat Off When enabled, the entire URL sequence will repeat after all requests have been sent.
Repeat Delay 0 Time in milliseconds to wait before starting the next cycle. This delay is added after the longest URL delay in the sequence.
Max Repeats 0 Maximum number of times to repeat the sequence. Set to 0 for infinite repeats (continues until manually stopped).
Current repeat — Read-only. Displays the current repeat cycle count.

Status

Property Description
Status Message Read-only. Displays the overall state of the URL Sequencer Target (see Status Messages below).
Total Requests Sent Read-only. Running count of all requests sent since the target was started.
Total Requests Failed Read-only. Running count of requests that failed (network errors, timeouts, or non-success HTTP status codes).

Status Messages:

Status Meaning
Idle Target has not been started yet.
Stopped by user Target was manually stopped.
Starting... Target is initializing and validating URLs.
Options reset Target settings have been reset to defaults.
Running requests... Target is actively sending requests.
Waiting for remaining requests... Sequence complete, waiting for pending responses.
All requests completed All requests in the sequence have finished.

Action

Property Options Default Description
Log level Report issues as errors, Report issues as warnings Report issues as errors Determines how URL validation failures, timeouts, and network errors are logged.

Action Buttons:

Button Description
Start Validates all URLs and begins the sequence. Disabled while running.
Stop Stops the sequence immediately. Any in-flight requests will complete, but no new requests will be sent.
Reset Clears all URLs, delays, and counters back to defaults. Only available when stopped.

Script Callback

Property Description
On Request Response Name of a Script Engine function to invoke each time a request completes. The function receives a JSON object with request details (see Script Callback below).

General

Property Default Description
Autostart when application starts On When enabled, the URL Sequencer Target will automatically start when the project loads, provided at least one URL is configured.

Script Callback

If you specify a function name in On Request Response, that function will be called in the Script Engine each time a request completes (whether successful or failed).

The callback receives a JSON object with the following properties:

Property Type Description
Id number The URL slot number (1-10).
Url string The URL that was requested.
Delay number The configured delay in milliseconds.
StatusCode number The HTTP status code returned (e.g., 200, 404, 500).
Message string The response body content, or an error message if the request failed.
RequestDate string Timestamp when the request was sent (format: yyyy-MM-dd HH:mm:ss.fff).
ResponseTime number Time in milliseconds from request sent to response received.

Example callback function:

function OnUrlResponse(json) {
    var response = JSON.parse(json);
    
    if (response.StatusCode === 200) {
        Logger.Debug("URL " + response.Id + " succeeded in " + response.ResponseTime + "ms");
    } else {
        Logger.Debug("URL " + response.Id + " failed with status " + response.StatusCode);
    }
}

Usage Examples

Single Webhook Notification

Trigger a single webhook when the project starts:

  • URL 1: https://hooks.example.com/broadcast-started
  • Delay: 0
  • Repeat: Off
  • Autostart when application starts: On

Staggered API Sequence

Send a series of API calls with specific timing:

  • URL 1: https://api.example.com/prepare — Delay: 0
  • URL 2: https://api.example.com/start — Delay: 2000 (2 seconds)
  • URL 3: https://api.example.com/notify — Delay: 5000 (5 seconds)
  • Repeat: Off

Periodic Keep-Alive

Send a keep-alive request every 30 seconds:

  • URL 1: https://api.example.com/keepalive
  • Delay: 0
  • Repeat: On
  • Repeat Delay: 30000 (30 seconds)
  • Max Repeats: 0 (infinite)

Limited Repeat Sequence

Run a notification sequence exactly 5 times:

  • URL 1: https://api.example.com/ping
  • Delay: 0
  • Repeat: On
  • Repeat Delay: 10000 (10 seconds)
  • Max Repeats: 5

Tips

  1. Validate your URLs before starting. The target will check that all URLs are valid HTTP/HTTPS addresses. If validation fails, check the log for details.

  2. Use delays to control timing. Each URL's delay is measured from when the sequence starts, not from the previous URL. For example, if URL 1 has delay 0 and URL 2 has delay 1000, they will fire 1 second apart.

  3. Monitor the Status fields. Each URL shows its individual status, including HTTP status codes and response times — useful for debugging integrations.

  4. Set appropriate repeat delays. When using repeat mode, the Repeat Delay is added to the longest URL delay to determine when the next cycle begins.

  5. Use Max Repeats = 0 with caution. This creates an infinite loop that will continue until you manually stop the target or close the project.

  6. Handle failures in your callback. If you're using Script Callbacks, always check the StatusCode to handle both successful and failed requests appropriately.

  7. Check the log for errors. Failed requests, timeouts, and validation errors are logged according to your Log level setting.