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
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.
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. 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.
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!
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
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.
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'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.
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!