WebSocket Trigger
Trigger workflows from WebSocket messages
WebSocket Trigger
The WebSocket trigger allows you to initiate workflows by connecting to a WebSocket server and listening for incoming messages. It supports auto-reconnect with configurable retry logic.
Installation
pnpm add @stepflowjs/trigger-websocketUsage
import { WebSocketTrigger } from "@stepflowjs/trigger-websocket";
const trigger = new WebSocketTrigger({
url: "wss://api.example.com/events",
messageType: "json",
reconnect: true,
reconnectInterval: 5000,
maxReconnectAttempts: 10,
});
await trigger.start(async (event) => {
console.log("Received WebSocket message:", event.data);
await stepflow.trigger("process-event", event.data);
});Auto-Reconnect
The WebSocketTrigger can automatically attempt to reconnect if the connection is lost. You can configure the interval between attempts and the maximum number of attempts.
Configuration
| Option | Type | Default | Description |
|---|---|---|---|
url | string | required | WebSocket server URL to connect to |
protocols | string[] | undefined | WebSocket sub-protocols |
headers | object | undefined | Custom headers for connection |
reconnect | boolean | true | Auto-reconnect on disconnect |
reconnectInterval | number | 5000 | Reconnect interval in milliseconds |
maxReconnectAttempts | number | 10 | Maximum reconnect attempts |
messageType | "json" | "text" | "json" | Message parsing type |