• Home
  • Features
  • Spec
  • Guides
  • Sandbox
  • Overview
  • Quick start
    • Integrating on Web
    • Integrating on iOS
    • Integrating on Android
  • Writing or editing a flow
  • Working with custom renderers
  • Analytics

Flow events

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

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.

Dynamic Flow - Initiated

Triggered when attempting to load the first step.

PropertyTypeRequiredNote
flowIdStringYesFlow identifier set by the client

Dynamic Flow - Succeeded

Triggered when the flow finishes successfully.

PropertyTypeRequiredNote
flowIdStringYesFlow identifier set by the client
stepIdStringYesStep identifier set by the backend
analyticsMap<String, Any>NoExtra analytics metadata. All properties will be flattened into the root object when the event is emitted.

Dynamic Flow - Failed

Triggered when the flow finishes unsuccessfully.

PropertyTypeRequiredNote
flowIdStringYesFlow identifier set by the client
stepIdStringYesStep identifier set by the backend
analyticsMap<String, Any>NoExtra analytics metadata. All properties will be flattened into the root object when the event is emitted.

Dynamic Flow - Cancelled

Triggered when the flow is cancelled by the user.

PropertyTypeRequiredNote
flowIdStringYesFlow identifier set by the client

Dynamic Flow - Step Shown

Triggered when a step is pushed into the flow stack.

PropertyTypeRequiredNote
flowIdStringYesFlow identifier set by the client
stepIdStringYesStep identifier set by the backend
isFirstStepBooleanYesTrue if this is the first step of a flow
analyticsMap<String, Any>NoExtra analytics metadata. All properties will be flattened into the root object when the event is emitted.

Dynamic Flow - Action Triggered

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.

PropertyTypeRequiredNote
flowIdStringYesFlow identifier set by the client
stepIdStringNoStep identifier set by the backend
actionIdStringNoAction id property
analyticsMap<String, Any>NoExtra analytics metadata. All properties will be flattened into the root object when the event is emitted.

Dynamic Flow - Action Succeeded

Triggered when an action finishes successfully in a flow.

PropertyTypeRequiredNote
flowIdStringYesFlow identifier set by the client
stepIdStringNoStep identifier set by the backend
actionIdStringNoAction id property
analyticsMap<String, Any>NoExtra analytics metadata. All properties will be flattened into the root object when the event is emitted.

Dynamic Flow - Action Failed

Triggered when an action fails in a flow.

PropertyTypeRequiredNote
flowIdStringYesFlow identifier set by the client
stepIdStringNoStep identifier set by the backend
actionIdStringNoAction id property
analyticsMap<String, Any>NoExtra analytics metadata. All properties will be flattened into the root object when the event is emitted.

Dynamic Flow - Refresh Triggered

Triggered when a refresh operation is executed in a flow.

PropertyTypeRequiredNote
flowIdStringYesFlow identifier set by the client
stepIdStringNoStep identifier set by the backend
schemaStringNoSchema that triggered the operation, identified by analyticsId or $id
analyticsMap<String, Any>NoExtra analytics metadata. All properties will be flattened into the root object when the event is emitted.

Dynamic Flow - Refresh Succeeded

Triggered when a refresh operation finishes successfully in a flow.

PropertyTypeRequiredNote
flowIdStringYesFlow identifier set by the client
stepIdStringNoStep identifier set by the backend
schemaStringNoSchema that triggered the operation, identified by analyticsId or $id
analyticsMap<String, Any>NoExtra analytics metadata. All properties will be flattened into the root object when the event is emitted.

Dynamic Flow - Refresh Failed

Triggered when a refresh operation fails in a flow.

PropertyTypeRequiredNote
flowIdStringYesFlow identifier set by the client
stepIdStringNoStep identifier set by the backend
schemaStringNoSchema that triggered the operation, identified by analyticsId or $id
analyticsMap<String, Any>NoExtra analytics metadata. All properties will be flattened into the root object when the event is emitted.

Dynamic Flow - PersistAsync Triggered

Triggered when a persistAsync operation is executed in a flow.

PropertyTypeRequiredNote
flowIdStringYesFlow identifier set by the client
stepIdStringYesStep identifier set by the backend
schemaStringNoSchema that triggered the operation, identified by analyticsId or $id
analyticsMap<String, Any>NoExtra analytics metadata. All properties will be flattened into the root object when the event is emitted.

Dynamic Flow - PersistAsync Succeeded

Triggered when a persistAsync operation finishes successfully in a flow.

PropertyTypeRequiredNote
flowIdStringYesFlow identifier set by the client
stepIdStringYesStep identifier set by the backend
schemaStringNoSchema that triggered the operation, identified by analyticsId or $id
analyticsMap<String, Any>NoExtra analytics metadata. All properties will be flattened into the root object when the event is emitted.

Dynamic Flow - PersistAsync Failed

Triggered when a persistAsync operation fails in a flow.

PropertyTypeRequiredNote
flowIdStringYesFlow identifier set by the client
stepIdStringYesStep identifier set by the backend
schemaStringNoSchema that triggered the operation, identified by analyticsId or $id
analyticsMap<String, Any>NoExtra analytics metadata. All properties will be flattened into the root object when the event is emitted.

Dynamic Flow - ValidationAsync Triggered

Triggered when a validationAsync operation is executed in a flow.

PropertyTypeRequiredNote
flowIdStringYesFlow identifier set by the client
stepIdStringYesStep identifier set by the backend
schemaStringNoSchema that triggered the operation, identified by analyticsId or $id
analyticsMap<String, Any>NoExtra analytics metadata. All properties will be flattened into the root object when the event is emitted.

Dynamic Flow - ValidationAsync Succeeded

Triggered when a validationAsync operation finishes successfully in a flow.

PropertyTypeRequiredNote
flowIdStringYesFlow identifier set by the client
stepIdStringYesStep identifier set by the backend
schemaStringNoSchema that triggered the operation, identified by analyticsId or $id
analyticsMap<String, Any>NoExtra analytics metadata. All properties will be flattened into the root object when the event is emitted.

Dynamic Flow - ValidationAsync Failed

Triggered when a validationAsync operation fails in a flow.

PropertyTypeRequiredNote
flowIdStringYesFlow identifier set by the client
stepIdStringYesStep identifier set by the backend
schemaStringNoSchema that triggered the operation, identified by analyticsId or $id
analyticsMap<String, Any>NoExtra analytics metadata. All properties will be flattened into the root object when the event is emitted.

Dynamic Flow - OneOf Option Selected

Triggered when an option is selected in a OneOf component (Select, Radio, Tab, Segmented).

PropertyTypeRequiredNote
flowIdStringYesFlow identifier set by the client
stepIdStringYesStep identifier set by the backend
schemaStringYesThe analyticsId (or $id) of the OneOf schema
selectedOptionStringYesThe analyticsId (or $id) of the selected schema
analyticsMap<String, Any>NoExtra analytics metadata. All properties will be flattened into the root object when the event is emitted.

Custom events

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:

Dynamic Flow - Search Started

Triggered when clicking on a search component, entering the full-screen search experience.

PropertyTypeRequiredNote
flowIdStringNoFlow identifier set by the client
stepIdStringNoStep identifier set by the backend
analyticsMap<String, Any>NoExtra analytics metadata. All properties will be flattened into the root object when the event is emitted.

Dynamic Flow - Search Result Selected

Triggered when clicking on a search result.

PropertyTypeRequiredNote
typeStringYesType of result clicked. Can be 'Search' or 'Action'
flowIdStringNoFlow identifier set by the client
stepIdStringNoStep identifier set by the backend
actionIdStringNoAction id property if search result type is 'Action'
analyticsMap<String, Any>NoExtra analytics metadata. All properties will be flattened into the root object when the event is emitted.

Dynamic Flow - Help Pressed

Triggered whenever the help icon is clicked / pressed.

PropertyTypeRequiredNote
flowIdStringNoFlow identifier set by the client
stepIdStringNoStep identifier set by the backend
layoutIdStringNoAnalytics id from the layout the help is on (or the parent layout, if the event is thrown from a layout child item)
layoutItemIdStringNoAnalytics id from the child layout item the help is on (only if it is a child layout item)
analyticsMap<String, Any>NoExtra analytics metadata. All properties will be flattened into the root object when the event is emitted.