Enter your search

October Hack Day

Push notifications, Slack analytics, a debugger, NPS feedback, integrations and more. All in a day.

We aim to do a hack day once a month at GoSquared – it’s an awesome way of getting everyone to think freely for just a single day with no distractions. Every single time, we’re blown away by what each of the team can produce in just a day.

Here’s what we got up to on our July hack day and our May hack day.

Here’s a sample of some of the hacks from our October hack day. Enjoy!

Automating NPS feedback in GoSquared People with Zapier

For a while now, GoSquared has helped you bring all your customer data together in one place. Brennan thought he’d put this to the test by seeing how easily he could get all of our customers NPS (Net Promoter Score) data into GoSquared People.

We currently automate our NPS workflow by defining what sort of customer we want to survey using a Smart Group. When a new customer meets these criteria they fall into the Smart Group, causing a webhook notification to be sent to Zapier. This triggers a ‘Zap’ to be run.

The ‘Webhooks by Zapier’ service parses out the customer’s email address and ‘Zaps’ it over to Promoter.io to send them a NPS survey.

Thats great, but how do we get that information back into GoSquared? Well it turns out Zapier is pretty handy for that too.

Brennan created a second Zap using Code by Zapier, which is essentially Node.js as a service. Any other Zapier service can pass variables into Code allowing you to do whatever you like with them using javascript. There’s a simple GUI for selecting which variables you want to pass into Code, in this case ‘NPS score’, ‘NPS feedback message’ and ‘customer email address’. You can’t use libraries or require modules but Zapier have opted to build in the simple Fetch http library. Luckily that’s all you’ll need to be able to post to the GoSquared Tracking API.

Using the customer’s email address as the ‘person_id’ Brennan was able to POST the NPS score as custom property directly into GoSquared People. The Zap runs every time a customers NPS score changes in Promoter.io ensuring that the data in GoSquared always stays up to date.

Now anybody in the team can filter customers based on their NPS score, NPS type (promoter, passive, detractor) and when they were last surveyed.

Connecting GoSquared People to Google Sheets with Zapier

One of the difficult aspects of building new products/features is quickly creating prototypes that you can throw real data at and see if it would help our customers. This is where Hugh had the idea to funnel GoSquared People data into Google Sheets. The real strength in using Google Sheets is the ability to quickly test different visualisations and metrics from real world data.

To set it up, Hugh created a Smart Group that send a webhook to Zapier every time someone visited the site. From Zapier it was inserted into Google Sheets as a new row. Now Hugh had a super flexible data set that was easy to create new derived metrics and test new ways of presenting the data all without touching a line of code.

GoSlacked – metrics on your team’s Slack usage

For Ben’s hack day project, he wanted to see how we could visualise our team Slack communications using our own tools.

As our central tool for communication, it could act as a good view of how and when we are online and working hard to make GoSquared the best it can be.

By using Slack’s Real Time Messaging API together with our own Node.js library we could receive all messages coming from our various channels and track each message as a pageview.

Whilst somewhat crude this gives us an idea of which channels are most used by the team. As we can see below, our channel for offering and requesting cups of tea is only slightly behind our developer channel.

By parsing the incoming messages in the tea channel we can now get a more accurate idea of just how much tea we are drinking, which as a British company is understandably a vital metric to track.

iOS and Push Notifications

Over the past few hack days, Ed has been exploring iOS technologies by building a People iPhone app. Adding to what he had already built, Ed introduced sending push notifications around smart group activity.

The hack day project was an extremely light-weight server written in Go. The server listens for webhook requests from people entering and exiting selected smart groups, and then sends a push notification to your iPhone. A couple of example notifications you can set up are alerting you when an influential person signs up to your service, or get notified when you have a customer cancel their account, so you can reach out and find out why.


When you’re setting up tracking with GoSquared, it’s sometimes tricky to see whether you’ve got everything set up correctly. It’s fairly easy to check your pageviews in the Now Dashboard, but for events, identifying People, or for any of our third-party-integrations, it can be harder to tell whether everything’s working correctly.

So, inspired by the excellent real-time debugger by our friends at Segment, JT set about putting together a proof-of-concept that’d allow us to provide a real-time stream of all the activity seen for a particular site by our tracking backend. Turns out this was surprisingly easy, and we now have a simple proof-of-concept that can display everything happening for a site, in real-time.

It’s still early days, and it remains to be seen whether this develops into a full-fledged feature within GoSquared, or whether it could be used more like an engine to power something else inside our setup and integration guides. Stay tuned!

Written by
James is CEO and one of the co-founders of GoSquared. He also likes to talk about design.

You May Also Like

Group 5 Created with Sketch. Group 11 Created with Sketch. CLOSE ICON Created with Sketch. icon-microphone Group 9 Created with Sketch. CLOSE ICON Created with Sketch. SEARCH ICON Created with Sketch. Group 4 Created with Sketch. Path Created with Sketch. Group 5 Created with Sketch.