Portal Community

Properties

PropertyTypeRequiredDefaultDescription
event_namestringYesThe exact name of the event to listen for on the BizFirst event bus. Case-sensitive. Must match the event name published by the external system or BizFirst integration. Convention: use dot-notation namespacing (e.g., payment.confirmed, fulfillment.label_created).
timeout_secondsintegerNo0Maximum number of seconds to wait for the event. If the event does not arrive within this time, the timeout port fires. Set to 0 to wait indefinitely (no timeout). Minimum: 1 when a timeout is desired.
correlation_keystring | expressionNoAn optional key used to match a specific event instance. When provided, the node only resumes when an event with a matching correlation key is published. Typically set to the current workflow's primary entity ID (e.g., order ID, customer ID). Example: {@ var.orderId }.

Publishing Events to Resume This Node

An external system or another BizFirst workflow publishes an event to the event bus using the BizFirst Events API. The published event must include:

FieldRequiredDescription
event_nameYesMust match the event_name configured in the waiting node.
correlation_keyIf set on nodeMust match the correlation_key registered by the waiting workflow instance.
payloadNoAny data to pass to the resumed workflow. Available as output.NodeName.event_payload.
Naming Convention

Use dot-notation event names to organise your event namespace clearly: domain.entity.action. Examples: payment.stripe.confirmed, user.account.email_verified, inventory.sku.restocked. This makes event names self-documenting and easier to filter in event logs.

JSON Configuration Examples

// Wait up to 30 minutes for payment confirmation, correlated by order ID
{
  "node_type": "EventWait",
  "name": "WaitForPaymentConfirmation",
  "config": {
    "event_name": "payment.confirmed",
    "timeout_seconds": 1800,
    "correlation_key": "{@ var.orderId }"
  }
}

// Wait up to 24 hours for email verification, no correlation
{
  "node_type": "EventWait",
  "name": "WaitForEmailVerification",
  "config": {
    "event_name": "user.email_verified",
    "timeout_seconds": 86400
  }
}

// Wait indefinitely for inventory restock (no timeout)
{
  "node_type": "EventWait",
  "name": "WaitForInventoryRestock",
  "config": {
    "event_name": "inventory.restocked",
    "timeout_seconds": 0,
    "correlation_key": "{@ var.skuCode }"
  }
}