Sending webhooks FROM Snowplow


#1

I understand that Snowplow is able to accept webhooks from a number of third-party services.
Is it possible to setup outbound webhooks to third-party systems?
For example, when Event X is tracked, a webhook to an external system is triggered passing along this event data?


#2

Currently this isn’t possible - although you could read the events of the enriched Kinesis stream and push that data to a third party system.


#3

We have had a lot of success doing this with AWS lambda functions. You put a couple of lines of code to take the record from kinesis (as described above) and send it via API to the third party url.

With Aws Lambda, you only pay per 100ms of runtime instead of server costs and linking the lambda function to kinesis is a one click procedure.


#4

Lambda function approach can become too expensive - even with short code, number of events may ruin your budget. I would rather start with Kinesis Analytics to at least filter all the events you are (or may be to limit processing time) interested to generate hooks. Send them to new Kinesis stream and activate Lambda.