Pipedream — my new best friend

Faced with upgrading my Zapier account to an unpalatable $20 a month, I give it a flick for the more developer-friendly automation platform, Pipedream.

Pipedream — my new best friend

Today, I dodged $20-a-month bullet by replacing Zapier with Pipedream. For those unfamiliar with these types of apps, Zapier is a user-friendly automation service that allows you daisy-chain all kinds of online apps and services together without needing to code. For example, I use Zapier to automate posting new blog articles to Facebook and Twitter. I have another Zap that pushes new members automatically to my MailerLite account for my newsletter.

For several reasons I’ve decided to move away from MailerLite and use Ghost’s integrated newsletter system instead. In doing so, I now need to overhaul the way I automate certain tasks. Thankfully, Ghost makes that easy with the ability to create Webhooks that are triggered when certain events occur, i.e., when a new member signs up.

Zapier allows you to create 5 simple zaps (automation workflows) free. However, delving into the guts of Ghost’s API to achieve what I wanted, meant I had to add some conditional logic to my Zap. Unfortunately, that creating using a multi-step Zap with filters, and Zapier only makes those available to their Starter plan and above. Jumping from $0 to $19.99 a month is a bit rich for my blood.

Enter Pipedream, a service that began life as a testing tool for developers wanting to throw payloads at an HTTP endpoint without having to stand up a PHP script on a web server. I discovered Pipedream through my day job as a technical writer and developer. My initial plan was to create a PHP page and deploy it on DigitalOcean, using Pipedream just for testing purposes, so I could analyse the payload sent by Ghost.

Well, to my surprise, Pipedream does everything Zapier does, and a hell of a lot more — for a fraction of the cost. Like so many developer-oriented tools, the free tier is incredibly generous, providing unlimited apps, event sources and workflows, with 10,000 invocations a month. In Zapier parlance, that’s unlimited, multi-step zaps, with custom logic.

However, Pipedream isn’t as user-friendly as Zapier — far from it. Where Zapier does its best to abstract away the complexity of APIs, JSON responses and code, Pipedream embraces them. Even so, Pipedream does take the tedium out of connecting services and provides about 400 ready-to-use integrations. Ghost isn’t one of them, so I had to create an HTTP trigger, which provides an endpoint I could then use with Ghost’s Webhook facility. Now when Ghost registers an event, in my case, Member Updated, it sends the data to Pipedream’s endpoint.

After receiving the payload from Ghost, you can use it in your workflow by adding additional steps. In a simple workflow you can pass it to an email, or app (more on this in a moment), with all or part of the payload using variables.

However, things get a lot more interesting when you add a NodeJS step in your workflow. These act as code blocks, allowing you to manipulate and shape the data received by the Webhook using JavaScript. In my case, I used some conditional logic (a simple if statement) to evaluate which field in the user’s data was updated, and then constructed the message I wanted. Now all I had to do was direct the message somewhere.

As noted, Pipedream provides integration with over 400 apps and services. At first, I thought of emailing the message to myself, but realised Slack was an option. I recently created a Slack workspace for Scriptorium, so I decided less clutter in my inbox was a good thing and wired up slack instead. I saved and deployed the workflow, tested it from Ghost by updating one of my dummy accounts, and seconds later the message popped up in my designated Slack channel.

Concluding thoughts

I’ll admit I did a dance of victory when I wired everything up. Not only did Pipedream let me create the workflow I needed, but doing so means I don’t have to stand up a web server and write everything in PHP. Nor, for that matter, do I have to pay Zapier a cent — much less $20 a month.

I’ve barely scratched the surface of Pipedream, but my eyes are certainly open to the enormous potential it offers as an automation platform. Yes, it’s not as noob-friendly as Zapier, but as a developer, I actually enjoy a little less abstraction between me and my data. With JavaScript scripting capabilities, and 400 integrations, it is both powerful and convenient — a combination I respect.

Pipedream straddles the divide between scratch coding and the pre-canned solutions offered by the likes of Zapier and IFTTT. For me, as a time-challenged developer who's too much of a tight-arse to throw money at every problem, Pipedream is perfect.