<aside>
In the following example, we will be sending users data to Seen for video generation, and receiving a unique video player link and a unique, personalised thumbnail back to Klaviyo for distribution.
This example uses a POST webhook in Klaviyo Flows to send data to Seen, and an event to receive the data back to Klaviyo.
This example assumes that a project with a published project already exists in your Seen Workspace.
</aside>
You can use the code snippet below as the starting point for the payload: ***
{
"first_name": "{{ person.first_name }}",
"last_name": "{{ person.last_name }}",
"id": "{{ person.id }}"
}
<aside>
** You can create a token in from your projects Run tab.
*** Remember to modify your payload based on the personalisations in your video campaign. More information about the payload structure in our documentation.
</aside>
| Method | POST |
|---|---|
| URL | https://a.klaviyo.com/api/events |
| Content-Type | application/vnd.api+json |
|---|---|
| Accept | application/vnd.api+json |
| Authorization | Klaviyo-API-Key {{your API key}} |
| revision | 2026-07-15 |
<aside>
Remember to check the latest revision date from Klaviyo’s documentation.
</aside>
{
"data": {
"type": "event",
"attributes": {
"properties": {
"seen_player": "{{{playerLink}}}",
"seen_thumbnail": "{{{emailThumbnailLink}}}"
},
"backfill": false,
"metric": {
"data": {
"type": "metric",
"attributes": {
"name": "SEEN"
}
}
},
"profile": {
"data": {
"type": "profile",
"id": "{{{values.id}}}"
}
}
}
}
}
<aside>
Remember to change the variables from the example to the actual placeholders.
Remember to review the payload content before saving.
</aside>