Skip to Content

Connect your marketing systems to TwentyThree using Webhooks

TwentyThree lets you connect to all the major marketing services, including Hubspot, Marketo, Eloqua, Pardot, MailChimp. Google Analytics and Adobe Analytics. If you favourite marketing tool isn't supported yet, it's possible to feed data through with Segment or using webhooks.

Webhooks are simply web requests carrying data between services. Using this feature you can:

  • Have TwentyThree send collector and lead information to another marketing system. In this case, all information submitted in a TwentyThree collector will also be sent to your system. We call this a push webhook.
  • Send information to TwentyThree about users already logged in to another system. In this case, your system's information such as names, companies and email addresses will show up in Audience in TwentyThree. Apart from being added to your video tracking abilities, this will also ensure that visitors you have already converted will not be asked to fill in collectors on gated video content. We call this a pull webhook.

Setting up a webhook

Webhooks are configured in "Connect" section under "Video Attribution:

  • Click the Webhook icon
  • Input the webhook URLs in the form
  • Click the Save button.


TwentyThree video players are hosted on HTTPS whenever possible, so make sure this URL is available on HTTPS—or even better that you are using protocol-less URLs.

Getting collector information with a push webhook

With a push webhook, all data submitted in a collector will be forwarded to that webhook using a GET request.

For example:

https://www.mydomain.com/webhooks/receive
    ?email=steffen@twentythree.net
    &firstname=Steffen
    &lastname=Christensen
    &title=CTO
    &phone=+45123456789
    &source=corepeople
    &id=4701926
    &domain=rangu.23demo.com
    &object=4701926
    &viewer_uuid=0677864c-5397-0573-8b9f-0fa1f8fb3f5d
    &videoType=ondemand
    &videoTitle=Patagonia Women's Nano Puff® Jacket
    &videoDuration=82
    &videoStreamType=ondemand
    &videoLink=http://rangu.23demo.com/patagonia-womens-nano-puff-jacket
    &videoCategory=Imported from 23

Sending information to TwentyThree through a pull webhook

With a pull webhook, TwentyThree will request visitor data from any URL. You can forward any information you need, but we suggest to at least include email and name whenever possible.

Since data is exchange across domains, requests can be run using the JSON-P pattern.

callback({
  "email":"steffen@tchr.dk",
  "name":"Steffen Christensen",
  "company":"TwentyThree",
  "companySite":"https://www.twentythree.net",
  "title":"CTO & Co-founder",
  "avatar":"https://gravatar.com/avatar/8a6fa806b14f2a28b4241b7c6803e97c?s=200",
  "employeesRange":"30-50"
});

Alternatively, the connect can use raw JSON provided that the appropriate CORS headers are returns from your servers:

{
  "email":"steffen@tchr.dk",
  "name":"Steffen Christensen",
  "company":"TwentyThree",
  "companySite":"https://www.twentythree.net",
  "title":"CTO & Co-founder",
  "avatar":"https://gravatar.com/avatar/8a6fa806b14f2a28b4241b7c6803e97c?s=200",
  "employeesRange":"30-50"
};

For performance reason, data will be pulled a maximum of once per hour for every user, but this behaviour can be controlled when configuring the connection.

My data isn't coming through?

The most common cause of data syncing problems with webhooks is SSL/HTTPS. Most TwentyThree players are hosted on HTTPS, which means that webhooks starting with http://... simply won't work.

Also, browsers won't allow cookie transfer to HTTPS address from within a HTTP page. For that reason using protocol-less URLs (i.e. //my.domain.com/webhook) whenever possible is recommended.