FlowDSL Node Catalog
Event Source
Subscribe to any system event. Pick the event name from the dropdown — the payload schema is resolved from the AsyncAPI spec.
Overview
| Property | Value |
|---|---|
| Node ID | redelay/event-source |
| Kind | source |
| Module | events-flowdsl |
| Repo | go-flowdsl |
| Module ref | events |
| Handler | github.com/redelay/go-flowdsl/nodes.EventSource |
| Icon | lucide:radio-tower |
| Color | #10b981 |
| Tags | event, source, subscriber, kafka |
Description
A single configurable source node that replaces per-event source nodes.
Runtime behavior: subscribes to the Kafka topic (or configured transport)
for the selected eventName and emits one packet per received message.
Output packet has the envelope shape of EventMessage with Payload typed
according to the event's declared payload schema.
Configuration:
- eventName — pick one of the system's known events (generated at runtime)
- groupID — optional consumer group ID (default: generated from flow ID)
- filter — optional expression evaluated against the event headers
Use this instead of declaring a new source node per event.
Outputs
event— The received event. Envelope has entity_type, action, actor, timestamp, correlation_id; payload shape depends on the selected event — resolve via asyncapi#/components/schemas/{PayloadName}.
Settings
| Property | Type | Required | Default | UI Group | Description |
|---|---|---|---|---|---|
eventName | string () | yes | — | Event | The event to subscribe to. Populated at runtime from all registered modules. |
filter | string | — | — | Delivery | Optional CEL-style predicate evaluated against the event's headers and payload before delivery. Messages that don't match are skipped. |
groupID | string | — | — | Delivery | Optional consumer group ID. Defaults to a value derived from the flow ID. |
Example
yaml
# Use this node in a flow:
nodes:
- id: my_step
name: My Step
kind: source
action_ref: redelay/event-source
config:
eventName: "value"
filter: "value"
groupID: "value"