A weekly publication by Daniel Ternyak
What it takes to build an agent into your product.
Teardowns of the agents Shopify, Notion, Linear, Intercom and others already shipped, read for the decisions they hand your security, design, platform, support and finance teams.
Latest teardown#
What the product does that the model can’t#
One request, traced through the product’s own services. The model proposes; the product checks, asks and records.
The trace, step by step:
- Maya, a PM, asks: “Move the launch to Friday.”
- The model decides on a plan: move the launch and its 12 tasks, and email customers.
- Data model: the launch has 12 dependent tasks, their owners and an announcement draft.
- Permissions, acting as Maya: editing tasks is allowed; emailing customers isn’t, so the email waits for approval.
- Scheduling: Friday is a valid date; one task’s owner is out that day.
- Launch screen: the change appears as a draft in the product’s own launch screen, and Maya approves it there.
- Write API: the product saves the change through the same API its screens use, as one operation, op_7f3a.
- Audit log: the agent, on behalf of Maya, moved the launch and 12 tasks; the email wasn’t sent.
- Version history: undo restores all 13 items; nothing was sent.
The model proposes; the product enforces. The pattern behind each service:
The archive#
Every earlier teardown, each with its verdict and the decisions to steal.
- Verifying the customer doesn’t settle whose permissions run the actionAgentforce ServiceTeardown ↗
- “Resolved” means 72 hours after the visitor’s last replyHubSpot Customer AgentTeardown ↗
- The reply lands where more people can see itAsana AI TeammatesTeardown ↗
- A generated screen can look right and be built wrongFigma Design agentTeardown ↗
- Creating an AI field approves every future valueAirtable Omni & field agentsTeardown ↗
- A typed-in number isn’t a modelMicrosoft Excel agentsTeardown ↗
- The same agent confirms in chat but can write directly in automationsAtlassian RovoTeardown ↗
- An approval step reports “Success” after a declineZapier Agents & AI by ZapierTeardown ↗
- A human assignee plus an agent delegateLinear AgentTeardown ↗
- Removing someone from a page doesn’t remove their access through BudgetBotNotion AgentTeardown ↗
- “15% off this weekend” becomes a discount that ends MondayShopify SidekickTeardown ↗

