To send events to an engagement, you'll need to target the project the engagement is a part of. You can pass any data structure within the event as long as it aligned with the data expected by the engagement overlay. The data will change based on the engagement type.

Intro

To control the engagement you'll need to send a POST API call with the data you want to update in the body. Normally this data is aligned with the data structure of the individual engagement that you want to control.

This approach enables you to create a wide range of engaging experiences and control them any way you see fit.

The POST call has to be made wit ha unique API key that can be located in the settings of the workflow you want to control.

The event structure

The body of the call will carry the data that you want to send to the engagement. And it will look something like this.

{
 "events": 
 [{
 "channel": "controller",
 "timecode": 0,
 "type" : "push",
 	"template" : "Start", "data": {
 "main" : {
 		"ui" : "custom",
 		"value" : {
	 		"baseItems":[{
							"id":"1",
							"img":"https://via.placeholder.com/150",
							"name":"Storyline Item 1"
						}],
 			"timeline":[{
							"baseItem":"[{\"key\":\"Storyline Item 1\",\"value\":\"1\"}]",
							"img":"https://via.placeholder.com/150",
							"header":"Title",
							"text":"Description",
							"cta":"Action",
							"time":25
						}]
 		}
 }
 }
 }]
}

📘

The main object you send is a JSON object with a single property called "events"

You can send either a single event or an array of events, like in the example above.

The values that need to change are mainly in the main.value
this is the object that will carry all the custom data needed for the engagement.

Language
Click Try It! to start a request and see the response here!