
@Zapier co-founder & CTO. Dad. Guitar picker.
St. Louis, MO
Joined June 2009
- Tweets1.2K
- Following2.4K
- Followers4.3K
- Likes2.4K
new achievement unlocked? running an eval on a model, it aces a tricky task, then it starts to celebrate and summarize... This request was declined because it could enable cyber harm.
Introducing Next Gen Zaps⚡️
Every Zap now comes with an AI manager agent that spots what's broken and fixes it for you
Set a trigger once, and your workflow runs on its own (without you prompting it in chat)
Oh, and it gets cheaper the more you run it. Repeat AI work turns into deterministic steps, so you burn fewer tokens over time.
Now in beta 👇
Request early access: zapier.com/workflow/early-ac…
at zapier we got access to opus 5.5 a while back to run automationbench and found it to be exceptional at 40% on max, just a hair below gpt 6 astra at 41.4% and well above fable 5.1 at 31.4%. some reflections below:
the writing is certainly better and less fried -- the efficiency gains are easy to feel.
i'll admit its a little unnerving to see such complex bash and python scripts just flying by, but the elegance in which it reads a token from the clipboard, validates it, and persists it safely is very impressive. anecdotally, an earlier model would take many turns to do that, if it did it at all -- opus 5.5 does it one sleek pass. crazy!
while i am speculating, it seems pretty clear that the labs are incentivizing efficiency (# of turns/tokens) in their training. you can certainly feel it when you come back to your tab to a killer answer and only 90k tokens spent when you'd have expected 200k+ or more!
i think this places some pressure on coarse mcp tools which lack the compactness that access to bash and rg/head/tail/jq/etc. afford. seems like code/bash mode really is the way!
Bryan Helmig 🍻 retweeted
i forgot that logprobs used to be universally exposed from LLM inference APIs! we're entering some market maturity phase of LLMs where it's viable to slice off interesting parts of the LLM stack and package them in new ways that are useful
tl;dr -- jev is a very useful paradigm which has been hiding in plain sight.
also, pour one out for log probs disappearing from so many new closed inference apis... 😢
prompting llms with max_tokens: 1 w/ log probs for fast, parallelized judgments may be an old pre-structured outputs trick gaining new life, but i'll admit i'm rather surprised at how flexible and useful this pattern appears. there's a lot more depth here than i expected -- the demos are quite impressive!
back in the golden days of early llms circa 2023, i recall experimenting with fine tuning oai's ada to output either a 1 or a 0 token, and inspecting the log probs to roughly gauge confidence. at zapier we were exploring this around field mapping -- matching output fields from a prior step to input fields in another.
seems like training a base model specifically to return calibrated probabilities takes that quite a bit further. it's so cheap that you can ask tons of speculative questions and just throw away the answers. add a hierarchy of follow-up questions and you can really tune the plinko machine. quantity truly has a quality of its own.
with short questions and shared context, the rough math works out to ~60 field judgments per penny with fine-tuned ada versus potentially ~11k with jev batching -- amazing!
what other interesting paradigms are lurking in plain sight?
tl;dr -- jev is a very useful paradigm which has been hiding in plain sight.
also, pour one out for log probs disappearing from so many new closed inference apis... 😢
prompting llms with max_tokens: 1 w/ log probs for fast, parallelized judgments may be an old pre-structured outputs trick gaining new life, but i'll admit i'm rather surprised at how flexible and useful this pattern appears. there's a lot more depth here than i expected -- the demos are quite impressive!
back in the golden days of early llms circa 2023, i recall experimenting with fine tuning oai's ada to output either a 1 or a 0 token, and inspecting the log probs to roughly gauge confidence. at zapier we were exploring this around field mapping -- matching output fields from a prior step to input fields in another.
seems like training a base model specifically to return calibrated probabilities takes that quite a bit further. it's so cheap that you can ask tons of speculative questions and just throw away the answers. add a hierarchy of follow-up questions and you can really tune the plinko machine. quantity truly has a quality of its own.
with short questions and shared context, the rough math works out to ~60 field judgments per penny with fine-tuned ada versus potentially ~11k with jev batching -- amazing!
what other interesting paradigms are lurking in plain sight?
my gpt 6 astra reflections:
first, it achieves a record shattering 41.4% in our automation bench, the prior record holder was fable 5.1 at 31.4%.
second, its personality doesn't feel fried. its writing is usually very coherent and non-performative. much more pleasant.
1/?
finally, unsure how the economics will shake out. i can see myself using a lot of astra because it can just do so much more. our bill next month might get ugly...
4/4
another gpt 6 astra reflection: its surprisingly efficient at research. other models tend to flail about, making questionable queries in sequence. astra has way better judgement on what to query and does impressive compound queries via bash && or inline python threadpools.
also, since i use the zapier.com/sdk a bunch, watching it stitch crazy zapier-sdk curl [...] calls over managed api connections has been fascinating.
okay, so astra just set a new high on automationbench: 41.4% of business workflows completed correctly. so how is it better? and what is automationbench?
well, we measure that by putting the model in simulated apps, giving it a job, and checking the resulting records and messages with code. the hard part is building a test that catches "updated the wrong customer" or "ignored the hold" while still letting the agent figure out its own way to do the work.
more or less, you build an small environment for an agent. start with a known set of crm records, emails, spreadsheet rows, calendar events, etc. give the agent tools that behave like those apps' apis. underneath, it's structured state: sending an email adds a message to the sent mailbox, updating a contact changes a field on that record. nothing goes to an actual customer. each run starts with its own copy of the environment, so one model's changes don't affect another's.
then you give it a task. say the spreadsheet has verified job titles and you want the crm brought up to date. update the contacts, mark the spreadsheet rows reconciled, and send the summary to the audit inbox specified in the company's procedure. the agent has to find the procedure and the data itself. it gets a keyword search over api documentation and a tool for making requests with a method, url, and body. there's a budget of 50 turns, and it can make several tool calls in a turn.
you can make this quite hard without changing that basic request. put two people with the same name in different accounts. leave an outdated title in one source. mark a row verified, then put a later message in the inbox saying that title is disputed and shouldn't be changed yet. put another record under a security freeze. now the agent has to work out which records the request actually applies to. "update everyone in the spreadsheet" won't do it.
the critical information need to be discoverable, though. if the correct answer depends on a fact we never put in the environment, that's our bug. same if the api can't retrieve the relevant message, or the instructions contradict each other without a way to tell which one governs. making a task difficult is easy. making it difficult for a reason that tells you something about the model takes significantly more work.
scoring is ordinary, deterministic code that inspects the final state. for the contact task, the checks are along these lines: the eligible contacts have the expected titles, their spreadsheet rows are marked reconciled, and the audit inbox received the required summary. but you also check that the held contacts kept their original titles and statuses. otherwise a model could update everyone and pass just because the two intended updates happened somewhere in there.
that's an actual difference we saw between astra and sol. astra updated two eligible contacts; sol updated four, including two it should have left alone. sol had even retrieved the security-freeze message for one of them before making the change. a grader that only checked whether the requested updates happened would miss that failure. crucially -- you have to check the unwanted changes too.
the same applies to messages. checking that the right person received an email isn't enough if the agent also sent it to twenty wrong people. these negative checks are part of the task, not an optional safety score off to the side. every scored check has to pass for the workflow to count as complete. we keep partial credit to help inspect failures, but 41.4% means complete tasks, not the average fraction of steps the model got right.
we don't prescribe the whole sequence of calls. the agent might find the data a different way, batch some updates, or correct an earlier mistake. if it leaves the required state behind, that should pass. this also means the benchmark only sees what its checks cover. a deterministic grader can be consistently wrong! we audit the tasks and use separate hint-assisted runs to help check that they're solvable; the hints aren't part of the scored runs. the simulator and the grader both need scrutiny when a model fails.
the public task set is available for experimentation. the headline scores use a separate, harder held-out set, so don't mix those numbers. a few model developers (meta, z.ai, etc) are reporting public set scores which aren't verified by us. and none of these scores tell you that the model will succeed on that percentage of work in your company. they tell you how often it completed this particular set of workflows under these conditions.
we're actively working on automationbench 2, something that will be significantly trickier...
fifth, it's way more persistent. it doesn't quit, a lot of times other models just kind of randomly stop. astra doesn't.
sixth, its pretty good at coordinating work -- running a few together is fun to watch.
3/?
third, there are way more moments of "wow, it really gets it", it does more effective research before starting to do work, and has way better judgement.
fourth, it does an impressive amount of "creative grinding". clever micro benchmarks, skipping helpers for direct data.
2/?
Bryan Helmig 🍻 retweeted
Love seeing @Zapier's AutomationBench as the first benchmark listed.
Congrats on taking top spot, @GeminiApp and @OfficialLoganK!
Cool that Grok 4.5 is #1 in some respects, even with respect to Fable 5
SpaceXAI's Grok 4.5 takes the #1 spot on AutomationBench-AA with a score of 51%, ahead of Claude Fable 5 (49%) and Claude Opus 4.8 (48%) at roughly a quarter of their cost per task - the first model to complete more than half of workflow objectives without breaking any business rules
AutomationBench-AA, our independent leaderboard for @zapier’s AutomationBench, tests whether AI agents can automate real SaaS workflows while adhering to business rules. The test set is private to prevent contamination.
Models complete 657 tasks across 40 simulated app environments including Gmail, Google Sheets, Slack, Salesforce, and HubSpot, and the headline score is the share of objectives completed without violating any guardrails.
Key takeaways:
➤ Grok 4.5 completes more objectives than any other model: It completes 79.9% of task objectives and strictly passes 21.9% of tasks. This is the highest we’ve measured on both outcomes, exceeding Claude Fable 5’s 73.3% objective completion and Claude Opus 4.8’s 19.3% of fully-completed tasks
➤ Grok 4.5 pushes out the Pareto frontier of score vs. cost per task: At $0.34 per task, it is both cheaper and higher-scoring than every other leading model - Claude Fable 5 ($1.35 per task), Claude Opus 4.8 ($1.46), GPT-5.5 (xhigh, $1.28), and Gemini 3.5 Flash (high, $0.49)
➤ It is extremely token-efficient: Grok 4.5 uses ~8k output tokens per task, the fewest of any leading model - less than a quarter of Claude Opus 4.8 (32k) and a third of Gemini 3.5 Flash (24k). Its total token usage of 0.44M per task is among the lowest on the leaderboard. Low cost is driven by this efficiency as well as low token pricing
➤ Grok 4.5 uses fewer turns with many parallel tool use: Grok 4.5 resolves tasks in ~16 turns, fewer than GPT-5.5 (xhigh, 25) and less than half of Gemini 3.5 Flash (high, 35), while making the most tool calls per task of any leading model (52.5). It batches 3.3 tool calls per turn, compared to ~2.5 for Claude Opus 4.8 and ~2.0 for GPT-5.5 (xhigh)
➤ Guardrails still get broken: Grok 4.5 triggers 0.63 violations per task, above Claude Opus 4.8 (0.55) and Gemini 3.5 Flash (0.46). At 13.0 objectives completed per violation, it trails Gemini 3.5 Flash (15.0) and Claude Opus 4.8 (13.5)
➤ Its strongest lead is in the hardest domain: Grok 4.5 completes 71% of Finance objectives, the domain with the lowest average score, ahead of Claude Fable 5 (64%) and Claude Opus 4.8 (62%)
Congratulations to @spacexai and @elonmusk on topping the leaderboard!
Bryan Helmig 🍻 retweeted
SpaceXAI's Grok 4.5 takes the #1 spot on AutomationBench-AA with a score of 51%, ahead of Claude Fable 5 (49%) and Claude Opus 4.8 (48%) at roughly a quarter of their cost per task - the first model to complete more than half of workflow objectives without breaking any business rules
AutomationBench-AA, our independent leaderboard for @zapier’s AutomationBench, tests whether AI agents can automate real SaaS workflows while adhering to business rules. The test set is private to prevent contamination.
Models complete 657 tasks across 40 simulated app environments including Gmail, Google Sheets, Slack, Salesforce, and HubSpot, and the headline score is the share of objectives completed without violating any guardrails.
Key takeaways:
➤ Grok 4.5 completes more objectives than any other model: It completes 79.9% of task objectives and strictly passes 21.9% of tasks. This is the highest we’ve measured on both outcomes, exceeding Claude Fable 5’s 73.3% objective completion and Claude Opus 4.8’s 19.3% of fully-completed tasks
➤ Grok 4.5 pushes out the Pareto frontier of score vs. cost per task: At $0.34 per task, it is both cheaper and higher-scoring than every other leading model - Claude Fable 5 ($1.35 per task), Claude Opus 4.8 ($1.46), GPT-5.5 (xhigh, $1.28), and Gemini 3.5 Flash (high, $0.49)
➤ It is extremely token-efficient: Grok 4.5 uses ~8k output tokens per task, the fewest of any leading model - less than a quarter of Claude Opus 4.8 (32k) and a third of Gemini 3.5 Flash (24k). Its total token usage of 0.44M per task is among the lowest on the leaderboard. Low cost is driven by this efficiency as well as low token pricing
➤ Grok 4.5 uses fewer turns with many parallel tool use: Grok 4.5 resolves tasks in ~16 turns, fewer than GPT-5.5 (xhigh, 25) and less than half of Gemini 3.5 Flash (high, 35), while making the most tool calls per task of any leading model (52.5). It batches 3.3 tool calls per turn, compared to ~2.5 for Claude Opus 4.8 and ~2.0 for GPT-5.5 (xhigh)
➤ Guardrails still get broken: Grok 4.5 triggers 0.63 violations per task, above Claude Opus 4.8 (0.55) and Gemini 3.5 Flash (0.46). At 13.0 objectives completed per violation, it trails Gemini 3.5 Flash (15.0) and Claude Opus 4.8 (13.5)
➤ Its strongest lead is in the hardest domain: Grok 4.5 completes 71% of Finance objectives, the domain with the lowest average score, ahead of Claude Fable 5 (64%) and Claude Opus 4.8 (62%)
Congratulations to @spacexai and @elonmusk on topping the leaderboard!
In the age of agents, it's surprising how important information accessibility becomes. If conversations and thinking is hidden away, it's not very useful, is it?
Try this in before replying to your next DM: "can we post this somewhere public?"
We're killing the DM at @Zapier. Starting with the executive team.
We've long held Default to Transparency as a value. That value has largely encouraged communication in public channels. But as the company grew, DMs are a hard habit to resist and break.
But every DM is a gap in our Shared Brain. It's context that is lost for humans and AIs. As a result the cost of DMs keeps going up.
So earlier this year I posted about our exec transparency leaderboard. The leaderboard has become quite the competition internally…
I'm 3rd today. My co-founder @BryanHelmig has held the top spot as long as I can remember…
It sets a standard for the rest of the company. In fact, since last year we’ve seen the % of Slack messages in public channels go from 33% to 46%.
What the leaderboard measures
Transparency is a team sport, and a disinfectant. Every month we track what percentage of our execs' Slack messages happen in public channels versus private DMs.
When your CEO debates strategy in a DM, that decision is invisible to every agent and every team that needs to know what was decided and why. The decision happens but the reasoning vanishes.
When that conversation happens in a channel, it stays. New hires can search it, agents can read and verify it, etc. Your Shared Brain knows what's true now: ask it a question and the answer reflects the latest reality.
Taking It to the Next Level
Reducing DMs are one way to increase transparency and open up context for humans and AI, but there are other mechanisms that help too. Three things beyond the leaderboard:
1. Meetings get recorded, transcribed, and become queryable
2. We run a shared skills library. Anyone on the team can encode a workflow they've figured out into a skill and share with the team
3. And we keep score. It's a silly scoreboard, but it subtly drives positive behaviors
Raising Your Ambition
In order to get the most of AI in your company, the AIs need context. So making your context queryable is one of the most practical moves you can make to improve the effectiveness of your AI agents.
P.S. I’m coming for #1, Bryan...














