Repository navigation
5.5.2.1.11. Send Event Action Node
A Send Event Action Node constructs an event and sends it to a selected behavior. It represents an asynchronous communication step in an Activity; the outgoing flow continues after the send action completes. The target is selected as a BehaviorId.
sequenceDiagram
participant Activity
participant Target as Target behavior
Activity->>Target: Send event
Target-->>Activity: Event handling result
Activity->>Activity: Continue outgoing flow
Provide an event factory and a target selector. The selector may use the action context and input tokens to choose the recipient.
public sealed record ShipmentReady(string OrderId);The following fragment belongs inside the relevant method or builder callback:
.AddSendEventAction<ShipmentReady>(
"NotifyShipping",
async c => new ShipmentReady(
c.GetTokensOfType<string>().Single()),
async c => new BehaviorId(
"StateMachine", "Shipping", "shipping-default"),
node => node.AddControlFlow("Continue"))
.AddAction("Continue", async c =>
await audit.RecordAsync("shipping-notified", c.CancellationToken))The action looks up the selected behavior and awaits SendAsync if it is locatable. If it is not locatable, the current implementation skips the send; it does not synthesize a local token or turn that miss into an action exception. Ensure the target is discoverable when delivery is required. For receiving events, see Accept Event Action Node; for a notification that does not select a target behavior, see Publish Event Action Node.
Home page Support Code licensed under an MIT-style License. Documentation licensed under CC BY 4.0. © by Mikołaj Milewski, 2026