Autopilot: Custom Endpoint

About the stream

You can stream activities generated in Autopilot to your custom endpoint.

How to enable the stream

In Settings go to "Activity Streams", then "Custom Endpoint":

Click "Connect Custom Endpoint". You will then be asked for a URL that can receive a JSON stream. Please note that in order to ensure the data we send you is encrypted, you need to provide an HTTPS URL. You will receive an email when your stream has been provisioned. Please allow up to 48 hours for this to occur.

What activities are streamed?

Below is a description of the activities that are streamed, an then the activity name:


  • Email sent: email.sent
  • Email opened: email.opened
  • Email clicked: email.clicked
  • Email replied: email.replied
  • Email unsubscribed: email.unsubscribed
  • Email bounced: email.bounced
  • Email deferred: email.deferred
  • Email reported spam: email.reported
  • Transactional email sent: email.transactional.sent
  • Transactional email opened: email.transactional.opened
  • Transactional email clicked: email.transactional.clicked
  • Transactional email replied: email.transactional.replied
  • Transactional email unsubscribed: email.transactional.unsubscribed
  • Transactional email bounced: email.transactional.bounced
  • Transactional email deferred: email.transactional.deferred
  • Transactional email reported spam: email.transactional.reported


  • Headsup shown: headsup.shown
  • Headsup opened: headsup.opened
  • Headsup responded: headsup.responded
  • Headsup dismissed: headsup.dismissed


  • Postcard sent:postalmail.sent


  • SMS sent: sms.sent

Lists and Segments

  • Added to list: list.added
  • Removed from list: list.removed
  • Entered smart segment: segment.entered
  • Left smart segment: segment.left


  • Form submitted: form.submitted


  • Entered journey: journey.entered
  • Ejected from journey: journey.ejected


  • Converted: converted

How will my activities be sent?

Activities are sent to your specified endpoint as new line delimited JSON strings.


{"id":"71e4ae20-5a52-48e3-84a0-6a5510050e27","action":"journey.entered", .. }\n {"id":"b477b8da-2ea4-4cca-a781-0e23bb79accc","action":"journey.ejected", .. }\n {"id":"c9777005-9fbd-4b4e-80ed-d3c0417f9092","action":"list.added", ........ }\n

With each line representing an activity and once expanded should look like the example below:


{ "id" : "cbb1075a-cdb2-4c29-954e-1ca2c8ddab27", "instanceId" : "my-instance-name", "ingestTime" : "2017-09-28T08:54:47.135Z", "timestamp" : "2017-09-28T08:54:47.098Z", "action" : "journey.entered", "isTouch" : false, "tags" : [], "journeyTouchesToDate" : 0, "object" : { "id" : "fd4b62a9-e351-47f2-9c9c-f8d63b06ff5e", "type" : "journey", "name" : "Trial Customer" }, "journey" : { "id" : "85d4286b-3404-453b-ba29-d45a553e9e91", "name" : "Trial Customer" }, "actor": { "id" : "2e148513-6644-4549-885f-b95e669f1b9f", "type" : "contact", "email" : "" }}

Can I stream these activities to Amazon Redshift?

Yes, you can do this using Stitch. If you use Stitch you don't need to connect a custom endpoint as demonstrated above. Please follow the tutorial below and then send the information requested in the video to us. Our team will then provision your stream.