Skip to main content
With WebSocket delivery, your application connects to Kadoa’s WebSocket server to receive real-time notifications. Kadoa broadcasts events to your connected clients.

SDK Integration

Get instant notifications when data changes using the SDK’s WebSocket connection:
const client = new KadoaClient({
  apiKey: 'your-api-key',
  enableRealtime: true
});

// Listen to all events
client.realtime?.onEvent((event) => {
  console.log('Event:', event);
  // Handle: EXTRACTION_STARTED, EXTRACTION_COMPLETED, DATA_CHANGED, etc.
});

// Check connection
if (client.isRealtimeConnected()) {
  console.log('Connected to real-time updates');
}
For API configuration, see the API reference.

UI Configuration

You can also configure WebSocket channels through the UI:
  1. Add a WebSocket channel via the notifications tab in the left sidebar or notifications tab in a workflow
Screenshot of WebSocket channel selection in workspace UI
  1. Subscribe to events by selecting the WebSocket channel in workspace settings or workflow-specific settings
Screenshot of WebSocket channel selection in workspace UI

Event Message Examples

Kadoa broadcasts events to all connected clients when events occur. All messages are JSON objects with type and timestamp fields.
  • workflow_data_change
  • workflow_finished
  • workflow_failed
Triggered when data changes are detected in monitored workflows:
{
  "type": "workflow_data_change",
  "timestamp": 1736367604663,
  "id": "2df91fbd-74c1-4d11-91aa-50030393574b",
  "data": {
    "id": "66d0c9e65baad1694a2132d0",
    "workflowId": "677fc12545e790b20a4eec34",
    "data": [{ "title": "Test News" }, { "title": "New News" }],
    "differences": [
      {
        "type": "added",
        "fields": [
          {
            "key": "title",
            "value": "New News"
          }
        ]
      }
    ],
    "url": "https://thisismymonitoredpage.com",
    "createdAt": "2025-01-09T10:00:00Z"
  }
}