Raise Event
BPMN 2.0 workflows are a concept feature. They're still being developed and can change before they're released. They're available only when the site's license includes the Concept feature Bpmn2.
Audience:
Low-code EngineersSkill Prerequisites:
Actions,Workflows
Raises an event that BPMN 2.0 workflows wait for or start on. The action returns at once: the workflows it reaches continue in the background, moments later.
Typical Use Cases
- Move a waiting process on when something happens elsewhere in the application, for example the After workflow of the Order transition raises
Purchase request orderedfor the request, and the Purchase follow-up run waiting for that request continues - Turn a callback from another system into an event: an API endpoint whose actions raise
Payment confirmedwith the order number as the key - Start every BPMN 2.0 workflow that starts on an event
Don't use it to
- Call a workflow and use its outputs. Use the workflow's Execute action, or a call activity on a BPMN 2.0 diagram. See Designing BPMN 2.0 Workflows.
- Report a failure. Use Throw Error or Throw Exception.
- Send something to another system. Events only reach BPMN 2.0 workflows of this site. Use an action that calls that system.
Related Actions
| Action Name | Description |
|---|---|
| Throw Error | Raises an error with a code that a BPMN 2.0 workflow's error events catch. |
| Complete Task | Completes a task. A user task waiting for it continues, as an event would continue a wait. |
| Execute Actions Asynchronously | Runs actions in the background without an event, when nothing needs to wait. |
Input Parameter Reference
| Parameter | Description | Supports Tokens | Default | Required |
|---|---|---|---|---|
| Event Name | The name of the event, for example Purchase request ordered. Workflows of this site that wait for or start on the same name receive it. Up to 200 characters. | Yes | empty string | Yes |
| Key | Which waiting run the event is for, for example [Record:Id]. Leave it empty to reach every run that waits for the event without a key. Up to 400 characters. | Yes | empty string | No |
| Payload | Rows of Name and Value, added with Add Value. Each value is set as a token of that name on each run that continues, and fills the input of the same name of a workflow that starts on the event. Values are sent as text. Only the values support tokens, not the names. | Values only | No rows | No |
| Store Result In | The name of a token that receives what the raise did: Delivered, Kept, Ignored or Broadcast. See Output. | No | empty string | No |
Output
When Store Result In names a token, the action sets it to one of these values:
| Value | Meaning |
|---|---|
Delivered | The event has a key, and a run waiting for this name and key received it. |
Kept | The event has a key, and nothing waits for it yet. It's kept for 7 days for a run that reaches a wait for it, or a workflow that starts on it. |
Ignored | The event has a key, nothing waits for it now, and the same name and key was raised less than 7 days ago. This raise does nothing. |
Broadcast | The event has no key. It reached every run waiting for it at that moment, possibly none. |
Considerations
- The action never waits. It records the event and returns. The runs it reaches continue in the background, usually within moments and at the latest at the next check, which runs every 30 seconds. Nothing that happens in those runs comes back to the action list that raised the event.
- With a key, the event reaches the one run that waits for this name and key, the one that started waiting first. When none waits yet, the event is kept for 7 days from when it was raised, and a run that reaches a wait for it in that time receives it. If a workflow starts on the event, a kept event starts it instead, and the start uses the event up.
- Raising the same key again does nothing while the first event is kept, whether a run received it or not, unless a run is waiting for it at that moment. This makes repeated callbacks harmless.
- Without a key, the event reaches every run that waits for this name without a key at that moment, and starts every workflow that starts on it. A run that reaches the wait later doesn't receive it. Nobody waiting isn't an error.
- Starting a workflow. A workflow that starts on the event runs as the user who raised it. The payload values fill the inputs with the same names; other values are left out. Starting needs the Enterprise feature Workflows.LongRunning. A start that fails is written to the log and isn't tried again. See Events.
- The site. An event reaches the runs of the site it was raised on.
- Tests. Inside a test run of a BPMN 2.0 workflow, the event reaches only test runs and starts no workflow. An event raised outside a test never reaches a test run. To continue a test run that waits for an event, use Raise Event in the test panel.
- Who can raise an event. The action has no permission check of its own. Anyone who can run the action list that holds it, on a form, a page or an API endpoint, can continue the runs waiting for that name and key. Protect those places as you would any action that changes data.
- Licensing. Raising an event needs only the Concept feature Bpmn2, and the action works in any action list on either workflow engine. Waiting for an event and starting on one are part of the Enterprise plan.
- Errors. The action fails with
The event has no name. Name the event to raise.when Event Name is empty,The event name is longer than 200 characters., or a message that the key is longer than 400 characters. - On the diagram. A BPMN 2.0 workflow can raise an event without this action, with a Raise Event element on its path or a Raise Event and End end event. See Timers, Events and Waiting.
Examples
To understand how to use the below examples, please see Running Examples.
1. Tell a waiting process that a purchase request was ordered
Put this action in the After workflow of the Order transition of Purchase Request. It raises Purchase request ordered for the request that was ordered. The Purchase follow-up run that waits for this event and this request's id continues, with the supplier in its [Supplier] token. [RaiseResult] says whether a run received it.
{
"Title": "Raise Event",
"ActionType": "Flow.RaiseEvent",
"Description": "Tell the follow-up process that the request was ordered",
"Condition": null,
"Parameters": {
"EventName": "Purchase request ordered",
"EventKey": "[Record:Id]",
"Payload": [
{
"Name": "Supplier",
"Value": "[Record:Supplier]"
}
],
"OutputTokenName": "RaiseResult"
}
}
2. Raise an event without a key
This action raises Supplier list updated without a key, for example from a scheduled job. Every run waiting for it without a key continues, and every workflow that starts on it starts.
{
"Title": "Raise Event",
"ActionType": "Flow.RaiseEvent",
"Description": "Announce that the supplier list changed",
"Condition": null,
"Parameters": {
"EventName": "Supplier list updated",
"EventKey": "",
"Payload": [],
"OutputTokenName": ""
}
}
Revised 11/12/2026