Skip to content

WebSocket

Send events to remote WebSocket peers or expose an embedded server.

Messaging Enterprise edition json

output:
web-socket: {}
JSON
{
"output": {
"web-socket": {}
}
}

A ✓ marks a field that accepts a context variable such as {{ VARIABLE }}.

Authentication
Field Type Required Description
auth Auth Authentication material inserted into the handshake.
Batching
Field Type Required Description
batch Batch Logical batching hints.
Connection
Field Type Required Description
connect Connect Connection strategy for establishing outbound sockets.
url url (string) Remote endpoint to publish to (required for client mode).
Examples: https://example.com/path
mode Mode Operating mode for this output.
Allowed values: client, server-output, server-input, relay
Cursors
Field Type Required Description
cursor Cursor Cursor configuration for resume tokens.
Framing
Field Type Required Description
payload Payload Encoding strategy for emitted frames.
Default: text
Allowed values: text, json, binary, binary-base64
Headers
Field Type Required Description
headers map (string) Headers to include during the WebSocket handshake.
query map (string) Query parameters appended to the connection URL.
subprotocols string[] Preferred subprotocols.
Health
Field Type Required Description
heartbeat Heartbeat Optional heartbeat configuration for outgoing connections.
Reliability
Field Type Required Description
retry Retry Retry policy for failed sends.
reconnect Reconnect Reconnection policy for client mode.
Security
Field Type Required Description
tls Tls TLS configuration used when acting as a client.
Server Output
Field Type Required Description
server Server Embedded server configuration when exposing a WebSocket endpoint.
Field Type Required Description
username string Username credential (supports templating).
password string Password credential (supports templating).
Field Type Required Description
headers map (string) Static or templated headers added during the handshake.
query map (string) Query parameters added to the connection URL.
bearer-token string Bearer token inserted as Authorization: Bearer ....
basic Basic Basic auth credentials sent via header.
Field Type Required Description
fixed-size number (integer) maximum number of events in an output batch.
Examples: 42, 1.2e-10
max-bytes number (integer) Close the batch before adding an event that would make the serialized request payload exceed this many bytes.
Examples: 42, 1.2e-10
mode Mode If ‘document’ send on end of document generated by input. If ‘fixed’, use fixed_size.
Allowed values: fixed, document
timeout time-interval (string) interval after which the batch is sent, to keep throughput going (default 100ms).
Default: 100ms
Examples: 500ms, 2h
header multiline-text (string) put a header line before the batch.
footer multiline-text (string) put a header line after the last line of the batch.
use-document-marker boolean (bool) Enrich the job metadata with a document marker (for document handling in batch mode).
Default: false
wrap-as-json boolean (bool) Format the output batch as a JSON array.
Default: false
Field Type Required Description
mode Mode Specifies whether to connect eagerly during startup or lazily on demand.
Allowed values: lazy, eager
eager-timeout string Optional timeout to wait for an eager connection before failing start-up.
Field Type Required Description
header-name string Header name used to propagate the cursor on reconnect (e.g. Last-Event-ID).
query-parameter string Query parameter name used to propagate the cursor value.
persist-to string Storage location for cursor state (defaults to job-scoped state).
initial-value string Initial cursor value to send on the first connection.
state-id string Optional explicit state identifier when sharing cursors across jobs.
resume-on-reconnect boolean (bool) Whether to inject the cursor on every reconnect attempt.
Default: false
value-field field (string) Event field used to derive the cursor value after successful delivery.
Examples: data_field
value-pointer json-pointer (string) JSON pointer used to derive the cursor value from emitted payloads.
Field Type Required Description
ping-interval string Interval between ping frames.
timeout string Grace period for receiving a pong before the connection is considered unhealthy.
action Action What to do when a heartbeat misses the timeout.
Allowed values: reconnect, log-only
payload string Optional ping payload to send with heartbeats.
Field Type Required Description
strategy Strategy Backoff strategy to use (default exponential).
Allowed values: exponential, linear, fixed
base string Base delay before retrying (e.g. “200ms”).
max string Maximum delay between retries.
jitter boolean (bool) Whether to add jitter to retry delays.
Default: false
Field Type Required Description
max-attempts number (integer) Maximum attempts before giving up.
Examples: 42, 1.2e-10
forever boolean (bool) Retry indefinitely until cancelled.
Default: false
backoff Backoff Backoff strategy configuration.
Field Type Required Description
initial-backoff string Backoff applied after the first failure (human-friendly duration).
max-backoff string Maximum backoff duration before clamping (human-friendly duration).
multiplier number (integer) Exponential multiplier applied after each failure.
Examples: 42, 1.2e-10
jitter number (integer) Random jitter factor applied to backoff windows (0.0-1.0).
Examples: 42, 1.2e-10
max-attempts number (integer) Maximum number of consecutive attempts before giving up (None=infinite).
Examples: 42, 1.2e-10
reset-after string Time after a successful connection before resetting the attempt counter.
Field Type Required Description
ca-certificate string Custom CA certificate to trust.
client-certificate string Client certificate for mutual TLS.
client-key string Client private key for mutual TLS.
insecure-skip-verify boolean (bool) Skip certificate validation (unsafe).
Default: false
Field Type Required Description
cert path (string) Path to the certificate file.
Examples: /path/to/file, c:\users\joe\data\file.txt
key path (string) Path to the private key file.
Examples: /path/to/file, c:\users\joe\data\file.txt
Field Type Required Description
bind string Address to bind (e.g. 0.0.0.0:8080).
path string Optional path/route restriction.
tls Tls Optional TLS material for the listener.
max-connections number (integer) Maximum simultaneously connected clients (None = unlimited).
Examples: 42, 1.2e-10
idle-timeout string Disconnect clients after this idle duration.
allowed-origins string[] Restrict accepted requests to these Origin / Sec-WebSocket-Origin values.
send-buffer-capacity number (integer) Per-connection send buffer (messages queued when clients are slow).
Examples: 42, 1.2e-10
Header Value
Header-Name value

Value format: templated-text.

Parameter Value
param value

Value format: templated-text.

Header Value
Header-Name value

Value format: templated-text.

Parameter Value
param value

Value format: templated-text.

Value Aliases Name Description
fixed fixed
document document
Value Aliases Name Description
lazy lazy Defer connection until the first event needs to be sent.
eager eager Establish the connection during initialisation and keep it open.
Value Aliases Name Description
client client
server-output server-output
server-input server-input
relay relay
Value Aliases Name Description
text text
json json
binary binary
binary-base64 binary-base64
Value Aliases Name Description
reconnect reconnect
log-only log-only
Value Aliases Name Description
exponential exponential
linear linear
fixed fixed