In the context of the Airkit platform, Events refer to any catalyst that might fire an Action Chain. All Action Chains are associated with an Event. It is when – and only when – an Event is fired that its associated Action Chain is performed.

Conceptualizing Events

At its core, an Airkit Event is a piece of information that tells the platform something happened. It might also include optional metadata about the Actions that will consequently be taken, though not all Events will be associated with any Actions. An Event merely signals that the platform must check and see if there are any Actions to take. In this way, firing an Event like sending a letter: sending the letter is important, but ultimately once it gets to the recipient, the recipient is the one that decides what to do with it. The letter might spur some action, or it might be thrown directly in the trash.

When we say that Events tell the platform "something happened," we are being deliberately vague. All kind of things might trigger Events. A user clicking a Button Web Control is an Event, as is the instance before sending an SMS message, as is updating a Web Flow.

Built-in Events are fired from a variety of places in the Airkit platform, and you can also define Custom Events that are fired manually with the Run Event Action.

The different types of Events

There are a few different types of Events in the Airkit platform. These different types of Events indicate how and where they can be invoked. The different types are:

  • Session Started Events: Starting an Airkit Journey is its own Event.
  • Trigger Events: Occur when a Journey begins via a particular Trigger. They are subtly but importantly different from Session Started Events, which always fire when a Journey starts, regardless of how the Journey is triggered.
  • Control Events: Controls comes out of the box with relevant Control Events, which vary depending on the Control's functionality. For example, Buttons come associated with a single Event: 'Click'. Text Input Boxes, on the other hand, come with three associated Events: 'On Blur', 'Value Changed', and 'On Enter'.
  • Session Events: Global Custom Events that can be invoked anywhere in a Journey by the Run Event Action.
  • Activity Group Events: Activity-Group-level Custom Events that can be invoked by the Run Event Action. In contrast to Session Events, Activity Group Events are only accessible within a specific Activity Group: an individual Web Flow, Chat Bot, or Voice Bot.

Event Variables

Event Variables are variables associated with and only accessible within a particular Event. They are accessible within the event namespace, although, because Event Variables are inherently small in scope, the event namespace is implied while working within an Event.

For example, say an Event is associated with the Event Variable value. Within the Event, this value can be called up either as

event.value

or simply as

value

Not all Events have Event Variables. See documentation on individual Event types for further information.