Hacker News new | ask | show | jobs
Introducing Multi-Step Zaps: An Easier Way to Build Powerful Workflows (zapier.com)
96 points by Brian_Curliss 3797 days ago
9 comments

Zapier co-founder here.

This is seriously the biggest change to our product since launching the company. We've been working on it for a year (including a beta w/ several thousand users) and are very excited to finally release it. Before, Zapier only supported 1-to-1 integrations which limited it's power. Multi-Step Zaps open up a huge array of new power...

- transforming data (like dates, string manipulation)

- executing JS code in between steps (can do manipulation, extra API calls, etc.)

- looking up data inside other apps

- if an item isn't found when looking it up, create it

More details in our release notes: https://zapier.com/blog/workflow-automation/

How we built this: http://blog.invisionapp.com/redesigning-interactive-editor/

I know a ton of folks in the HN community use Zapier. Thank you so much for your support. I can't wait to see what you build now!

Likewise - Zapier co-founder/CTO here - really excited about this launch. It represents a complete re-build of our stack to support workflows. Pretty much anyone can build complex workflows from a pretty easy to use UI.

To call this out specifically - I think HN might appreciate the Code steps you can add to your workflow - we support both Python [0] and Javascript [1] today.

I've been using it to replace dozens of crontabs and others are using it to inject custom scripting into workflows around Github, Bitbucket, Trello, Salesforce, etc. I especially like making Slack bots with it (we've made a few game moderator bots, pretty fun).

I'll be around all day - happy to answer any questions. There is some cool tech under the hoods.

[0] https://zapier.com/help/code-python/#how-does-it-work

[1] https://zapier.com/help/code/#how-does-it-work

We love Zapier and I'm really excited to start playing around with this. One concern I've always had as an engineer using Zapier was how it accounted for unique trigger events.

1. Concerning privacy, for API's that don't offer webhooks for instance, does Zapier poll the API and then store some of our data in order to confirm that new records are indeed new? 2. Concerning robustness, what insurance is there against any failure that the zap will catch up with its triggers?

We don't currently use Zapier for anything mission critical and I'm hesitant to recommend it, but it would be pretty cool if we could use it for making zaps that contain more sensitive data and are more critical.

The privacy policy states: "Your user-facing Task History is stored for the life of your account so that you can monitor Zapier activity and replay failures." [1] I was hoping for a bit more of a technical explanation, though, and could only find pricing FAQ's.

[1] https://zapier.com/help/data-privacy/

A quick primer:

1. We store a hashed unique id for polling deduplication for as long as your zap is on. We don't store "all" data for all items "seen" in this case.

2. The nice thing about polling is even if we miss a beat here or there - catching up is crazy easy. This is usually no problem at all.

Reliability is actually a big push for us in 2016 - while we are already pretty good we want to be provably safe for mission critical stuff. Keep an eye for some transparency/service status stuff from us this year.

More details since you linked to data privacy:

The task history stores all the data around a task that fires, we've found it is critical for transparency so users can see what happened when and with what data.

The raw logs (think outbound HTTP API calls) are stored for 7 days max and are absolutely critical for us determining just what an account is doing in the system. We just roll them off after 7 days for security reasons.

Have you thought about adding time-delays between zaps?
Allow me to work magic for you: https://zapier.com/zapbook/delay/ (it's brand new today, too) :)
And I love you.
Give this man a Cookie!
Very excited about the Multi-Step Zaps! I've spent the last 20 minutes updating all our Zaps to be more fruitful and have a bit more to continue. The workflow is clean, the experience is great, and value is clear. Thank you!
This is HUGE! So excited to see this. I automate huge swaths of my life with Zapier.

I have been relying on a little self-hosted web app to "fork" some web hooks and this seems to me to eliminate that need entirely.

https://github.com/deadlyicon/deploy-hook-forker

That is pretty clever. We also let you rewrite the "hook" - or shrink it - or even augment it!
Good stuff - I know this has been in the pipeline for sometime. Excited to see it out in the wild. Congrats to the Zapier team on producing an awesome product - look forward to using multi-step zaps.
I love Zapier, with one exception. For some reason the webhook zap doesn't provide the whole post body. Strips the root {} meaning it shows up as text without structure. Very odd choice that I wish they'd fix. Besides that am big fan
Great suggestion - thanks! I'll look into providing the POST body for inbound webhooks.
Thanks dude!
Anyone who uses Zapier for personal workflows - I am curious why use Zapier over IFTTT?

Note: this is NOT a challenge to why something like Zapier exists for business, nor a comment directly on the new multi-step Zaps.

Its hard to explain but i dont feel IFTTT and Zapier quite operate in the same space. IFTTT is much more about your relationship with a service that needs some basic interaction with another. Every "recipe" is built around you, your relationship with the primary online service.

Zapier is more like a glue between two building blocks, it doesnt have to include the relationship to you, just between two building blocks. That simple shift in the way zapier is solving automation make it incredibly powerful.

I'm super excited about this. Well done!

One of my biggest pain points was the lack of ability to determine if a record already exists before choosing to use an Update or Create action. (You'd think a service's API would treat Update the same as Create if no matching record is found, but that's not always the case.) So I've had to err on the side of caution and always use a Create action, thus filling the CRM (or whatever) with many many duplicates.

The search feature looks like it will handle this. Will be implementing shortly.

Some APIs do support "upsert" functionality which is basically what you suggested. It's not very popular though and Zapier previously had to support the lowest-common-denominator which is plain creates.

Now that we officially support Search actions, we can do a lot more cool things.

I remember this being something I saw people on hacker news asking about in 2012 :)
If you have multiple zaps that could be one multi-step zap - do you have a way to merge them?
We don't have any automated tools for combining zaps into multistep zaps right now - unfortunately. Seems like it could be useful though!
Very cool, congratulations on the launch.

I'd be curious to read a blog post about if/how you beta tested this feature and ensured "fit" of the final shipped feature. Did you have an early adopter / guinea pig group?

If I wanted to make a Zap DAG, would I just arbitrarily linearize it ? i.e. if my deps were,

    A -> B
    B -> X
    B -> Y
    B -> Z
    X -> C
    Y -> C
    Z -> C
    C -> D
one linearization is A -> B -> X -> Z -> Y -> C -> D

Do you notice implicit dependencies and do actions in parallel where there is no dependency ? Maybe it doesn't matter except for very deep / wide zaps.