The Dynamic Flow library can emit a specific set of events when various actions happen during a flow. Those events can be later consumed for logging and analytics purposes. They are divided into two categories Core events and Custom events, which are described below.
Core events are associated to the utilization of core features and to the state of the flow. These type of events can be consumed by integrators and are emitted from the Dynamic Flow core engine.
Triggered when attempting to load the first step.
| Property | Type | Required | Note |
|---|---|---|---|
| flowId | String | Yes | Flow identifier set by the client |
Triggered when the flow finishes successfully.
| Property | Type | Required | Note |
|---|---|---|---|
| flowId | String | Yes | Flow identifier set by the client |
| stepId | String | Yes | Step identifier set by the backend |
| analytics | Map<String, Any> | No | Extra analytics metadata. All properties will be flattened into the root object when the event is emitted. |
Triggered when the flow finishes unsuccessfully.
| Property | Type | Required | Note |
|---|---|---|---|
| flowId | String | Yes | Flow identifier set by the client |
| stepId | String | Yes | Step identifier set by the backend |
| analytics | Map<String, Any> | No | Extra analytics metadata. All properties will be flattened into the root object when the event is emitted. |
Triggered when the flow is cancelled by the user.
| Property | Type | Required | Note |
|---|---|---|---|
| flowId | String | Yes | Flow identifier set by the client |
Triggered when a step is pushed into the flow stack.
| Property | Type | Required | Note |
|---|---|---|---|
| flowId | String | Yes | Flow identifier set by the client |
| stepId | String | Yes | Step identifier set by the backend |
| isFirstStep | Boolean | Yes | True if this is the first step of a flow |
| analytics | Map<String, Any> | No | Extra analytics metadata. All properties will be flattened into the root object when the event is emitted. |
Triggered when an action is executed in a flow. For instance this could be invoked when buttons are clicked, link patterns are matched and polling actions are triggered.
| Property | Type | Required | Note |
|---|---|---|---|
| flowId | String | Yes | Flow identifier set by the client |
| stepId | String | No | Step identifier set by the backend |
| actionId | String | No | Action id property |
| analytics | Map<String, Any> | No | Extra analytics metadata. All properties will be flattened into the root object when the event is emitted. |
Triggered when an action finishes successfully in a flow.
| Property | Type | Required | Note |
|---|---|---|---|
| flowId | String | Yes | Flow identifier set by the client |
| stepId | String | No | Step identifier set by the backend |
| actionId | String | No | Action id property |
| analytics | Map<String, Any> | No | Extra analytics metadata. All properties will be flattened into the root object when the event is emitted. |
Triggered when an action fails in a flow.
| Property | Type | Required | Note |
|---|---|---|---|
| flowId | String | Yes | Flow identifier set by the client |
| stepId | String | No | Step identifier set by the backend |
| actionId | String | No | Action id property |
| analytics | Map<String, Any> | No | Extra analytics metadata. All properties will be flattened into the root object when the event is emitted. |
Triggered when a refresh operation is executed in a flow.
| Property | Type | Required | Note |
|---|---|---|---|
| flowId | String | Yes | Flow identifier set by the client |
| stepId | String | No | Step identifier set by the backend |
| schema | String | No | Schema that triggered the operation, identified by analyticsId or $id |
| analytics | Map<String, Any> | No | Extra analytics metadata. All properties will be flattened into the root object when the event is emitted. |
Triggered when a refresh operation finishes successfully in a flow.
| Property | Type | Required | Note |
|---|---|---|---|
| flowId | String | Yes | Flow identifier set by the client |
| stepId | String | No | Step identifier set by the backend |
| schema | String | No | Schema that triggered the operation, identified by analyticsId or $id |
| analytics | Map<String, Any> | No | Extra analytics metadata. All properties will be flattened into the root object when the event is emitted. |
Triggered when a refresh operation fails in a flow.
| Property | Type | Required | Note |
|---|---|---|---|
| flowId | String | Yes | Flow identifier set by the client |
| stepId | String | No | Step identifier set by the backend |
| schema | String | No | Schema that triggered the operation, identified by analyticsId or $id |
| analytics | Map<String, Any> | No | Extra analytics metadata. All properties will be flattened into the root object when the event is emitted. |
Triggered when a persistAsync operation is executed in a flow.
| Property | Type | Required | Note |
|---|---|---|---|
| flowId | String | Yes | Flow identifier set by the client |
| stepId | String | Yes | Step identifier set by the backend |
| schema | String | No | Schema that triggered the operation, identified by analyticsId or $id |
| analytics | Map<String, Any> | No | Extra analytics metadata. All properties will be flattened into the root object when the event is emitted. |
Triggered when a persistAsync operation finishes successfully in a flow.
| Property | Type | Required | Note |
|---|---|---|---|
| flowId | String | Yes | Flow identifier set by the client |
| stepId | String | Yes | Step identifier set by the backend |
| schema | String | No | Schema that triggered the operation, identified by analyticsId or $id |
| analytics | Map<String, Any> | No | Extra analytics metadata. All properties will be flattened into the root object when the event is emitted. |
Triggered when a persistAsync operation fails in a flow.
| Property | Type | Required | Note |
|---|---|---|---|
| flowId | String | Yes | Flow identifier set by the client |
| stepId | String | Yes | Step identifier set by the backend |
| schema | String | No | Schema that triggered the operation, identified by analyticsId or $id |
| analytics | Map<String, Any> | No | Extra analytics metadata. All properties will be flattened into the root object when the event is emitted. |
Triggered when a validationAsync operation is executed in a flow.
| Property | Type | Required | Note |
|---|---|---|---|
| flowId | String | Yes | Flow identifier set by the client |
| stepId | String | Yes | Step identifier set by the backend |
| schema | String | No | Schema that triggered the operation, identified by analyticsId or $id |
| analytics | Map<String, Any> | No | Extra analytics metadata. All properties will be flattened into the root object when the event is emitted. |
Triggered when a validationAsync operation finishes successfully in a flow.
| Property | Type | Required | Note |
|---|---|---|---|
| flowId | String | Yes | Flow identifier set by the client |
| stepId | String | Yes | Step identifier set by the backend |
| schema | String | No | Schema that triggered the operation, identified by analyticsId or $id |
| analytics | Map<String, Any> | No | Extra analytics metadata. All properties will be flattened into the root object when the event is emitted. |
Triggered when a validationAsync operation fails in a flow.
| Property | Type | Required | Note |
|---|---|---|---|
| flowId | String | Yes | Flow identifier set by the client |
| stepId | String | Yes | Step identifier set by the backend |
| schema | String | No | Schema that triggered the operation, identified by analyticsId or $id |
| analytics | Map<String, Any> | No | Extra analytics metadata. All properties will be flattened into the root object when the event is emitted. |
Triggered when an option is selected in a OneOf component (Select, Radio, Tab, Segmented).
| Property | Type | Required | Note |
|---|---|---|---|
| flowId | String | Yes | Flow identifier set by the client |
| stepId | String | Yes | Step identifier set by the backend |
| schema | String | Yes | The analyticsId (or $id) of the OneOf schema |
| selectedOption | String | Yes | The analyticsId (or $id) of the selected schema |
| analytics | Map<String, Any> | No | Extra analytics metadata. All properties will be flattened into the root object when the event is emitted. |
Custom events can be emitted by integrators in the client libraries. They are used in specific scenarios where a component in the UI layer would like to track or log something relevant.
Internally at Wise we have the below custom events:
Triggered when clicking on a search component, entering the full-screen search experience.
| Property | Type | Required | Note |
|---|---|---|---|
| flowId | String | No | Flow identifier set by the client |
| stepId | String | No | Step identifier set by the backend |
| analytics | Map<String, Any> | No | Extra analytics metadata. All properties will be flattened into the root object when the event is emitted. |
Triggered when clicking on a search result.
| Property | Type | Required | Note |
|---|---|---|---|
| type | String | Yes | Type of result clicked. Can be 'Search' or 'Action' |
| flowId | String | No | Flow identifier set by the client |
| stepId | String | No | Step identifier set by the backend |
| actionId | String | No | Action id property if search result type is 'Action' |
| analytics | Map<String, Any> | No | Extra analytics metadata. All properties will be flattened into the root object when the event is emitted. |
Triggered whenever the help icon is clicked / pressed.
| Property | Type | Required | Note |
|---|---|---|---|
| flowId | String | No | Flow identifier set by the client |
| stepId | String | No | Step identifier set by the backend |
| layoutId | String | No | Analytics id from the layout the help is on (or the parent layout, if the event is thrown from a layout child item) |
| layoutItemId | String | No | Analytics id from the child layout item the help is on (only if it is a child layout item) |
| analytics | Map<String, Any> | No | Extra analytics metadata. All properties will be flattened into the root object when the event is emitted. |