Building Production AI Agents Platform for Non-Technical Users

zapier · Tech · year n/a · source Agentic: yes · promotional bias: low · source-backed · extracted with prompt 0.5.5 (schema v2)

Generated from extraction.json — do not edit by hand. Every claim cites verbatim source evidence; stated means the quote directly asserts the claim, implied means it supports it indirectly.

Problem

Domain: No-code business-process automation agents

Zapier needed to run an agent platform for non-technical users who describe business automations, accept proposed tools and triggers, test agents, and then enable them in production. The hard part was not the prototype, but operating probabilistic, tool-using agents against unpredictable user behavior and turning real runs into feedback, evaluations, releases, and product improvements.

Constraints:

Architecture

Zapier Agents combines a no-code agent builder with a production LLMOps loop. Users describe a desired automation, the product proposes tools and a trigger, and the user tests and enables the agent. Production traces record LLM calls, tool calls, tool errors, and preprocessing/postprocessing in runtime-shaped data so interesting failures can be converted into evals. Explicit feedback, implicit behavior, traditional product metrics, and LLM-classified frustration reports feed failure clustering and roadmapping. Evaluation is layered: unit-test-like evals reproduce specific failures, trajectory evals run agents to completion and grade tool calls/artifacts, LLM-as-judge rubrics provide higher-level scoring, and staged A/B rollouts decide whether model or prompt changes improve real user satisfaction.

Diagram confidence: reconstructed (reconstructed from prose).

flowchart LR
  non-technical-user["Non-technical user"] --> zapier-agents-product["Zapier Agents product"]
  zapier-agents-product --> agent-runtime["Agent runtime"]
  agent-runtime --> tool-and-api-connectors["Tool and API connectors"]
  agent-runtime --> trace-instrumentation["Trace instrumentation"]
  non-technical-user --> feedback-collection-layer["Feedback collection layer"]
  zapier-agents-product --> feedback-collection-layer
  trace-instrumentation --> failure-clustering-and-roadmap["Failure clustering and roadmap"]
  feedback-collection-layer --> failure-clustering-and-roadmap
  failure-clustering-and-roadmap --> eval-dataset-builder["Eval dataset builder"]
  eval-dataset-builder --> unit-eval-harness["Unit eval harness"]
  eval-dataset-builder --> trajectory-evaluation-harness["Trajectory evaluation harness"]
  eval-dataset-builder --> llm-judge-and-rubric-scorer["LLM judge and rubric scorer"]
  trajectory-evaluation-harness --> tool-and-api-connectors
  unit-eval-harness --> model-comparison-workflow["Model comparison workflow"]
  trajectory-evaluation-harness --> model-comparison-workflow
  llm-judge-and-rubric-scorer --> model-comparison-workflow
  model-comparison-workflow --> a-b-rollout-monitor["A/B rollout monitor"]
  a-b-rollout-monitor --> zapier-agents-product
Drag to pan · scroll or use +/− to zoom · reconstructed from the source's described component topology

Components

Component Role Interacts with
Non-technical user Describes desired automations, tests agent runs, provides feedback, and decides whether to enable an agent. Zapier Agents product
Zapier Agents product Transforms user intent into proposed tools, triggers, and executable agent behavior for business-process automation. Non-technical user, Agent runtime, Feedback collection layer
Agent runtime Runs the agent through LLM calls, tool calls, database interactions, REST calls, and generated artifacts. Zapier Agents product, Trace instrumentation, Tool and API connectors
Tool and API connectors Execute the external application actions that make Zapier agents useful, including potentially side-effecting operations. Agent runtime, Trajectory evaluation harness
Trace instrumentation Records runtime-shaped traces with model calls, tool calls, errors, and processing steps for debugging and eval conversion. Agent runtime, Failure clustering and roadmap
Feedback collection layer Collects explicit contextual feedback and implicit signals from user behavior, conversations, and product metrics. Non-technical user, Zapier Agents product, Failure clustering and roadmap
Failure clustering and roadmap Aggregates traces and feedback into failure buckets, problematic interactions, and product improvement priorities. Trace instrumentation, Feedback collection layer, Eval dataset builder
Eval dataset builder Turns interesting runs and failures into unit, trajectory, regression, aspirational, or rubric-based evaluation cases. Failure clustering and roadmap, Unit eval harness, Trajectory evaluation harness, LLM judge and rubric scorer
Unit eval harness Checks next-state assertions such as chosen tool calls, parameters, keywords, and done-state decisions. Eval dataset builder, Model comparison workflow
Trajectory evaluation harness Runs agents to completion and grades the end state, tool calls, and artifacts while handling side effects with synthetic user environments. Eval dataset builder, Tool and API connectors, Model comparison workflow
LLM judge and rubric scorer Uses reasoning models and handcrafted rubrics to explain failures, compare model behavior, and score runs. Eval dataset builder, Model comparison workflow
Model comparison workflow Compares model and prompt candidates across eval layers before staged production release. Unit eval harness, Trajectory evaluation harness, LLM judge and rubric scorer, A/B rollout monitor
A/B rollout monitor Routes a small share of traffic to a new model or prompt and monitors feedback, activation, retention, and other business metrics. Model comparison workflow, Zapier Agents product

Data flow

A non-technical user describes a process in Zapier Agents. The product proposes tools and a trigger, then the user tests the agent and may enable it. Each run emits traces containing completion calls, tool calls, tool errors, and pre/post-processing. Feedback collectors attach explicit feedback at contextual moments and mine implicit signals such as enabling an agent, copying an answer, stop messages, rephrased follow-ups, churn-adjacent sessions, and frustration reports. Interesting runs and clustered failure modes become unit evals, trajectory evals, or rubric-based judge rows. Candidate model/prompt changes are compared in these evals and finally shipped through staged A/B traffic while activation, retention, feedback, and other product metrics are monitored.

5 supporting quotes
“You describe what you want. We propose you a bunch of tools a trigger and you enable that and hopefully we enable your we automate your whole business processes. Um and a key lesson that we have after those those two years is that um building good AI agents”transcript, stated
“you also want to make sure that you're recording much more than that in your traces. You want to record the tool calls, the errors from those two calls, the pre and postprocessing steps.”transcript, stated
“if they do turn it on, that's actually really strong positive implicit feedback, right? Copying a model's response is also good implicit feedback. Even uh OpenAI is doing this for chat GPT. And you can also look for implicit signals in the conversation. Here”transcript, stated
“whenever you see something interesting there should be like a one click to turn it into an eval. It should become your instinct. Once you understand what's going on on a singular run basis you can start understanding things at scale. So now you can do”transcript, stated
“Just take a small proportion of your portion of your traffic, let's say 5% and route it to the new model, root it to the new prompt, monitor the feedback, check your metrics like activation, user retention and so on. Based on that probably you can make the”transcript, stated

Why this architecture

Zapier's architecture treats the shipped product as the start of the engineering loop, because real user behavior reveals failures that prototypes and static benchmarks miss. Runtime-shaped tracing lowers the cost of converting production failures into evals. Multiple eval layers avoid overfitting to either tiny assertions or expensive end-to-end tests, while A/B rollouts keep the final objective anchored in user satisfaction rather than lab metrics.

4 supporting quotes
“the initial prototype is only a start and after you ship something to your users, your responsibility switches to building the data flywheel.”transcript, stated
“if you log data in the same shape as it appears in the runtime, it makes it much easier to convert it to an evo run later”transcript, stated
“there are different types of evals and the types of evals that we want to build can be placed into this hierarchy that resembles the testing pyramid”transcript, stated
“your goal isn't to maximize some imaginary number in a lab-like setting. Uh your end goal is user satisfaction.”transcript, stated

Models used: LLM agent model · Reasoning LLM · LLM-as-judge

Scale

Alternatives considered (roads not taken)

Ship the LangChain-style prototype directly

Rejected because: The team argues that prototypes hide the operational detail of probabilistic software and do not create the feedback/eval flywheel needed after users arrive.

“you chatted with this solution and they thought, well, it's actually kind of working. All right, so let's deploy it and let's collect some profit.”transcript, stated
“turns out the reality has a surprising amount of detail and we believe that building probabilistic software is a little bit different than building traditional software.”transcript, stated

Trace only completion calls

Rejected because: Completion-only traces are insufficient for debugging multi-call, tool-using runs; Zapier needed tool calls, tool errors, and processing steps too.

“they all offer like an easy way to get started like just tracing your completion calls. And this is a good start”transcript, stated
“but actually you also want to make sure that you're recording much more than that in your traces. You want to record the tool calls, the errors from those two calls, the pre and postprocessing steps. That way, it will be much easier to debug what went wrong”transcript, stated

Rely on explicit thumbs-up/thumbs-down feedback

Rejected because: Explicit feedback is high-signal but rare, so Zapier added contextual feedback prompts and implicit feedback mining.

“explicit user feedback is feedback is really high signal. So that's a good good place to start. Unfortunately, not many people actually click those classic thumbs up, thumbs up and thumbs down buttons. So, you got to work a bit harder for that feedback. And”transcript, stated
“Unfortunately, not many people actually click those classic thumbs up, thumbs up and thumbs down buttons. So, you got to work a bit harder for that feedback. And in our experience, this works best when you ask for the feedback in the right context. So, you”transcript, stated

Use only fine-grained unit evals

Rejected because: Unit evals helped hill-climb specific failures but over-indexing on them made stronger models look worse and obscured model-level behavior.

“we realized we had overindexed on unit test evos when the new models were coming out that were objectively stronger models but we were they were still performing worse”transcript, stated
“different models have different ways of trying to achieve the same goal and unit test evals are penalizing different paths.”transcript, stated

Mock trajectory-eval environments

Rejected because: Mocking would produce unrealistic data for side-effecting tool runs, so Zapier mirrored user environments with synthetic copies instead.

“you definitely don't want to send a email on behalf of the customer once again, right? Um so we had a fundamental question whether we should de mock environment or not. And we decided that we are not going mock we are not going to mock the environment because otherwise you're going to get”transcript, stated
“we decided that we are not going mock we are not going to mock the environment because otherwise you're going to get data that is just not reflecting the reality.”transcript, stated

Optimize for eval scores as the primary goal

Rejected because: The team treats lab metrics as proxies and uses user satisfaction plus A/B rollouts as the ultimate arbiter.

“Don't obsess over metrics. Uh remember that when a good metrics become a target, it ceases to be a good target.”transcript, stated
“your goal isn't to maximize some imaginary number in a lab-like setting. Uh your end goal is user satisfaction.”transcript, stated

Patterns

observability-tracing (operations)

Zapier records tool calls, tool errors, and processing steps in addition to completion calls, so production runs can be debugged and replayed as eval inputs.

“recording much more than that in your traces. You want to record the tool calls, the errors from those two calls, the pre and postprocessing steps.”transcript, stated
“That way, it will be much easier to debug what went wrong with the run.”transcript, stated

data-quality-loop (feedback)

The product combines explicit feedback, implicit behavioral signals, frustration clustering, and product metrics to create a data flywheel for prioritizing agent improvements.

“you need to collect the feedback you're starting to understand the usage patterns the failures so they can then you can build more evolves”transcript, stated
“you also want to mine user interaction for implicit feedback. And the good news is there's actually a lot of lowhanging fruit possibilities here.”transcript, stated

eval-driven-development (evaluation)

Zapier turns interesting runs and failure modes into evals, then uses a testing-pyramid hierarchy of unit, trajectory, rubric, and rollout evaluations to guide development.

“whenever you see something interesting there should be like a one click to turn it into an eval. It should become your instinct.”transcript, stated
“with unit test like evals at the base end to end evals or trajectory evals how we like to call them in the middle and the ultimate way of evaluating using AB testing”transcript, stated

llm-as-judge (evaluation)

Reasoning models and rubric-based LLM judges explain failures, compare model runs, and score trajectories with per-row human-authored criteria.

“using reasoning models to explain the failures. Turns out that if you give them the trace output, input instructions and anything you can find, they are pretty good at finding the root cause”transcript, stated
“We use an LLM to judge the run, but each row in our data set has a different set of rubrics”transcript, stated

canary-rollout (deployment)

Zapier validates new model or prompt changes by routing a small percentage of production traffic and monitoring satisfaction, feedback, activation, and retention.

“So that's why you think the ultimate verification method is an AB test. Just take a small proportion of your portion of your traffic, let's say 5% and route it to the new model, root it to the new prompt, monitor the feedback, check your metrics like activation, user retention and so on.”transcript, stated
“Just take a small proportion of your portion of your traffic, let's say 5% and route it to the new model”transcript, stated

tool-use-orchestration (architecture)

The agent runtime coordinates LLM calls with tool calls, REST calls, database interactions, and generated artifacts, requiring evaluation that can inspect the whole trajectory.

“one agent run is probably multiple LM calls, multiple database interactions, tool calls, rest calls, whatever.”transcript, stated
“we let the agent run till the whole uh till the to the end state and we are not grading just the end state but we are also grading all the tool calls”transcript, stated

Tradeoffs

Make tracing broad enough for agent debugging

Chose Full run traces with tool calls, errors, and processing steps over Only tracing model completion calls.

Rationale: Completion-only tracing was easy to start with, but production agent failures require the whole story and runtime-shaped data to become repeatable evals.

“Whether you're using brain trust or something else, they all offer like an easy way to get started like just tracing your completion calls. And this is a good start”transcript, stated
“You want to record the tool calls, the errors from those two calls, the pre and postprocessing steps.”transcript, stated

Combine bought and custom LLMOps tooling

Chose Buy/build hybrid tooling with custom internal workflows over Relying entirely on purchased LLMOps software.

Rationale: Zapier needed domain-specific understanding and one-click conversion from failures to evals; custom tooling became cheaper with AI-assisted coding.

3 supporting quotes
“We do both. Um, you're definitely going to need that to understand your agent runs”transcript, stated
“it gives you an ability to understand your data in your own specific domain context.”transcript, stated
“you should be also able to create a functionality to turn every single interacting case or every failure into an eval”transcript, stated

Use contextual and implicit feedback

Chose Feedback prompts at critical moments plus implicit behavioral signals over Static thumbs-up/thumbs-down controls alone.

Rationale: Generic controls produced limited explicit feedback, while contextual prompts and behavioral signals gave more usable signal without waiting for users to write detailed reports.

3 supporting quotes
“you got to work a bit harder for that feedback. And in our experience, this works best when you ask for the feedback in the right context.”transcript, stated
“this small change actually gave us like a really nice bump in feedback submissions surprisingly.”transcript, stated
“So, you also want to mine user interaction for implicit feedback. And the good news is there's actually a lot of lowhanging fruit possibilities here.”transcript, stated

Layer eval types instead of relying on one evaluation mode

Chose Unit evals, trajectory evals, LLM-as-judge rubrics, and A/B tests over A single benchmark or eval style.

Rationale: Each eval layer addresses a different need: unit evals hill-climb specific failures, trajectory evals capture multi-turn behavior, judge/rubric scores summarize capabilities, and A/B tests capture user impact.

“unit test like evals at the base end to end evals or trajectory evals how we like to call them in the middle and the ultimate way of evaluating using AB testing”transcript, stated
“We use LM as a judge or rubrics based evals to build a highle overview of your systems capabilities”transcript, stated

Mirror user environments for trajectory evals

Chose Synthetic copies of user environments over Fully mocked environments.

Rationale: They wanted eval data to reflect reality while still avoiding repeated side effects against customer systems.

3 supporting quotes
“we decided that we are not going mock we are not going to mock the environment because otherwise you're going to get data that is just not reflecting the reality.”transcript, stated
“just mirroring uh users environment and crafting a synthesis uh synthetic copy of that.”transcript, stated
“you definitely don't want to send a email on behalf of the customer once again”transcript, stated

Split eval datasets into regression and aspirational pools

Chose Regression cases plus hard aspirational cases over One eval set optimized toward high average scores.

Rationale: Regression cases protect existing customer use cases, while aspirational cases keep the dataset challenging and prevent 100% scores from becoming false comfort.

“dividing the data set into two pools. uh into the regressions data set to make sure that we are making any changes. We are not breaking existing use cases”transcript, stated
“also the aspirational data set of things that are extremely hard. For instance, like nailing 200 tool calls uh in a row.”transcript, stated

Gotchas (what bit them)

A working prototype does not represent production readiness.

Root cause: Probabilistic agent behavior and unpredictable user behavior create failure modes only visible after real usage.

Resolution: Treat launch as the beginning of a data flywheel, then instrument runs, collect feedback, convert failures into evals, and iterate.

3 supporting quotes
“building good AI agents is hard and building good platform to enable nontechnical people to build AI agents is even harder.”transcript, stated
“AI is nondeterministic. But on top of that, your users are even more nondeterministic.”transcript, stated
“the initial prototype is only a start and after you ship something to your users, your responsibility switches to building the data flywheel.”transcript, stated

Completion-call traces are too shallow for debugging agent failures.

Root cause: A single agent run can fail in tool calls, tool errors, preprocessing, postprocessing, database interactions, or REST calls.

Resolution: Record runtime-shaped traces that include the full run story and can be converted into eval inputs.

3 supporting quotes
“one agent run is probably multiple LM calls, multiple database interactions, tool calls, rest calls, whatever.”transcript, stated
“Each one of them can be source of failure and it's really important to piece together this whole story”transcript, stated
“if you log data in the same shape as it appears in the runtime, it makes it much easier to convert it to an evo run later”transcript, stated

Explicit feedback is valuable but too rare to drive the loop alone.

Root cause: Users rarely click generic thumbs-up/thumbs-down controls and often do not provide detailed actionable feedback.

Resolution: Ask for feedback at high-context moments and mine implicit behavior such as enabling agents, copying responses, stop messages, rephrasing, frustration, churn, and business metrics.

3 supporting quotes
“Unfortunately, not many people actually click those classic thumbs up, thumbs up and thumbs down buttons.”transcript, stated
“this works best when you ask for the feedback in the right context.”transcript, stated
“explicit feedback is still really rare. Uh, and explicit feedback that's detailed and actionable is even harder”transcript, stated

LLM frustration classifiers require domain tuning.

Root cause: A generic model does not automatically understand what frustration means in Zapier's product context.

Resolution: Tune and review the classifier until frustration grouping aligns with product semantics before using it for weekly reporting.

“using an LLM to detect and group frustrations and we have this weekly report that we post in our Slack.”transcript, stated
“it took us a lot of tinkering to make sure that LLM understood what frustration means in the context of our products.”transcript, stated

Unit evals can overfit to the current model's path.

Root cause: Fine-grained next-state assertions penalize different but valid solution paths from newer models.

Resolution: Use trajectory evals, reasoning-model comparisons, and A/B tests to complement unit evals.

3 supporting quotes
“the majority of our evals were so fine grain this made it really hard to see the forest for the trees”transcript, stated
“unit test evals were overfitting to our existing models or actually data collecting using that model.”transcript, stated
“our unit test evals were overfitting to our existing models or actually data collecting using that model. So what we started experimenting with is trajectory evals. Um yeah instead of grading just one iteration of an agent, we let the agent run till the whole uh till the to the end state and”transcript, stated

Trajectory evals can accidentally trigger real side effects.

Root cause: Agent runs may send emails or perform customer actions through tools during replay.

Resolution: Use synthetic copies of user environments rather than replaying against production side-effect surfaces.

3 supporting quotes
“if you are evaluating runs that have tools that cause side effects, right? When you are running an evil, you definitely don't want to send a email on behalf of the customer once again”transcript, stated
“we decided that we are not going mock we are not going to mock the environment because otherwise you're going to get data that is just not reflecting the reality.”transcript, stated
“what we started doing is just mirroring uh users environment and crafting a synthesis uh synthetic copy of that.”transcript, stated

LLM judges can introduce subtle scoring bias.

Root cause: Judge prompts and rubrics can be influenced by overlooked details and may not judge the intended property.

Resolution: Use handcrafted rubrics per row and verify that judges are evaluating the intended behavior.

3 supporting quotes
“you need to make sure that the judge is judging things correctly, which can be surprisingly hard.”transcript, stated
“you also have to be careful not to introduce subtle biases, right? Because even small things that you might overlook might end up influencing it.”transcript, stated
“each row in our data set has a different set of rubrics, rubrics that were handcrafted by a human”transcript, stated

Eval scores can become targets instead of useful signals.

Root cause: Over-optimizing a lab metric can hide an unchallenging dataset or drift away from user satisfaction.

Resolution: Maintain regression and aspirational datasets, watch for 100% scores as a warning, and use user-facing rollout metrics as the final decision point.

3 supporting quotes
“when a good metrics become a target, it ceases to be a good target.”transcript, stated
“when you're close to achieving 100% score on your evil data set, it's not meaning that you're doing good job.”transcript, stated
“We are not breaking existing use cases for the customers and also the aspirational data set of things that are extremely hard.”transcript, stated

Evaluation

Zapier evaluates agents with a hierarchy: unit-test-like next-state evals for specific failures, trajectory evals that run agents to completion and grade tool calls/artifacts, LLM-as-judge and rubric-based scoring for higher-level model comparison, regression and aspirational datasets for coverage, and staged A/B tests as the final production validation.

Metrics: Next-state assertions such as chosen tool call, correct tool parameters, answer keywords, and done-state detection. · Trajectory-level tool calls, artifacts, and end states. · Rubric-based LLM judge scores for per-row behavior. · Regression dataset pass/fail against existing customer use cases. · Aspirational dataset performance on very hard cases such as 200 tool calls in a row. · A/B rollout metrics including explicit feedback, activation, and user retention.

5 supporting quotes
“we're just trying to predict the n plus1 state from the current state.”transcript, stated
“For instance, you could check whether the next state is a specific tool call or if the two call parameters are correct”transcript, stated
“we let the agent run till the whole uh till the to the end state and we are not grading just the end state but we are also grading all the tool calls”transcript, stated
“We use an LLM to judge the run, but each row in our data set has a different set of rubrics”transcript, stated
“monitor the feedback, check your metrics like activation, user retention and so on.”transcript, stated

Outcomes

The transcript does not disclose Zapier Agents user counts or production request volume. It does give operational scale markers: two years of production learning, staged A/B traffic around 5%, trajectory evals sometimes taking up to an hour, and aspirational evals such as 200 tool calls in a row.

5 supporting quotes
“this small change actually gave us like a really nice bump in feedback submissions surprisingly.”transcript, stated
“recently we had a lot of success as well using an LLM to detect and group frustrations and we have this weekly report that we post in our Slack.”transcript, stated
“It found that cloud is like a decisive exeutor, whereas Gemini is really yapping a lot. It's asking follow-up questions.”transcript, stated
“our unit test evals were overfitting to our existing models or actually data collecting using that model. So what we started experimenting with is trajectory evals. Um yeah instead of grading just one iteration of an agent, we let the agent run till the whole uh till the to the end state and”transcript, stated
“Based on that probably you can make the most educated guess uh instead of being in the lab and optimizing this imaginary number.”transcript, stated