Skip to main content

Working with events

Learn how to use events in your apps.


Actioner events allow for seamless workflow coordination, empowering dynamic workflows through asynchronous communication and event-driven automation. Workflows can publish and subscribe to events, initiate actions based on specific triggers or state changes, facilitating integration with external systems and real-time notifications.

Creating an Actioner event

  1. On Events tab of your app, click + Add event.

    Adding a new eventcommand

  2. Provide a name for your event. Optionally enter a description and tags.

    Creating a new eventcommand

  3. Start constructing your event's JSON schema. Note that this step is optional.

    JSON schema is a standard for describing the structure and constraints of event payloads. Creating a well-defined schema ensures that your event follows a consistent structure. For detailed information, you can refer to the JSON schema specification.

    Creating an event schemacommand

  4. Optionally, provide an example payload. Creating an example payload for eventcommand

  5. Set your event to be Shared or Private. Shared events can be used by all apps in your Actioner workspace while private events can only be used by the workflows that are part of your app.

    Select shared or private eventcommand

  6. Once it is all set, click Save button at top right corner.

Building an event schema

An event schema defines the structure and data types for each property in the JSON eventuration. It enforces that the required properties are present and that their values match the specified types.

  • type: Indicates the data type of the value.
  • properties: Lists the sub-properties or fields within an object.
  • required: Specifies which properties are mandatory and must be included.
  • title: Shows the short explanation of the purpose of the data.
  • description: Provides more lengthy explanation about the purpose.
  • examples: Provides examples to clarify usage.

An example payload

{
"email": "john.doe@example.com",
"name": "John Doe",
"source": "HubSpot"
}

In this payload:

  • email: is the email address of the contact.
  • name: is the name of the contact.
  • source: shows the creation source of the contact. It can be HubSpot or Slack.

An example event schema

According to above payload, the schema looks like below:

{
"properties": {
"email": {
"type": "string",
"format": "email",
"title": "Email",
"description": "The email address of the contact."
},
"name": {
"type": "string",
"title": "Name",
"description": "The name of the contact."
},
"source": {
"type": "string",
"title": "Source",
"description": "The creation source of the contact."
}
},
"required": ["email", "name", "source"]
}