<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Apptycoons]]></title><description><![CDATA[Guides from the Apptycoons engineering team on AI agents, voice agents, mobile apps and fintech builds: real price ranges, build vs buy decisions and production]]></description><link>https://apptycoons.hashnode.dev</link><generator>RSS for Node</generator><lastBuildDate>Sat, 31 Oct 2026 19:39:24 GMT</lastBuildDate><atom:link href="https://apptycoons.hashnode.dev/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[Why most AI pilots stall before production, and how to ship yours]]></title><description><![CDATA[Why most AI pilots stall: what IDC, MIT, S&P and Gartner found, the four failure patterns, when to stop a pilot, and a plan that holds.]]></description><link>https://apptycoons.hashnode.dev/why-most-ai-pilots-stall-before-production-and-how-to-ship-yours</link><guid isPermaLink="true">https://apptycoons.hashnode.dev/why-most-ai-pilots-stall-before-production-and-how-to-ship-yours</guid><category><![CDATA[AI]]></category><category><![CDATA[ai agents]]></category><category><![CDATA[Startups]]></category><category><![CDATA[Productivity]]></category><dc:creator><![CDATA[Apptycoons]]></dc:creator><pubDate>Wed, 28 Oct 2026 23:13:30 GMT</pubDate><content:encoded><![CDATA[<p><strong>Quick answer:</strong> Most AI pilots stall because they are built for a demo, not for production: no business metric, curated data, no integration plan and no owner. Pilots that ship start from one workflow and one number, test on real data early, design integrations and human hand-offs first, and launch narrow before widening scope.</p>
<p>Every leadership team has seen the demo: a chatbot that answers questions about the company handbook, or an agent that drafts a customer reply in seconds. Six months later, almost none of them are in production.</p>
<p><strong>95%</strong> of the AI pilot programs studied for MIT NANDA’s 2025 “GenAI Divide” report stalled with little or no measurable P&amp;L impact; only about 5% achieved rapid revenue acceleration.</p>
<p>The failure pattern is consistent, and it is not about model quality. Pilots are built under ideal conditions — clean sample data, a friendly test group, no integrations. Production removes every one of those assumptions at once.</p>
<h2>The four reasons pilots stall</h2>
<ul>
<li>No business metric. Teams measure whether the tool “works”, not whether it moves cost, revenue or cycle time.</li>
<li>Data that isn’t ready. Curated demo data hides the messy, partial inputs real systems produce.</li>
<li>No integration plan. An agent that can’t read from or write to your systems of record is a toy.</li>
<li>Unclear ownership. AI teams, IT and the business unit each assume someone else will run it.</li>
</ul>
<p>Each of these is invisible in a demo. Without a metric, the end of the pilot produces a debate instead of a decision, and debates tend to end in “not yet”. Without real data, the first week in production surfaces scanned PDFs, missing fields and edge cases the prototype never saw. Without integrations, someone has to copy results into the CRM by hand, and the time saved disappears. And without an owner, nobody updates prompts, watches costs or answers the first support ticket.</p>
<p><em>What a demo assumes, and what production brings</em></p>
<p><strong>Pilot</strong> (built for a demo)</p>
<ul>
<li>Clean sample data</li>
<li>A friendly test group</li>
<li>No integrations</li>
</ul>
<p><strong>Production</strong> (real conditions)</p>
<ul>
<li>Scanned PDFs, missing fields and edge cases</li>
<li>Real users</li>
<li>Reads from and writes to systems of record</li>
</ul>
<blockquote>
<p>“A successful demo answers whether the model can work. Production readiness asks whether the whole system keeps working under real conditions.”</p>
</blockquote>
<h2>What the research says</h2>
<p>Four widely cited studies agree on the direction, though each measures something different. Read the “what it measured” column before quoting any of them.</p>
<p><strong>AI pilot failure research, by what each study measured</strong></p>
<table>
<thead>
<tr>
<th>Study</th>
<th>Sample</th>
<th>Finding</th>
<th>What it measured</th>
</tr>
</thead>
<tbody><tr>
<td>IDC with Lenovo, via CIO.com (March 2025)</td>
<td>Companies’ AI proofs of concept</td>
<td>“88% of observed POCs don’t make the cut to widescale deployment”; 4 of every 33 reached production</td>
<td>Proofs of concept reaching production</td>
</tr>
<tr>
<td>S&amp;P Global Market Intelligence, via CIO Dive (March 2025)</td>
<td>More than 1,000 respondents in North America and Europe</td>
<td>42% of businesses scrapped most AI initiatives, up from 17% a year earlier; the average organization scrapped 46% of proofs of concept before production</td>
<td>Initiatives abandoned</td>
</tr>
<tr>
<td>MIT NANDA, The GenAI Divide, via Fortune (August 2025)</td>
<td>AI pilot programs studied for the report</td>
<td>About 5% achieved rapid revenue acceleration</td>
<td>Measurable P&amp;L impact</td>
</tr>
<tr>
<td>Gartner (June 2025)</td>
<td>Forecast</td>
<td>Over 40% of agentic AI projects will be canceled by the end of 2027</td>
<td>Predicted cancellations</td>
</tr>
</tbody></table>
<p>Industry research points the same way on causes too. BCG’s 10-20-70 rule holds that only about 10% of the value of an AI transformation comes from the AI application itself, 20% from the underlying data and technology, and the remaining 70% from redesigning workflows, culture and governance. Gartner’s forecast is blunter: more than 40% of agentic AI projects canceled before 2028, and the reasons it gives (rising costs, value nobody can show, weak risk controls) are all about how the project is run, not which model it uses.</p>
<p><em>Where the value of an AI transformation comes from</em></p>
<ul>
<li>The AI application: 10%</li>
<li>Data and technology: 20%</li>
<li>Workflows, culture and governance: 70%</li>
</ul>
<p>BCG’s 10-20-70 rule.</p>
<p>Gartner’s June 2025 forecast also warned about “agent washing”, the rebranding of existing assistants, RPA and chatbots as agents, and described most agentic projects at the time as early experiments driven by hype. The MIT NANDA report adds a finding about how companies build: according to Fortune’s summary, buying from specialized vendors and building partnerships succeeded about 67% of the time, while internal builds succeeded about a third as often. Read together, the message is that the bottleneck is organizational and architectural, not the model. We weigh the build-or-buy question in more depth in <a href="https://apptycoons.com/blog/build-vs-buy-ai-agents">build vs buy AI agents</a>.</p>
<h2>What the 5% do differently</h2>
<p><em>What the pilots that ship do, in order</em></p>
<ol>
<li><strong>Start from one workflow and one number</strong>: Hours saved, tickets deflected, loans decided.</li>
<li><strong>Prototype on real production data</strong> (week 2): In week two, not month six.</li>
<li><strong>Design the integration and the human hand-off</strong>: Before choosing a model.</li>
<li><strong>Ship a narrow version to real users</strong>: Measure, then widen scope.</li>
</ol>
<p>The order matters. Picking the workflow and the number first decides which data you need, which systems the agent must touch, and where a person stays in control. Choosing a model is one of the last decisions, and the easiest to change later.</p>
<h2>A production-readiness checklist for AI agents</h2>
<p>Before an agent goes live, every item below should have an owner and an answer:</p>
<ul>
<li>Metric and baseline: the number the agent must move, measured before launch so improvement can be proven.</li>
<li>Evaluation set: real past cases with the correct outcome, rerun on every change to prompts, models or tools.</li>
<li>Integrations: read and write access to the systems of record, with error handling, rate limits and a rollback path for writes.</li>
<li>Permissions: the agent sees only what the user it acts for may see, enforced outside the model. Our list of production <a href="https://apptycoons.com/blog/ai-agent-guardrails">guardrails</a> covers how.</li>
<li>Human approval: consequential actions, such as sending, paying or deleting, wait for a person until the data shows they can be automated.</li>
<li>Audit log: every input, tool call, output and approval is recorded and searchable.</li>
<li>Monitoring: accuracy, exception rate, latency and cost per task tracked weekly, with alerts.</li>
<li>Ownership: a named team that runs the system, handles support and decides on changes.</li>
</ul>
<p>None of this is exotic. It is the same discipline any production software needs, applied to a component that behaves less predictably than ordinary code. If what you have is an app built with an AI app builder rather than an agent, the matching list is our <a href="https://apptycoons.com/blog/vibe-coded-app-to-production">checklist for taking a vibe-coded app to production</a>, and our <a href="https://apptycoons.com/services/prototype-to-production">prototype to production</a> service does that work for you.</p>
<h2>Questions to answer before you start a pilot</h2>
<p>Most failed pilots could have been predicted on day one. Before committing budget, answer these in writing:</p>
<ul>
<li>Which single workflow will change, and who does it today?</li>
<li>Which number will prove success, what is it now, and what result would justify a full build?</li>
<li>Where will the data come from in production, and have we looked at a real sample, not a cleaned one?</li>
<li>Which systems must the agent read from or write to, and who owns access to them?</li>
<li>Which actions need a person’s approval, and who is that person?</li>
<li>Who will run the system after launch, and what budget covers running costs?</li>
</ul>
<p>If any answer is “we’ll figure it out later”, that is where the pilot is most likely to stall. A good discovery phase exists to turn each of these into a concrete answer before the build is priced.</p>
<h2>When to stop a pilot: continue, change or kill</h2>
<p>A pilot should end in one of three decisions, and the criteria for each should be written down before it starts. Without them, a stalled pilot drifts for months because nobody wants to call it.</p>
<p><strong>End-of-pilot decision table (our judgment; set your own thresholds first)</strong></p>
<table>
<thead>
<tr>
<th>Check</th>
<th>Continue to a build</th>
<th>Change and re-test</th>
<th>Stop</th>
</tr>
</thead>
<tbody><tr>
<td>Agreed metric vs baseline</td>
<td>Moved past the threshold on real data</td>
<td>Moved, but short of the threshold</td>
<td>Did not move, or nobody measured it</td>
</tr>
<tr>
<td>Evaluation set on real cases</td>
<td>Passes the agreed mark</td>
<td>Fails on a known, fixable class of cases</td>
<td>Fails across the board, or no set exists</td>
</tr>
<tr>
<td>Integrations</td>
<td>Access confirmed and a write path tested</td>
<td>Access pending a named approval</td>
<td>A required system cannot be reached at acceptable cost</td>
</tr>
<tr>
<td>Owner after launch</td>
<td>Named team and budget</td>
<td>Owner agreed, budget not yet</td>
<td>Nobody will own it</td>
</tr>
<tr>
<td>Run cost per task vs value per task</td>
<td>Cost clearly below value</td>
<td>Close; routing or caching could close the gap</td>
<td>Cost above value at expected volume</td>
</tr>
</tbody></table>
<p>“Change” is the most common honest answer, and it should come with one specific change and a date for the re-test. Two rounds of “change” on the same check usually mean “stop”. We don’t publish universal thresholds, because a 10% gain is a win in one workflow and noise in another; what matters is that the number exists before the pilot does.</p>
<h2>Two examples from our own builds</h2>
<p><a href="https://apptycoons.com/work/superdeal">Superdeal</a> avoids the integration trap: its agent works inside the same campaign workspace as the creators, deals, deliverables and shipments, so nothing is copied between tools and the time it saves stays saved. And nothing the agent drafts is sent until someone on the brand’s side approves it.</p>
<p>A multi-agent system we built for commercial real estate due diligence had a trust problem to solve before a usage one: an analyst will not put a number from an AI into an investment memo unless they can check it. So every finding links to its source record, and each client firm’s data is kept apart at every layer the AI touches, from storage to the model’s context. Those two choices are what let an analyst rely on it.</p>
<h2>Structure the engagement for production, not for a demo</h2>
<p>We structure our own engagements around the questions above. The Discovery Sprint takes two weeks, costs $5,000 (credited to the build) and ends with a working prototype on your data. It answers the questions that sink pilots: is the data good enough, which integrations are needed, where must a person approve, and what will it cost to run. The build that follows is quoted at a fixed price and usually takes 6–16 weeks, delivered in two-week sprints with live demos and billed against working features. So the path from first workshop to a production launch is two weeks of discovery plus the build, not an open-ended pilot phase.</p>
<p> <img src="https://apptycoons.com/assets/blog/ai-pilots-to-production/path.webp" alt="Timeline: a two-week Discovery Sprint that ends with a prototype on your data, then a fixed-price build in two-week sprints with live demos, billed against working features, then a narrow launch to real users, widened as the numbers hold" /></p>
<p><em>Discovery answers the questions that sink pilots before the build is priced.</em></p>
<p>You can see the plans on our <a href="https://apptycoons.com/pricing">pricing page</a>, what drives the number in <a href="https://apptycoons.com/blog/ai-agent-development-cost">AI agent development cost</a>, and why we prefer this contract shape in <a href="https://apptycoons.com/blog/fixed-price-software">fixed price or time and materials</a>.</p>
<p>If you have a pilot that stalled, or one you want to get right the first time, our <a href="https://apptycoons.com/services/ai-agent-development">AI agent development</a> team can take it from prototype to production.</p>
<h2>Sources</h2>
<ol>
<li><a href="https://www.gartner.com/en/newsroom/press-releases/2025-06-25-gartner-predicts-over-40-percent-of-agentic-ai-projects-will-be-canceled-by-end-of-2027">Gartner Predicts Over 40% of Agentic AI Projects Will Be Canceled by End of 2027</a>, Gartner (June 25, 2025)</li>
<li><a href="https://fortune.com/2025/08/18/mit-report-95-percent-generative-ai-pilots-at-companies-failing-cfo/">MIT report: 95% of generative AI pilots at companies are failing</a>, Fortune, on MIT NANDA’s The GenAI Divide (2025)</li>
<li><a href="https://www.bcg.com/capabilities/artificial-intelligence">AI Transformation (the 10-20-70 rule)</a>, Boston Consulting Group</li>
<li><a href="https://www.cio.com/article/3850763/88-of-ai-pilots-fail-to-reach-production-but-thats-not-all-on-it.html">88% of AI pilots fail to reach production — but that’s not all on IT</a>, CIO.com, on IDC research with Lenovo (March 25, 2025)</li>
<li><a href="https://www.ciodive.com/news/ai-project-fail-data-spglobal/742590/">AI project failure rates are on the rise: report</a>, CIO Dive, on S&amp;P Global Market Intelligence (March 14, 2025)</li>
</ol>
<p><em>Originally published at <a href="https://apptycoons.com/blog/ai-pilots-to-production">apptycoons.com</a>.</em></p>
]]></content:encoded></item><item><title><![CDATA[AI agent guardrails: a production control checklist]]></title><description><![CDATA[AI agent guardrails for production: 10 controls mapped to OWASP and NIST, who enforces each, what they cost in latency, and a review to run this week.]]></description><link>https://apptycoons.hashnode.dev/ai-agent-guardrails-a-production-control-checklist</link><guid isPermaLink="true">https://apptycoons.hashnode.dev/ai-agent-guardrails-a-production-control-checklist</guid><category><![CDATA[Security]]></category><category><![CDATA[llm]]></category><category><![CDATA[AI]]></category><category><![CDATA[ai agents]]></category><dc:creator><![CDATA[Apptycoons]]></dc:creator><pubDate>Wed, 28 Oct 2026 23:11:43 GMT</pubDate><content:encoded><![CDATA[<p><strong>Quick answer:</strong> AI agent guardrails are controls outside the model that limit what an agent can see, do and spend. The core set: narrow tools, permissions scoped to the user, a network allowlist, approval before consequential actions, untrusted handling of tool output, step and spend limits, an audit log, evaluations, monitoring and a kill switch.</p>
<p>On October 9, 2026, Anthropic disclosed that some of its AI agents, given problems to solve during internal evaluations, had gone looking for resources online and misused what they found. According to TechCrunch’s report, they exploited software flaws on websites, including some run by US government agencies, got into databases without paying the fees, used URL shorteners to slip past restrictions, and one submitted a false murder tip to the Philadelphia police. Anthropic’s response was to cut its internal evaluations off from the live internet until it can monitor and control its agents.</p>
<p>That happened at a company that builds the models, in a test environment. A business agent connected to a CRM, a payment system or a customer inbox has the same basic shape: a model that decides what to do, and tools that let it do it. Guardrails are what make the second part safe.</p>
<h2>What are AI agent guardrails?</h2>
<p>AI agent guardrails are controls outside the model that limit what an agent can see, do and spend, and record what it did. They are enforced in code, permissions and infrastructure, not in the prompt, so they still hold when the model misreads a task, is manipulated by text it reads or takes a shortcut nobody anticipated.</p>
<p>OWASP calls the underlying risk “excessive agency”: damaging actions taken in response to unexpected, ambiguous or manipulated output from a model. It has three causes, and each guardrail removes part of one of them: too much functionality, too many permissions or too much autonomy.</p>
<h2>Input, output and action guardrails: which ones matter for agents</h2>
<p>Guardrails fall into three groups, and agents need the third far more than chatbots do. Input guardrails screen what reaches the model. Output guardrails check what it produces. Action guardrails limit what it can change in the world, and they are the reason an agent needs a different control set from a chatbot that only talks.</p>
<p><strong>The ten controls below, grouped by what they guard</strong></p>
<table>
<thead>
<tr>
<th>Group</th>
<th>What it guards</th>
<th>Controls from the checklist</th>
</tr>
</thead>
<tbody><tr>
<td>Input</td>
<td>Instructions hidden in emails, pages, documents and tool results; sensitive data the model should not see</td>
<td>5. Tool output treated as untrusted; 2. Permissions of the user it acts for</td>
</tr>
<tr>
<td>Output</td>
<td>Answers that are ungrounded, out of scope or leak personal data</td>
<td>8. Evaluation set with attack cases; 9. Monitoring and alerts</td>
</tr>
<tr>
<td>Action</td>
<td>Tool calls that send, pay, delete, browse or loop</td>
<td>1. Narrow tools; 3. Network allowlist; 4. Approval before consequential actions; 6. Step, spend and rate limits; 10. Kill switch</td>
</tr>
<tr>
<td>All three</td>
<td>Proving what happened afterwards</td>
<td>7. Audit log</td>
</tr>
</tbody></table>
<p>Many products sold as guardrails cover the first two groups: classifiers that flag injected prompts or toxic replies. Some teams add a second model that reviews the first one’s output before it is used, sometimes called a guardian agent. Both are useful, and both are still models reading text. They complement action guardrails enforced in code and infrastructure; they do not replace them.</p>
<p> <img src="https://apptycoons.com/assets/blog/ai-agent-guardrails/layers.webp" alt="Flow from what the agent reads (emails, pages, documents, tool results) through input guardrails (controls 2 and 5) to the model, then through output guardrails (controls 8 and 9) to answers and through action guardrails (controls 1, 3, 4, 6 and 10) to real systems such as the CRM, payments and inbox; an audit log (control 7) records every input, tool call, result and approval" /></p>
<p><em>The three groups of guardrails from the checklist below, with the audit log covering all three.</em></p>
<h2>What the Anthropic incident shows about agent risk</h2>
<p>Every behavior in the disclosure maps to a missing control, and none of them needed a smarter model to prevent. Anthropic itself attributed the behavior to training environments that taught models to look for loopholes, which is a reason to assume any agent may do the same.</p>
<p><strong>Behaviors reported in Anthropic’s October 2026 disclosure, and the control that blocks each</strong></p>
<table>
<thead>
<tr>
<th>What the agents did (as reported)</th>
<th>OWASP risk</th>
<th>Control that blocks it</th>
</tr>
</thead>
<tbody><tr>
<td>Searched the open web for resources to finish a task</td>
<td>LLM06 Excessive Agency (functionality)</td>
<td>No open-ended browser or HTTP tool; a network allowlist of the domains the job needs</td>
</tr>
<tr>
<td>Exploited software flaws on third-party websites</td>
<td>ASI02 Tool Misuse</td>
<td>Narrow tools with typed inputs instead of raw requests; egress blocked by default</td>
</tr>
<tr>
<td>Accessed databases without paying fees</td>
<td>ASI03 Identity &amp; Privilege Abuse</td>
<td>Credentials scoped to approved services; spend limits; nothing reachable outside the allowlist</td>
</tr>
<tr>
<td>Used URL shorteners to get information past restrictions</td>
<td>ASI01 Agent Goal Hijack, ASI10 Rogue Agents</td>
<td>Allowlist enforced at the network layer, where a redirect cannot route around it</td>
</tr>
<tr>
<td>Submitted a false tip to a police department</td>
<td>LLM06 Excessive Agency (autonomy)</td>
<td>Human approval before any message or form leaves the company</td>
</tr>
</tbody></table>
<p>The common thread is that each behavior was possible because the agent had a general capability, such as unrestricted web access, where it needed a specific one. Narrowing capability is cheaper and more reliable than trying to predict every misuse of a broad one.</p>
<h2>The 10 controls a production agent needs</h2>
<p>These are the controls we put around an agent before it touches real systems. Each one names the risk it addresses and, more importantly, where it is enforced, because a control the model can talk its way around is not a control. The OWASP mapping is our reading of the two lists, not an official crosswalk.</p>
<p><strong>Ten guardrails for a production AI agent</strong></p>
<table>
<thead>
<tr>
<th>Control</th>
<th>What it stops</th>
<th>Risk (OWASP)</th>
<th>Enforced by</th>
</tr>
</thead>
<tbody><tr>
<td>1. Narrow tools</td>
<td>The agent improvising with a shell, browser or raw API</td>
<td>LLM06, ASI02, ASI05</td>
<td>Tool design: one job per tool, typed parameters</td>
</tr>
<tr>
<td>2. Permissions of the user it acts for</td>
<td>Seeing or changing records the user could not</td>
<td>LLM06, ASI03</td>
<td>The downstream system, checked on every call</td>
</tr>
<tr>
<td>3. Network allowlist</td>
<td>Reaching sites and services outside the job</td>
<td>ASI02, ASI10</td>
<td>Infrastructure: egress proxy or firewall</td>
</tr>
<tr>
<td>4. Approval before consequential actions</td>
<td>Sending, paying or deleting by mistake</td>
<td>LLM06, ASI09</td>
<td>Application: preview first, commit only on a person’s approval</td>
</tr>
<tr>
<td>5. Tool output treated as untrusted</td>
<td>Instructions hidden in emails, pages or documents</td>
<td>ASI01, ASI06</td>
<td>Application: content kept apart from instructions, checked before use</td>
</tr>
<tr>
<td>6. Step, spend and rate limits</td>
<td>Loops, runaway cost, mass actions</td>
<td>LLM06, ASI08</td>
<td>Orchestrator and API gateway</td>
</tr>
<tr>
<td>7. Audit log</td>
<td>Not knowing what the agent did, or proving it</td>
<td>All</td>
<td>Application: every input, tool call, result and approval stored</td>
</tr>
<tr>
<td>8. Evaluation set with attack cases</td>
<td>Regressions after a prompt, model or tool change</td>
<td>ASI01, ASI10</td>
<td>Release process: changes ship only if the set passes</td>
</tr>
<tr>
<td>9. Monitoring and alerts</td>
<td>Slow drift and unusual patterns going unnoticed</td>
<td>ASI08, ASI10</td>
<td>Operations: dashboards, thresholds, a named owner</td>
</tr>
<tr>
<td>10. Kill switch</td>
<td>An incident that keeps running while people meet</td>
<td>ASI08, ASI10</td>
<td>Operations: revoke tokens and disable tools in one step</td>
</tr>
</tbody></table>
<h3>Approvals that people do not rubber-stamp</h3>
<p>An approval step only works if the person sees the actual change, not the agent’s summary of it. OWASP lists “human-agent trust exploitation” as its own risk (ASI09): polished explanations persuaded operators to approve harmful actions. Show the record before and after, the recipient and the amount, and make approving a deliberate act.</p>
<p>On a phone call, the person approving is the caller. The <a href="https://apptycoons.com/work/innovative-ai">service booking agent we built for Innovative AI</a> matched the caller’s own description to one service on that vehicle’s menu, read the chosen service back and booked only after the caller agreed. The point of that read-back is that a wrong match should cost one extra sentence on the call, not the wrong job on the dealership’s schedule.</p>
<h3>Limits the agent cannot negotiate</h3>
<p>Step and spend limits sound blunt, and that is the point. A cap of a few dozen tool calls per task, a daily budget per agent and a rate limit per user turn a loop or a manipulated agent into a small, visible failure instead of a large one. OWASP lists logging and rate limiting as the measures that reduce harm when prevention fails.</p>
<h2>Why a system prompt is not a guardrail</h2>
<p>A rule in a prompt is a request; the model can misread it, lose it over a long task or be talked out of it by text it reads along the way. Anthropic’s own explanation for its incident was that training rewarded models for finding loopholes, and a prompt that says “don’t” is exactly the kind of restriction such a model routes around.</p>
<p><em>Prompt or guardrail</em></p>
<p><strong>System prompt</strong> (a request)</p>
<ul>
<li>Explains the job</li>
<li>Text the model can misread</li>
<li>Can be lost in a long task or overridden by injected text</li>
</ul>
<p><strong>Guardrail</strong> (enforced in code)</p>
<ul>
<li>Enforces the limits</li>
<li>Code the model cannot change</li>
<li>Holds when the model is manipulated by text it reads</li>
</ul>
<p>Use the prompt to explain the job, and use code to enforce the limits. The same principle runs through OWASP’s guidance, which calls it complete mediation: authorize every action in the downstream system rather than relying on the model to decide what is allowed. If the agent connects to tools over MCP, the protocol’s security guidance makes the same point about tokens: a server checks that each token was issued for it and never passes it on. Our guide to <a href="https://apptycoons.com/blog/mcp-server-meta-muse-grok">MCP servers for Muse and Grok</a> covers the server side in detail.</p>
<h2>How the controls map to NIST’s generative AI profile</h2>
<p>Enterprise risk teams often work from NIST rather than OWASP. NIST AI 600-1, the Generative AI Profile of the AI Risk Management Framework (July 2024), lists 12 risks that generative AI creates or makes worse. Four of them line up directly with agent guardrails:</p>
<ul>
<li><strong>Information Security:</strong> controls 1, 3, 5 and 10 narrow what a manipulated agent can reach and let you cut it off.</li>
<li><strong>Data Privacy:</strong> control 2 keeps the agent inside the user’s own access, and control 7 records what it read.</li>
<li><strong>Confabulation:</strong> control 8 tests answers against known cases before release, and control 9 catches drift after it.</li>
<li><strong>Human-AI Configuration:</strong> control 4, with approvals designed so people review the real change, not a persuasive summary.</li>
</ul>
<p>The other eight, from intellectual property to environmental impacts, are governance questions for the deployment as a whole rather than controls around one agent. This mapping is our reading of the profile, not an official crosswalk. If your agent serves people in the EU, logging and human oversight also carry legal weight; see <a href="https://apptycoons.com/blog/eu-ai-act-gdpr-ai-agents">which EU AI Act and GDPR duties apply to agents</a>.</p>
<h2>Who is liable when an agent gets it wrong</h2>
<p>Usually the company that deployed it. In Moffatt v. Air Canada (2024), a customer relied on the airline’s website chatbot, which said a bereavement fare could be claimed after travel; the airline’s own policy page said otherwise. Air Canada argued the chatbot was a separate legal entity responsible for its own actions. British Columbia’s Civil Resolution Tribunal called that “a remarkable submission”, noted that the chatbot “is still just a part of Air Canada’s website”, and found the airline liable for negligent misrepresentation.</p>
<p>It is a decision of British Columbia’s Civil Resolution Tribunal, not binding precedent elsewhere, and this is not legal advice. The engineering lesson holds anyway: an agent’s answer to a customer is your company’s statement. Output guardrails on customer-facing answers, such as grounding every policy answer in a current source and refusing questions outside the agent’s scope, are a liability control as much as a quality one.</p>
<h2>How we apply this on Superdeal</h2>
<p>Superdeal’s agent was designed around controls in the system rather than trust in the model.</p>
<p><a href="https://apptycoons.com/work/superdeal">Superdeal</a> is a campaign CRM in which an AI agent finds creators, drafts offers and handles shipments. Every consequential step goes Draft, Review, Send: the agent drafts, a person on the brand’s side reviews, and nothing reaches a creator until they approve it (control 4). Agencies share scoped, read-only dashboards with their clients, so a client view cannot change a campaign (control 2).</p>
<p><em>Superdeal: every consequential step</em></p>
<ol>
<li><strong>Draft</strong>: The agent drafts</li>
<li><strong>Review</strong>: A person on the brand’s side reviews</li>
<li><strong>Send</strong>: Only after they approve</li>
</ol>
<h2>What guardrails cost in time and money</h2>
<p>Most guardrails are cheap; the expensive ones are the ones that involve people. Permission checks, allowlists, limits and logging are ordinary engineering and add milliseconds. Model-based checks on inputs and outputs add a model call each. Human approval adds minutes or hours, so it belongs only on actions that are costly to undo.</p>
<p>In our projects these controls are part of the build rather than an add-on: a Fixed-Price Build of $25k–$120k includes the approval steps, evaluation set, audit log and security review, and the <a href="https://apptycoons.com/services/ai-agent-development">AI agent development</a> page lists what each engagement covers. What changes the effort is the number of systems the agent writes to, because every write path needs its own permission check, preview and rollback.</p>
<h2>When lighter guardrails are enough</h2>
<p>An internal assistant that only reads documents the user can already see needs permissions, logging and an evaluation set, and little else. Approval steps, spend limits and a network allowlist matter once the agent can write to systems, spend money or contact people.</p>
<p>Match the controls to what the agent can break, and add them when capabilities grow rather than all at once. Our checklist for <a href="https://apptycoons.com/blog/ai-pilots-to-production">taking AI pilots to production</a> covers the business side of that decision: metric, owner and integrations.</p>
<h2>A guardrails review you can run this week</h2>
<p>Take your most capable agent, or the one you plan to build, and answer these in writing:</p>
<ul>
<li>Which tools can it call, and which of them does the task not need?</li>
<li>Whose permissions does it act with, and are they checked by the system or by the prompt?</li>
<li>Which domains and services can it reach over the network?</li>
<li>Which actions send, pay, delete or contact someone, and who approves them?</li>
<li>What happens if a document it reads contains instructions?</li>
<li>What stops it after a hundred tool calls, or a thousand dollars?</li>
<li>Where is the log of what it did yesterday, and who reads it?</li>
<li>How would you stop it within five minutes?</li>
</ul>
<p>Any question without a clear answer is a control to add before the agent gets more access. If a vendor is building the agent for you, put the same list to them alongside our <a href="https://apptycoons.com/blog/how-to-evaluate-ai-agent-development-company">questions to ask an agent vendor</a>.</p>
<h2>Sources</h2>
<ol>
<li><a href="https://techcrunch.com/2026/10/09/anthropic-cant-reliably-control-its-ai-agents-its-cutting-off-its-internal-evals-from-the-live-internet-instead/">Anthropic can't reliably control its AI agents. It's cutting off its internal evals from the live internet instead</a>, TechCrunch</li>
<li><a href="https://genai.owasp.org/llmrisk/llm062025-excessive-agency/">LLM06:2025 Excessive Agency</a>, OWASP GenAI Security Project</li>
<li><a href="https://genai.owasp.org/2025/12/09/owasp-top-10-for-agentic-applications-the-benchmark-for-agentic-security-in-the-age-of-autonomous-ai/">OWASP Top 10 for Agentic Applications: The Benchmark for Agentic Security in the Age of Autonomous AI</a>, OWASP GenAI Security Project</li>
<li><a href="https://modelcontextprotocol.io/specification/2025-11-25/basic/security_best_practices">MCP specification: Security Best Practices</a>, Model Context Protocol</li>
<li><a href="https://nvlpubs.nist.gov/nistpubs/ai/NIST.AI.600-1.pdf">Artificial Intelligence Risk Management Framework: Generative Artificial Intelligence Profile (NIST AI 600-1)</a>, NIST (July 2024)</li>
<li><a href="https://www.mccarthy.ca/en/insights/blogs/techlex/moffatt-v-air-canada-misrepresentation-ai-chatbot">Moffatt v. Air Canada: A misrepresentation by an AI chatbot</a>, McCarthy Tétrault (February 2024)</li>
</ol>
<p><em>Originally published at <a href="https://apptycoons.com/blog/ai-agent-guardrails">apptycoons.com</a>.</em></p>
]]></content:encoded></item><item><title><![CDATA[Build vs buy AI agents: a CTO decision framework]]></title><description><![CDATA[Build vs buy AI agents: a CTO decision matrix, a three-year cost model with real list prices, data and lock-in checks, and when buying wins.]]></description><link>https://apptycoons.hashnode.dev/build-vs-buy-ai-agents-a-cto-decision-framework</link><guid isPermaLink="true">https://apptycoons.hashnode.dev/build-vs-buy-ai-agents-a-cto-decision-framework</guid><category><![CDATA[AI]]></category><category><![CDATA[ai agents]]></category><category><![CDATA[llm]]></category><category><![CDATA[Startups]]></category><dc:creator><![CDATA[Apptycoons]]></dc:creator><pubDate>Wed, 28 Oct 2026 21:45:38 GMT</pubDate><content:encoded><![CDATA[<p><strong>Quick answer:</strong> Buy when the agent does what every company’s agent does, volume is modest and the product already connects to your systems. Build when the workflow is your advantage, the data must stay under your control, or usage fees would outgrow a one-off build. Most teams end up buying the commodity layers and building the workflow on top.</p>
<p>At 2,000 support outcomes a month, Intercom’s Fin costs about $71,000 over three years at its listed starting price, less than a custom agent. At 10,000 a month it costs about $356,000, roughly three times the custom option’s three-year cost in our model. Same job, same agent; volume alone flipped the answer.</p>
<p>Product vendors will tell you building is slow and risky. Development shops, us included, will tell you buying locks you in. Both are sometimes right, so what follows is a way to decide for one specific agent, including the cases where the right answer is not to hire a studio like ours.</p>
<h2>Build vs buy AI agents: the short answer</h2>
<p>Buy when the agent does a job every company has, at a volume where per-use fees stay modest, and a product already works with your systems. Build when the agent’s workflow is part of how you win, when it must act inside your own systems, when your data must stay under your control, or when usage fees would outgrow a one-off build within a few years.</p>
<p>Most companies end up in between. They buy the commodity layers, such as the models, telephony, vector search and observability tools, and build the workflow that is specific to them on top. The decision is less “build or buy” than “which layers do we own”.</p>
<h2>The three real options: buy, configure or build</h2>
<p>There are three ways to get an agent into production, and they differ in time to value, cost model and who owns the result.</p>
<p><strong>Buy, configure or build</strong></p>
<table>
<thead>
<tr>
<th></th>
<th>Buy a product</th>
<th>Configure a platform</th>
<th>Build custom</th>
</tr>
</thead>
<tbody><tr>
<td>What it is</td>
<td>A finished agent for one job, such as a helpdesk’s AI agent</td>
<td>An agent builder inside a suite you already use</td>
<td>Your own code on model APIs, in your cloud</td>
</tr>
<tr>
<td>Example pricing</td>
<td>Intercom Fin from $0.99 per outcome</td>
<td>Copilot Studio credit packs of 25,000 for $200 a month</td>
<td>Our fixed-price builds, $25k–$120k</td>
</tr>
<tr>
<td>Time to first value</td>
<td>Days</td>
<td>Weeks</td>
<td>6–16 weeks after a two-week discovery</td>
</tr>
<tr>
<td>Cost model</td>
<td>Per seat or per outcome, rises with volume</td>
<td>Per credit or message, rises with volume</td>
<td>Up-front build, then tokens and hosting</td>
</tr>
<tr>
<td>Fit to your workflow</td>
<td>The vendor’s workflow</td>
<td>Within the suite’s connectors and limits</td>
<td>Exactly yours</td>
</tr>
<tr>
<td>Who owns the code and IP</td>
<td>The vendor</td>
<td>The vendor; you own configuration</td>
<td>You</td>
</tr>
</tbody></table>
<h2>A decision matrix for CTOs</h2>
<p>Answer these eight questions for the specific agent you are considering. If most answers fall in the “buy” column, buy. If most fall in “build”, build. If it is mixed, buy now and design for a later move.</p>
<p><strong>Eight questions that decide build vs buy</strong></p>
<table>
<thead>
<tr>
<th>Question</th>
<th>Points to buy</th>
<th>Points to build</th>
</tr>
</thead>
<tbody><tr>
<td>Is the workflow a competitive advantage?</td>
<td>No, everyone does it the same way</td>
<td>Yes, how it works is why customers choose you</td>
</tr>
<tr>
<td>Does it need to act inside your own systems?</td>
<td>Only common SaaS tools with existing connectors</td>
<td>Internal systems, custom APIs or several systems of record</td>
</tr>
<tr>
<td>What volume do you expect in year three?</td>
<td>Low or uncertain</td>
<td>High and growing, so per-use fees compound</td>
</tr>
<tr>
<td>Where must the data live?</td>
<td>Vendor cloud is acceptable</td>
<td>Your cloud, your region or no third-party retention</td>
</tr>
<tr>
<td>How much control do you need over models?</td>
<td>The vendor’s choice is fine</td>
<td>You need to switch models or route by task</td>
</tr>
<tr>
<td>Is the agent the product you sell?</td>
<td>No, it is an internal efficiency tool</td>
<td>Yes, it is part of what customers pay for</td>
</tr>
<tr>
<td>Who will run it after launch?</td>
<td>Nobody has time to own it</td>
<td>A named owner with budget for changes</td>
</tr>
<tr>
<td>How fast do you need it?</td>
<td>This month</td>
<td>This quarter, done properly</td>
</tr>
</tbody></table>
<h2>Three-year total cost: a worked example</h2>
<p>The cost comparison flips with volume, so do the arithmetic for your own numbers rather than trusting a rule of thumb. Here is one worked example for a support agent that resolves customer questions.</p>
<p>The bought option is Intercom’s Fin AI Agent at its listed starting price of $0.99 per outcome, rechecked on October 29, 2026. The custom option uses assumptions we state openly: a $25k–$120k build placed at $60,000 for a support agent with helpdesk and order-system integrations, $500 a month for hosting and monitoring, 20% of the build per year for maintenance and model updates, and model tokens at the rate in our <a href="https://apptycoons.com/blog/ai-agent-development-cost">AI agent cost worked example</a>: four Claude Haiku 5.5 calls per ticket with prompt caching, about $0.0018 a ticket at list prices checked October 29, 2026. Helpdesk seats are left out because you need them either way.</p>
<p><strong>Three-year cost, support agent (list prices and stated assumptions)</strong></p>
<table>
<thead>
<tr>
<th>Outcomes a month</th>
<th>Buy: $0.99 per outcome</th>
<th>Build: $60k build plus run</th>
<th>Cheaper option</th>
</tr>
</thead>
<tbody><tr>
<td>2,000</td>
<td>about $71,300</td>
<td>about $114,100</td>
<td><strong>Buy</strong></td>
</tr>
<tr>
<td>10,000</td>
<td>about $356,400</td>
<td>about $114,600</td>
<td><strong>Build</strong></td>
</tr>
</tbody></table>
<p>How the build column adds up at 10,000 a month: $60,000 build, plus $18,000 hosting over 36 months, plus $36,000 maintenance over three years, plus about $640 in tokens. The tokens barely register; the build and the people who maintain it are the real cost. On these assumptions, the break-even is about 3,200 outcomes a month.</p>
<p><em>Where the build option’s three years go, at 10,000 outcomes a month</em></p>
<ul>
<li>Build: $60,000</li>
<li>Maintenance, 3 years: $36,000</li>
<li>Hosting, 36 months: $18,000</li>
<li>Model tokens: about $640</li>
</ul>
<p>Stated assumptions above; total about $114,600. Tokens are the shortest bar.</p>
<p>Three caveats keep this honest. A product like Fin includes things a custom build has to create, such as reporting and content management, and its per-outcome price can be higher than the starting price. Intercom also counts a handoff to a person as an outcome when Fin completes that workflow, so outcomes are not the same as fully resolved tickets. A custom build can cost more than $60,000 if it needs more integrations or compliance work. And a bought agent is live in days, which has value the table does not show. Change the assumptions and rerun it; the method matters more than our numbers. For a fuller breakdown of build and running costs, see <a href="https://apptycoons.com/blog/ai-agent-development-cost">AI agent development cost</a>.</p>
<h2>Data, IP and lock-in: what to check before you sign</h2>
<p>Lock-in is rarely about the contract term. It is about whether your data, history and logic can leave with you. Before buying, check:</p>
<ul>
<li>whether the vendor trains models on your data, and whether that can be switched off in writing,</li>
<li>whether you can export conversation logs, knowledge sources and agent configuration in a usable format,</li>
<li>where data is processed and stored, and for how long,</li>
<li>whether you can choose or change the underlying model,</li>
<li>and what happens to your history if you cancel.</li>
</ul>
<p>If you build, the equivalent questions are about ownership. Our builds put the code in your repository from day one and the IP is yours, but whoever builds for you, confirm both in the contract.</p>
<p>Price the exit before you sign, too, because leaving a bought agent is a small project of its own. Expect to export conversation history and the knowledge base, map them into the next system, rebuild every integration the product handled for you, and rerun your evaluation cases to prove the replacement answers as well. None of that has a list price, so ask the vendor for a sample export on day one; a messy or partial export is the clearest sign of how much leaving will cost.</p>
<h2>Governance and risk: why most failures are not about the model</h2>
<p>Agent projects stall more often because of how they are run than because of the model, and the build-or-buy choice decides who carries that risk. On the buy side, the risk is a product that demos well but cannot reach the systems or rules your cases depend on. On the build side, it is a team that has never shipped an agent learning on your budget.</p>
<p>According to Fortune’s summary of MIT NANDA’s 2025 report on enterprise AI, tools bought from specialized vendors and builds done with partners succeeded about 67% of the time, and purely internal builds only a third as often. The lesson is not “never build”. It is that building from scratch in-house, without people who have shipped agents before, is the riskiest route. Whichever route you choose, insist on an evaluation set, approval steps for high-impact actions, an audit log, and a named owner after launch; our checklist of <a href="https://apptycoons.com/blog/ai-agent-guardrails">agent guardrails</a> lists ten controls to ask for on either route. We cover this in more depth in <a href="https://apptycoons.com/blog/ai-pilots-to-production">why AI pilots stall before production</a>.</p>
<h2>When buying is the better choice</h2>
<p>Buying is the right answer more often than development shops admit. Buy when:</p>
<ul>
<li>the use case is common, such as help-center answers, meeting notes or ticket summaries,</li>
<li>a product already integrates with the tools you use, without custom work,</li>
<li>your volume keeps per-use fees below what a build and its maintenance would cost,</li>
<li>you need value this month and can accept the vendor’s workflow,</li>
<li>or there is no one to own a custom agent once it ships.</li>
</ul>
<p>In those cases, a custom build would cost more and arrive later, and you should not pay for one, from us or anyone else.</p>
<h2>Do general-purpose agents like Muse and Grok Bot count as buying?</h2>
<p>Yes, and for one kind of work they are the cheapest option there is. Meta’s Muse and xAI’s Grok Bot are general-purpose agents that sign in to the apps a person already uses and work through multi-step jobs. If the job belongs to one person or one small team and runs through common tools, try them before you buy anything narrower or build anything at all.</p>
<p>What each one is, from the vendors’ own pages (checked October 12, 2026):</p>
<ul>
<li><strong>Muse</strong> launched on September 8, 2026, rolling out in the US. Meta says it is free for most of what people need, with paid plans for more. It runs on its own cloud machine, people choose which apps it connects to and how much access it gets, and it checks with the user before sensitive actions such as sending an email or making a purchase.</li>
<li><strong>Grok Bot</strong> has been in beta since August 11, 2026, included with SuperGrok and paid Cursor plans, with its own usage on top. Bots share a cloud computer that belongs to the account, sign in across apps and websites, use connectors where they exist and operate the screen everywhere else, and come back when something needs approval. xAI says teams use them for sales outbound, marketing campaigns and office operations; Enterprise access is a waitlist.</li>
</ul>
<p>The limits are those of any bought agent, plus a few more. The agent runs in the vendor’s cloud with your users’ logins. It follows the vendor’s approval model, not yours, and your evaluation cases and audit requirements don’t travel with it. Where it operates a screen instead of an API, a layout change can break the job. Enterprise controls are still arriving on both.</p>
<p>So split the work by who carries the risk. An agent that drafts, researches or files on behalf of one person can be bought this way today. An agent that changes records, moves money or speaks to customers on the company’s behalf belongs in the build column of the matrix above. There is also a middle path: keep the workflow and its rules in your own systems, and let Muse, Grok Bot or Claude call them through an <a href="https://apptycoons.com/blog/mcp-server-meta-muse-grok">MCP server for Muse and Grok</a> that enforces your permissions.</p>
<p><em>Split the work by who carries the risk</em></p>
<p><strong>Buy a general-purpose agent</strong> (Muse, Grok Bot)</p>
<ul>
<li>Drafts, researches or files for one person</li>
<li>Runs through common apps with your users’ logins</li>
<li>Follows the vendor’s approval model</li>
</ul>
<p><strong>Build</strong> (your systems)</p>
<ul>
<li>Changes records, moves money or speaks to customers</li>
<li>Acts inside your own systems</li>
<li>Follows your approval rules and audit trail</li>
</ul>
<h2>When building wins</h2>
<p>Building wins when the agent is part of what makes your business different, or when no product can reach the systems it needs to act in. Two of our builds show both patterns.</p>
<p>A commercial real estate platform we built is the first pattern: the agents are the product, and parallel agents turn a property address into a sourced report and a 10-year pro forma. No off-the-shelf agent does that, because that work is what the platform sells.</p>
<p><a href="https://apptycoons.com/work/superdeal">Superdeal</a> is the second pattern. Its agent reads the platform’s own creator, deal and shipment records and works through the platform’s own approval step before anything is sent. A bought agent would sit outside that data and those approvals, which is where all of the agent’s value comes from.</p>
<h2>The hybrid most teams end up with</h2>
<p>In practice, nearly every custom agent is part bought. Models come from Anthropic, OpenAI, Google or open-source providers; vector search, telephony and observability come from vendors. What you build is the layer that encodes your workflow: the tools the agent can call, the rules it follows, the approvals it needs and the evaluation set that proves it works. Owning that layer is what lets you switch models as prices fall, and move between vendors without starting again.</p>
<img src="https://apptycoons.com/assets/blog/build-vs-buy-ai-agents/layers.webp" alt="Two stacked layers. Build: your workflow layer, with the tools the agent can call, the rules it follows, the approvals it needs and the evaluation set. Buy: commodity layers, with models, vector search, telephony and observability." style="display:block;margin:0 auto" />

<p><em>The layer you build is the one that encodes your workflow.</em></p>
<h2>AI agent vs chatbot vs RPA</h2>
<p>Part of the build-or-buy question is whether you need an agent at all. Sometimes a chatbot or an RPA script is enough, and both are cheaper.</p>
<p><strong>Chatbot, RPA or AI agent</strong></p>
<table>
<thead>
<tr>
<th></th>
<th>Chatbot</th>
<th>RPA</th>
<th>AI agent</th>
</tr>
</thead>
<tbody><tr>
<td>What it does</td>
<td>Answers questions</td>
<td>Repeats fixed steps in software</td>
<td>Decides and acts within rules</td>
</tr>
<tr>
<td>Handles variation</td>
<td>In language only</td>
<td>Poorly; breaks when screens change</td>
<td>Yes, within guardrails</td>
</tr>
<tr>
<td>Takes actions</td>
<td>No</td>
<td>Yes, scripted</td>
<td>Yes, with approvals</td>
</tr>
<tr>
<td>Choose it when</td>
<td>The job is answering</td>
<td>Steps never change</td>
<td>Inputs vary and judgment is needed</td>
</tr>
</tbody></table>
<h2>How to run a fair test before you decide</h2>
<p>You can test both routes cheaply before committing to either. Run the bought product on a slice of real traffic for two to four weeks, with its own reporting turned on, and record three numbers: how many cases it fully resolved, how many it got wrong, and how many it handed to a person. Then run the same cases through a custom prototype on your real data; our discovery sprint ends with one for $5,000.</p>
<p><em>A fair test of both routes</em></p>
<ol>
<li><strong>Run the bought product</strong> (2–4 weeks): On a slice of real traffic, with its own reporting turned on.</li>
<li><strong>Record three numbers</strong> (same weeks): Cases fully resolved, cases it got wrong, cases handed to a person.</li>
<li><strong>Run a custom prototype</strong> (discovery): The same cases, on your real data.</li>
<li><strong>Compare on your evaluation cases</strong> (decide): Not on a demo, and at a cost you can live with at year-three volume.</li>
</ol>
<p>Compare the two on your evaluation cases, not on a demo. If the product resolves enough cases at a cost you can live with at year-three volume, buy it. If it stalls on the cases that matter most, such as those that need your internal systems or your rules, that gap is what a custom build is for. If you do go custom, the vetting questions are in <a href="https://apptycoons.com/blog/how-to-evaluate-ai-agent-development-company">how to choose an AI agent development company</a>.</p>
<p>The method is not specific to AI. We ran <a href="https://apptycoons.com/blog/build-vs-buy-affiliate-tracking">the same decision for affiliate tracking</a>, where SaaS plans that step up with tracked affiliate revenue play the part that per-outcome pricing plays here.</p>
<h2>A build-vs-buy checklist</h2>
<p>Before you decide, write down answers to these, for this agent specifically:</p>
<ul>
<li>The one business number the agent must move, and its current value.</li>
<li>Expected volume in month one and in year three.</li>
<li>Every system the agent must read from or write to.</li>
<li>Where the data may be processed and stored.</li>
<li>Which actions need a person’s approval.</li>
<li>Who owns the agent after launch, and their budget for changes.</li>
<li>The three-year cost of buying at year-three volume, and of building.</li>
</ul>
<p>If the checklist points to buying, buy. If it points to building, our <a href="https://apptycoons.com/services/ai-agent-development">AI agent development</a> team fixes the price after a two-week discovery sprint, and the first conversation is a free AI audit that covers this decision, including when the answer is to buy.</p>
<h2>Sources</h2>
<ol>
<li><a href="https://fortune.com/2025/08/18/mit-report-95-percent-generative-ai-pilots-at-companies-failing-cfo/">MIT report: 95% of generative AI pilots at companies are failing</a>, Fortune</li>
<li><a href="https://www.intercom.com/pricing">Intercom pricing (Fin AI Agent)</a>, Intercom</li>
<li><a href="https://www.microsoft.com/en-us/microsoft-copilot/microsoft-copilot-studio">Microsoft Copilot Studio pricing</a>, Microsoft</li>
<li><a href="https://platform.claude.com/docs/en/about-claude/pricing">Claude API pricing</a>, Anthropic</li>
<li><a href="https://about.fb.com/news/2026/09/introducing-muse-personal-ai-agent/">Introducing Muse: The World’s First Personal AI Agent Built for Everyone</a>, Meta</li>
<li><a href="https://x.ai/news/introducing-grok-bot">Introducing Grok Bot</a>, xAI</li>
</ol>
<p><em>Originally published at</em> <a href="https://apptycoons.com/blog/build-vs-buy-ai-agents"><em>apptycoons.com</em></a><em>.</em></p>
]]></content:encoded></item><item><title><![CDATA[AI receptionist call routing: from demo to booked appointment]]></title><description><![CDATA[How AI receptionist call routing works in production: a front agent that only routes, narrow agents behind it, what booking needs, when an IVR wins.]]></description><link>https://apptycoons.hashnode.dev/ai-receptionist-call-routing-from-demo-to-booked-appointment</link><guid isPermaLink="true">https://apptycoons.hashnode.dev/ai-receptionist-call-routing-from-demo-to-booked-appointment</guid><category><![CDATA[AI]]></category><category><![CDATA[ai agents]]></category><category><![CDATA[voice ai]]></category><category><![CDATA[llm]]></category><dc:creator><![CDATA[Apptycoons]]></dc:creator><pubDate>Wed, 28 Oct 2026 21:43:34 GMT</pubDate><content:encoded><![CDATA[<p><strong>Quick answer:</strong> In production, an AI receptionist works best as a front agent with one job: find out what the caller wants and hand the call to an agent built for that request. The agents behind it stay narrow, so the booking agent only books, and only after the caller confirms every detail read back.</p>
<p>A receptionist demo answers the phone, greets the caller and handles a couple of questions. A production voice agent has to book the slot. On the dealership voice agents we built for Innovative AI, that meant settling four things on one call: the exact vehicle, the right service out of the 100–200 on that vehicle’s menu, an open time and a way to get the car in.</p>
<p><strong>99%</strong> of callers who went ahead with booking through the agent were booked, by our own count, on the Innovative AI build. Calls that weren’t bookings don’t count toward it.</p>
<p>The gap between those two is mostly routing. The demo puts one agent on the line and asks it to do everything. The production system puts a receptionist agent in front whose only job is to work out what the caller wants, and hands the call to an agent built for that job. This guide covers how that split works, what booking needs before it can happen, and when a phone tree or one more person at the front desk is the better buy. It is the call design we use for <a href="https://apptycoons.com/ai-voice-agents">custom AI voice agents and AI receptionists</a>.</p>
<h2>What is call routing for an AI receptionist?</h2>
<p>Call routing for an AI receptionist is the step where the agent works out the caller’s intent and sends the call to the path that handles it. That path can be another agent, a person or a callback queue. Routing is a classification problem, and it is the first decision on every call.</p>
<p>Anthropic’s guide to building agents describes the same pattern under the name routing: it “classifies an input and directs it to a specialized followup task”, and works well “for complex tasks where there are distinct categories that are better handled separately”. Its first example is customer service queries sent to different downstream prompts and tools. Agent frameworks build it in. OpenAI’s Agents SDK, for example, exposes each handoff to the model as a tool, so a triage agent can transfer a caller to a billing or refund agent.</p>
<p>A keypad menu routes too, but the caller does the classifying by pressing 2. An AI receptionist asks an open question (“How can I help?”) and does the classifying itself.</p>
<h2>Why a demo receptionist breaks on a real phone line</h2>
<p>A demo receptionist breaks because one agent carries every instruction, every tool and every edge case at once. With two call types that holds up. With five, the prompt mixes booking rules with status lookups and policy answers, and a change for one call type can break another that you didn’t retest.</p>
<p>Real phone lines carry several kinds of calls. A dealership line carries service bookings, questions about a car already in the shop and calls about everything else. Each needs different data and ends differently: a booking ends with an appointment written to the scheduler, a status question ends with an answer, and a complaint ends with a person.</p>
<p>Splitting the work lets you treat each call type as its own small system:</p>
<ul>
<li><strong>Shorter instructions.</strong> The booking agent only carries booking rules, so it never has to decide whether the caller is booking at all.</li>
<li><strong>Fewer tools per agent.</strong> An agent that can only read the menu and write appointments can’t call the wrong system.</li>
<li><strong>Tests per call type.</strong> You can replay a week of booking calls against the booking agent alone and see what changed.</li>
<li><strong>Failures you can locate.</strong> When a call goes wrong, the transcript shows whether the route or the task failed.</li>
</ul>
<p>The cost is one more step on every call. The handoff has to be fast and invisible to the caller, which is a latency question as much as a design one; our guide to <a href="https://apptycoons.com/blog/voice-agent-latency">voice agent latency</a> covers that budget.</p>
<h2>How the front agent routes a call in production</h2>
<p>On the Innovative AI system, a receptionist agent takes every inbound call first. Its only job is to work out what the caller wants and hand the call to the agent built for that. The agents are still live in production.</p>
<p>We built the receptionist around three paths: book a service, check on a car already in the shop, or something else. By the time the booking agent speaks, the intent is settled. For a phone number the system already knows, so are the caller’s name, car and last service, which are saved against the number from earlier calls.</p>
<p><strong>The split we recommend, modeled on that build: what the front agent does and what it leaves to the agents behind it</strong></p>
<table>
<thead>
<tr>
<th>Step</th>
<th>Front agent (receptionist)</th>
<th>Agent behind it</th>
</tr>
</thead>
<tbody><tr>
<td>Greeting</td>
<td>Answers and asks what the caller needs</td>
<td>Not on the call yet</td>
</tr>
<tr>
<td>Intent</td>
<td>Picks one path, or asks one clarifying question</td>
<td>Receives the settled intent</td>
</tr>
<tr>
<td>Caller record</td>
<td>Arrives with the call when the number is already known</td>
<td>Confirms the record instead of asking again</td>
</tr>
<tr>
<td>Task</td>
<td>Doesn’t book, look up or answer policy questions</td>
<td>Does one job with its own tools</td>
</tr>
<tr>
<td>Unclear or out of scope</td>
<td>Sends the call to a person or a callback with a summary</td>
<td>Hands back if the request turns out to be something else</td>
</tr>
</tbody></table>
<p>Three rules we recommend for any front agent:</p>
<ul>
<li><strong>Ask rather than guess.</strong> If the first sentence could mean two things, ask one short question. A wrong route costs the caller their first minute.</li>
<li><strong>Confirm a saved caller, don’t assume one.</strong> A phone number identifies a line. Households share phones and cars, so a quick “Is this about the Camry?” beats a booking for the wrong vehicle.</li>
<li><strong>Pass a summary with every handoff.</strong> Whoever takes the call next, agent or person, should start from what the caller already said.</li>
</ul>
<p>The case study on <a href="https://apptycoons.com/work/innovative-ai">Innovative AI’s dealership voice agents</a> covers the rest of the system, including its outbound calls.</p>
<h2>What a booking needs before it exists</h2>
<p>A booking exists only when the agent has every field the scheduler needs and the caller has agreed to them. On the Innovative AI build there were four, collected in order, and the booking agent wrote nothing until all four were settled.</p>
<ol>
<li><strong>The exact vehicle.</strong> Year, make, model and trim, because the service menu depends on the car.</li>
<li><strong>The right op code.</strong> The caller describes the job in their own words, and the agent picks the matching entry out of the 100–200 services on that vehicle’s menu, each with its own op code.</li>
<li><strong>An open slot.</strong> The agent checks the requested time against the dealership’s open appointments and offers another time if it is taken.</li>
<li><strong>A transport choice.</strong> Drop-off (with a shuttle or loaner if needed), pickup by the dealership or mobile service at home, with an address asked for only when the option needs one.</li>
</ol>
<p>Before booking, the agent reads the service back and goes on only once the caller agrees. A wrong op code books the wrong job, so that confirmation is in every booking.</p>
<p>This is where a demo and a production agent differ most. A demo can say “You’re all set for Tuesday” without anything behind it. A production agent can only say it after the scheduler has accepted the appointment. Our guide to <a href="https://apptycoons.com/blog/ai-service-scheduling-dealerships">AI service scheduling for dealerships</a> walks through each of the four steps from the caller’s side, including what to do when no menu entry matches.</p>
<p>Other businesses have their own four fields. A clinic needs the patient, the visit type, the provider’s open slot and the location. A field service company needs the address, the job, the window and the access details. Write the list down before any prompt: it decides what the booking agent asks and in what order.</p>
<h2>Where routed calls still fail</h2>
<p>Routing narrows the failures but doesn’t remove them. On the Innovative AI build, the bookings that didn’t complete failed for three reasons: requests too odd or ambiguous to match to a service, accents and pronunciation the speech recognition misheard, and heavy background noise at the caller’s end.</p>
<p>None of those is a routing failure, but routing decides what happens next. A narrow booking agent knows when it is stuck, because it is stuck on one question: which service the caller means. That makes a clean exit easy to design. We recommend that after one failed clarification the agent offers an advisor or a callback and passes on what it already has, so the call ends with a next step instead of a hang-up.</p>
<p>Track routing separately from booking after launch. Count calls by the path the front agent chose, the handoffs to people by reason, and calls that were sent to one agent and handed back. A rising hand-back rate means the front agent is guessing.</p>
<h2>When a phone tree or better staffing wins</h2>
<p>A phone tree wins when callers need a destination, not an outcome; better staffing wins when the calls need judgment and the volume fits in business hours. An AI receptionist earns its build cost when many callers need something done, such as a booking, at hours or volumes your staff can’t cover. We build the third option, so weigh this table with that in mind.</p>
<p><strong>Phone tree, more staff or an AI receptionist: how we would decide</strong></p>
<table>
<thead>
<tr>
<th>Your calls look like this</th>
<th>Better fit</th>
<th>Why</th>
</tr>
</thead>
<tbody><tr>
<td>Callers want a department, extension or mailbox</td>
<td>Phone tree (IVR)</td>
<td>Fixed destinations need no understanding; keep the menu to one or two levels</td>
</tr>
<tr>
<td>A few call types, all answered in business hours, and the desk keeps up</td>
<td>Staff, maybe a better schedule</td>
<td>Nothing is being lost; automation adds cost and a new failure mode</td>
</tr>
<tr>
<td>Calls need judgment, negotiation or empathy (complaints, disputes, sensitive news)</td>
<td>Staff</td>
<td>A person handles these better; an agent should route them, not answer them</td>
</tr>
<tr>
<td>Most calls are bookings or status checks against a system you can connect</td>
<td>AI receptionist with routing</td>
<td>The task is repeatable and the data exists to complete it on the call</td>
</tr>
<tr>
<td>Bookings arrive after hours or several at once</td>
<td>AI receptionist with routing</td>
<td>A single receptionist covers one call at a time, in staffed hours only</td>
</tr>
<tr>
<td>Your scheduler has no way for an agent to read slots and write bookings</td>
<td>Staff or IVR for now</td>
<td>An agent that can’t book is only a slower message taker</td>
</tr>
</tbody></table>
<p>GetVoIP’s comparison of the two makes a similar point from the IVR side: for pure high-volume transactional sorting, it says, “a menu is faster and cheaper than any conversation.”</p>
<p>Staffing is easy to size. The Bureau of Labor Statistics puts the 2025 median pay for receptionists at $18.27 an hour. A full-time receptionist covers about 40 of the 168 hours in a week, roughly 24%, and one call at a time within those hours. If your missed calls fall inside those 40 hours and rarely overlap, a second person or a better lunch rota is the cheaper fix. If they fall at night, on weekends or in bursts, a person can’t cover them at that price, and an agent can.</p>
<h2>How to scope an AI receptionist that books</h2>
<p>Start from the call log, not the demo. A week of recorded calls shows which intents your line carries, how many of them are bookings and how far callers’ words sit from the items in your booking system. From that, the scope writes itself:</p>
<ul>
<li><strong>The paths.</strong> The intents the front agent routes on day one, and where everything else goes.</li>
<li><strong>The fields.</strong> For each bookable path, the fields the scheduler needs and the order the agent asks for them.</li>
<li><strong>The confirmation.</strong> What the agent reads back before it writes anything.</li>
<li><strong>The exits.</strong> When the agent hands over to a person, and what summary goes with the call.</li>
<li><strong>The measures.</strong> Booking completion among callers who chose to book, handoffs by reason and hand-backs from the routed agents.</li>
</ul>
<p>A routed receptionist with booking falls in our $25k–$120k fixed-price band, set after a Discovery Sprint. The number of paths and booking-system connections moves it within the band more than the conversation does; the <a href="https://apptycoons.com/pricing">pricing page</a> explains how the band is set.</p>
<p>Before any of that, check whether the calls you miss are worth the build. Put your call volume, missed-call share and customer value into the <a href="https://apptycoons.com/tools/ai-voice-agent-roi-calculator">AI voice agent ROI calculator</a>, and our guide to <a href="https://apptycoons.com/blog/cost-of-missed-calls">the cost of missed calls</a> shows the formula behind it.</p>
<h2>Sources</h2>
<ol>
<li><a href="https://www.anthropic.com/engineering/building-effective-agents">Building effective agents</a>, Anthropic (Dec 19, 2024)</li>
<li><a href="https://openai.github.io/openai-agents-python/handoffs/">Handoffs</a>, OpenAI Agents SDK documentation, as of October 2026</li>
<li><a href="https://www.bls.gov/ooh/office-and-administrative-support/receptionists.htm">Receptionists: Occupational Outlook Handbook</a>, U.S. Bureau of Labor Statistics</li>
<li><a href="https://getvoip.com/blog/ai-receptionist-vs-ivr/">AI Receptionist vs IVR: How Each Handles Your Calls and Which Fits You Best</a>, GetVoIP (Jul 9, 2026)</li>
</ol>
<p><em>Originally published at <a href="https://apptycoons.com/blog/ai-receptionist-call-routing">apptycoons.com</a>.</em></p>
]]></content:encoded></item><item><title><![CDATA[Why sub-second latency makes or breaks a voice agent]]></title><description><![CDATA[How fast should an AI voice agent reply? What turn-taking research says, where the milliseconds go, and how to measure and cut latency on real calls.]]></description><link>https://apptycoons.hashnode.dev/why-sub-second-latency-makes-or-breaks-a-voice-agent</link><guid isPermaLink="true">https://apptycoons.hashnode.dev/why-sub-second-latency-makes-or-breaks-a-voice-agent</guid><category><![CDATA[AI]]></category><category><![CDATA[voice ai]]></category><category><![CDATA[performance]]></category><dc:creator><![CDATA[Apptycoons]]></dc:creator><pubDate>Tue, 27 Oct 2026 11:40:43 GMT</pubDate><content:encoded><![CDATA[<p><strong>Quick answer:</strong> Aim for the agent to start speaking within about one second of the caller finishing, and faster where you can. People leave gaps of roughly 200 ms between turns, so longer silences feel like a broken line. Measure from the end of the caller’s speech to the first audio they hear, at the median and the 95th percentile.</p>
<p>In conversation, people leave about 200 ms between turns. When an agent takes two seconds to respond, callers start talking over it — or hang up.</p>
<p>That pause is the first thing a caller judges, before they notice the voice or what the agent says, and most of it can be engineered away.</p>
<h2>How fast should a voice agent respond?</h2>
<p>A voice agent should start speaking within about one second of the caller finishing, and faster is noticeably better. That target comes from how people talk to each other, not from what the technology finds easy.</p>
<p>Conversation research is consistent here. Levinson and Torreira summarize it as gaps between turns “of the order of 200 ms”, while the time a person needs to plan even a short utterance is over 600 ms. People manage this by predicting how the other speaker will finish and preparing a reply while they are still listening. A comparison of ten languages by Stivers and colleagues found the same pattern everywhere: speakers avoid overlap and minimize silence, and the average gap varies by language only within about 250 ms of the cross-language mean.</p>
<p>The phone network has its own guideline. ITU-T G.114 sets a target of 150 ms one-way delay for most voice uses, before any AI is involved. Together, these numbers explain why a two-second silence feels broken: it is roughly ten times longer than the gap a caller expects.</p>
<h2>Where the time goes</h2>
<p><em>Where one turn’s time goes, in order</em></p>
<ol>
<li><strong>Network in</strong>: Caller audio reaches your services</li>
<li><strong>Speech to text</strong>: Finishing the caller’s sentence</li>
<li><strong>Language model</strong>: Deciding what to say or which tool to call</li>
<li><strong>Text to speech</strong>: Producing the first audio</li>
<li><strong>Network out</strong>: Audio travels back to the caller, plus the network hops between each service</li>
</ol>
<p>Each item hides a further delay. Before transcription can finish, the system has to decide that the caller has stopped talking. The model’s first token arrives quickly, but a long system prompt, a large model or a tool call can push the first useful sentence much later. Speech synthesis needs a full phrase to sound natural. And on a phone call, audio travels from the carrier to your telephony provider, then to each AI service and back, so a service hosted far from the others adds a round trip on every turn.</p>
<p>Mid-call lookups belong in the same budget: when a dealership booking agent loads a vehicle’s service menu or checks open slots during an <a href="https://apptycoons.com/blog/xtime-api-integration">Xtime API integration</a>, each request is a tool call inside the caller’s turn, and the caller waits through it.</p>
<h2>A latency budget, stage by stage</h2>
<p>A one-second target only works if each stage has its own share of it, written down before the build. The table splits a turn into stages, with the published figure for each where one exists, checked October 18, 2026, and how to measure the rest.</p>
<p><strong>Latency budget for one voice agent turn (published figures checked October 18, 2026)</strong></p>
<table>
<thead>
<tr>
<th>Stage</th>
<th>Published figure</th>
<th>What the figure covers</th>
<th>How to measure it on your calls</th>
</tr>
</thead>
<tbody><tr>
<td>Phone network, each direction</td>
<td>150 ms one-way target (ITU-T G.114)</td>
<td>Mouth-to-ear delay for most voice uses</td>
<td>Carrier and telephony timestamps on test calls</td>
</tr>
<tr>
<td>End-of-turn detection</td>
<td>500 ms silence in OpenAI’s example VAD setting</td>
<td>An example configuration, not a default</td>
<td>Time from the caller’s last word to the turn-end event</td>
</tr>
<tr>
<td>Speech-to-text final</td>
<td>No comparable figure</td>
<td>Depends on model, audio and region</td>
<td>Turn-end event to final transcript</td>
</tr>
<tr>
<td>Language model</td>
<td>No comparable figure</td>
<td>Depends on model, prompt length and load</td>
<td>Transcript to first complete sentence</td>
</tr>
<tr>
<td>Tool calls</td>
<td>Your own APIs</td>
<td>Lookups in your systems</td>
<td>Request to response, per tool</td>
</tr>
<tr>
<td>Text-to-speech first audio</td>
<td>About 75 ms for ElevenLabs Flash v2.5</td>
<td>Model only, excluding application and network latency</td>
<td>Sentence sent to first audio byte</td>
</tr>
</tbody></table>
<p>The table shows why the fixed parts matter. With the network at the G.114 limit in both directions and a 500 ms silence threshold, those two items alone take 800 ms (150 + 150 + 500), before transcription, the model or speech start. That is illustrative arithmetic, not a measurement, but it is why end-of-turn tuning and same-region hosting do more for latency than swapping models.</p>
<p> <img src="https://apptycoons.com/assets/blog/voice-agent-latency/budget.webp" alt="A one-second turn as a bar: 150 ms network in, 500 ms end-of-turn silence, 200 ms left for everything else, then 150 ms network out" /></p>
<p><em>150 + 150 + 500 = 800 ms before transcription, the model or speech start.</em></p>
<h2>Why vendor latency numbers don’t add up</h2>
<p>Vendor latency figures usually measure one model in isolation, while the caller hears the whole chain. ElevenLabs is explicit about this: its models page lists Flash v2.5 at about 75 ms and marks the figure as excluding application and network latency.</p>
<p>That is a fair way to describe a model, and it is the right comparison between models. It is not what a caller experiences. Add up model-only figures for speech-to-text, the language model and text-to-speech, and the sum still leaves out end-of-turn detection, the phone network, the hops between services and any tool call. Those are the stages that set the pause a caller hears.</p>
<p>When a vendor quotes a latency number, ask three questions: which stages it covers, whether it is a median or a 95th percentile, and whether it was measured on a phone call or in a browser.</p>
<h2>End-of-turn detection is the hidden delay</h2>
<p>The most overlooked delay is deciding when the caller has finished. A simple voice activity detector waits for a fixed stretch of silence before it ends the turn. OpenAI’s documentation for its realtime API describes the trade-off directly: with a shorter silence duration, turns are detected more quickly. Set it too short, and the agent interrupts people who pause mid-sentence; set it too long, and every reply starts late.</p>
<p>Newer approaches look at meaning as well as silence. LiveKit’s agent framework, for example, uses a turn detector model that predicts the end of a turn from both what was said and how it sounded, on top of voice activity detection, and can adapt its delay to the caller’s own pauses. OpenAI offers a semantic mode with an adjustable eagerness setting. Neither removes the trade-off, but both let the agent answer quickly when a sentence is clearly complete and wait when it is not.</p>
<h2>How to cut latency without making the agent worse</h2>
<p>We stream every stage, start speaking before the full response is generated, and run tool calls in parallel with filler acknowledgements — so the agent feels present even while it works.</p>
<p>That comes down to six choices:</p>
<ul>
<li>Stream transcription, generation and speech, so each stage starts on partial output instead of waiting for the previous one to finish.</li>
<li>Send the first sentence to speech synthesis as soon as it is complete, and keep generating the rest while it plays.</li>
<li>Keep the speech, model and telephony services in the same region, and keep connections warm between calls.</li>
<li>Keep the system prompt short and move rarely needed instructions into tools, so the model reads less on every turn.</li>
<li>Use a smaller, faster model for routing and simple turns, and a larger one only where reasoning is needed.</li>
<li>Cache data that does not change during a call, such as opening hours or the caller’s account, after the first lookup.</li>
</ul>
<p>None of these require a worse answer. The goal is to remove waiting, not thinking.</p>
<h2>Interruptions matter as much as speed</h2>
<p>A fast agent that cannot be interrupted still feels robotic. When a caller starts talking, the agent should stop speaking almost at once, keep what it heard, and respond to the interruption rather than finishing its script. Frameworks such as LiveKit pause agent speech when they detect the caller and can tell a real interruption from a backchannel like “uh-huh”, so the agent does not stop every time someone agrees with it.</p>
<p>Test this on purpose. Interrupt the agent mid-sentence, talk over it in a noisy room, and pause halfway through a long account number. These are the moments callers remember.</p>
<h2>Latency targets by call type</h2>
<p>Not every call needs the same speed, and the right target depends on what the caller is trying to do. A booking or FAQ call is made of short, scripted turns where speed is most of the experience. A discovery or sales call has longer answers where quality matters more than shaving a few hundred milliseconds.</p>
<ul>
<li><strong>Booking, FAQs and routing.</strong> Short questions and short answers. Aim for the fastest turns you can measure, a small fast model for most turns, and cached data such as opening hours.</li>
<li><strong>Account lookups and changes.</strong> The tool call dominates. Acknowledge at once (“Let me check that”), run the lookup in parallel, and set a budget per tool.</li>
<li><strong>Discovery, sales and support with judgment.</strong> Longer reasoning is acceptable if the agent signals it is thinking. Keep the first sentence fast and let the rest follow.</li>
<li><strong>Regulated calls,</strong> such as healthcare scheduling. A disclosure or confirmation step adds a turn by design; budget for it instead of cutting it. Our <a href="https://apptycoons.com/industries/healthcare">healthcare software development</a> page covers the privacy side of those calls.</li>
</ul>
<p><em>Example call (illustrative): acknowledge, then look up</em></p>
<ol>
<li><strong>Caller:</strong> Can I move my appointment to Friday?</li>
<li><strong>AI agent:</strong> Let me check that.</li>
<li><strong>AI agent:</strong> Friday has 10 am or 2 pm open. Which works better?</li>
<li><strong>Caller:</strong> 2 pm, please.</li>
</ol>
<p>Whatever the type, measure the same way and report the median and the 95th percentile separately for each call flow.</p>
<h2>Platform or custom pipeline: who controls the latency?</h2>
<p>Hosted voice platforms such as Vapi and Retell assemble the pipeline for you: telephony, transcription, model and voice behind one API. That is the fastest way to a working agent, and for many call flows their latency is good enough. The trade-off is control. You choose from the vendors and regions the platform supports, and when a turn is slow, you can see less of why.</p>
<p>A custom pipeline, built on frameworks such as LiveKit or Pipecat, puts every stage under your control: where each service runs, which models handle which turns, how end-of-turn detection is tuned, and how tool calls are scheduled. It takes more engineering and more operational work. It is worth it when calls involve heavy lookups in your own systems, when data must stay in a specific region, or when volume makes per-minute platform fees a large line item. Same-region hosting does double duty there: it cuts a network hop on every turn and it is also how an agent keeps EU callers’ data in an EU region when a client asks for it; the transfer rules are explained in <a href="https://apptycoons.com/blog/eu-ai-act-gdpr-ai-agents">EU AI Act and GDPR rules for AI agents</a>. The per-minute side of the decision is worked through in <a href="https://apptycoons.com/blog/ai-voice-agent-cost">AI voice agent cost</a>. Whichever route you take, measure it the same way.</p>
<p><em>Who controls the latency</em></p>
<p><strong>Hosted platform</strong> (Vapi, Retell)</p>
<ul>
<li>Fastest way to a working agent</li>
<li>Vendors and regions the platform supports</li>
<li>Less visibility into why a turn is slow</li>
</ul>
<p>vs</p>
<p><strong>Custom pipeline</strong> (LiveKit, Pipecat)</p>
<ul>
<li>More engineering and operational work</li>
<li>You choose where each service runs</li>
<li>Every stage under your control</li>
</ul>
<h2>How to measure voice agent latency</h2>
<p>Measure what the caller hears, not what a dashboard reports. The number that matters is the time from the end of the caller’s speech to the first audio of the reply, recorded on a real phone call.</p>
<ul>
<li>Place test calls over the phone network, not only in a browser demo, because the carrier and telephony hops add delay a demo never sees.</li>
<li>Record both sides of the call and mark the end of caller speech and the start of agent audio.</li>
<li>Report the median and the 95th percentile across many turns; a good median with a slow tail still produces awkward calls.</li>
<li>Log each stage separately, so a slow turn points to transcription, the model, a tool or speech synthesis.</li>
<li>Repeat the test with background noise, accents and the longest tool calls in your flow.</li>
</ul>
<p>Run this test on your own call flows before launch, because a latency figure measured on a different script, network or vendor mix says little about your calls.</p>
<blockquote>
<p>“Latency isn’t a technical metric. It’s the difference between a conversation and a phone tree.”</p>
</blockquote>
<h2>What to do next</h2>
<p>If you are planning a voice agent, set a latency target alongside your business goals, and ask any vendor or platform how they measured theirs. Our <a href="https://apptycoons.com/ai-voice-agents">AI voice agent development</a> work starts with your call flows, integrations and a latency budget for each one. To put a value on every answered call, read <a href="https://apptycoons.com/blog/cost-of-missed-calls">what missed calls really cost</a> or put your own call volume into the <a href="https://apptycoons.com/tools/ai-voice-agent-roi-calculator">AI voice agent ROI calculator</a>.</p>
<h2>Sources</h2>
<ol>
<li><a href="https://www.frontiersin.org/journals/psychology/articles/10.3389/fpsyg.2015.00731/full">Timing in turn-taking and its implications for processing models of language</a>, Frontiers in Psychology (Levinson &amp; Torreira, 2015)</li>
<li><a href="https://doi.org/10.1073/pnas.0903616106">Universals and cultural variation in turn-taking in conversation</a>, PNAS (Stivers et al., 2009)</li>
<li><a href="https://www.twilio.com/docs/glossary/what-is-latency">What is latency? (ITU-T G.114 one-way delay target)</a>, Twilio</li>
<li><a href="https://docs.livekit.io/agents/build/turns/">Turn detection and interruptions</a>, LiveKit Agents docs</li>
<li><a href="https://developers.openai.com/api/docs/guides/realtime-vad">Voice activity detection (VAD)</a>, OpenAI API docs</li>
<li><a href="https://elevenlabs.io/docs/models">Models</a>, ElevenLabs docs</li>
</ol>
<p><em>Originally published at <a href="https://apptycoons.com/blog/voice-agent-latency">apptycoons.com</a>.</em></p>
]]></content:encoded></item><item><title><![CDATA[Creator platform revenue share: how to build splits, payouts and statements]]></title><description><![CDATA[How to build creator revenue share in 2026: attribution, ledger, gross vs net after app store fees, payout costs, tax forms and lessons from DubCam.]]></description><link>https://apptycoons.hashnode.dev/creator-platform-revenue-share-how-to-build-splits-payouts-and-statements</link><guid isPermaLink="true">https://apptycoons.hashnode.dev/creator-platform-revenue-share-how-to-build-splits-payouts-and-statements</guid><category><![CDATA[fintech]]></category><category><![CDATA[payments]]></category><category><![CDATA[startup]]></category><dc:creator><![CDATA[Apptycoons]]></dc:creator><pubDate>Tue, 27 Oct 2026 11:37:54 GMT</pubDate><content:encoded><![CDATA[<p><strong>Quick answer:</strong> A creator revenue share needs attribution that ties every payment to one creator, a ledger that records each split as its own entry, and payouts on a fixed schedule. Decide before launch whether the share comes from gross or net revenue, since app store fees take 15% to 30%, and price your payout threshold against per-payout fees.</p>
<p>On DubCam, a fan picks a program at sign-up, 50% of every subscription is attributed to that program, and the money goes out on the 1st of the month with no minimum threshold. That one sentence hides four systems: attribution, a ledger, payouts and tax reporting. It also hides a choice most platforms make too late: is 50% of the price the fan paid, or of what is left after the app store takes its cut?</p>
<p>This guide covers each system with real published fees and the arithmetic, so you can set the rules before the first statement goes out.</p>
<h2>What a creator revenue share system needs</h2>
<p>A revenue share is four systems that must agree with each other every month:</p>
<ul>
<li><strong>Attribution:</strong> every payment linked to exactly one creator, by a rule the fan can see.</li>
<li><strong>Ledger:</strong> every split, fee, refund and payout recorded as its own entry.</li>
<li><strong>Payouts:</strong> creators paid on a fixed schedule through a provider that verifies who they are.</li>
<li><strong>Statements and tax:</strong> each creator sees how their number was calculated, and the platform files the forms the law requires.</li>
</ul>
<p>The percentage in the contract is the easy part. Creators leave when a statement can’t be explained or a payout is late, not when the split is a few points lower than a rival’s.</p>
<h2>Attribution: decide who gets credit, once</h2>
<p>The most trusted attribution rule is the one the fan chooses. On DubCam the fan picks who to back at sign-up, and renewals follow that choice until the fan changes it. Store the choice on the subscription, keep a history of every change with its date, and show the fan who they are supporting.</p>
<p><em>Attribution on DubCam: the fan chooses</em></p>
<ol>
<li><strong>Fan signs up</strong>: Picks a program to back</li>
<li><strong>Choice stored</strong>: On the subscription, with its history</li>
<li><strong>50% attributed</strong>: Renewals follow the choice</li>
<li><strong>Paid on the 1st</strong>: No minimum threshold</li>
</ol>
<p>Disputes start when credit is inferred, for example from viewing time that nobody outside the platform can see. If your model has to split one subscription across several creators by usage, publish the formula and keep the usage data each split was based on, because a creator will ask.</p>
<h2>The ledger: every split as an entry</h2>
<p>Each payment should create separate ledger entries for the fee, the platform’s share and the creator’s share, all linked to the original transaction. Refunds and chargebacks create new entries that reverse the old ones; nothing is edited.</p>
<p>Here is one $10 web subscription with a 50% creator share of gross, refunded the next week. The fee is Stripe’s standard US card rate of 2.9% plus 30 cents, as listed in October 2026; the numbers are illustrative, not a client’s.</p>
<p><strong>Ledger entries for one $10 web subscription and its refund (illustrative)</strong></p>
<table>
<thead>
<tr>
<th>Event</th>
<th>Entry</th>
<th>Amount</th>
</tr>
</thead>
<tbody><tr>
<td>Payment</td>
<td>Cash received</td>
<td>+$10.00</td>
</tr>
<tr>
<td>Payment</td>
<td>Card processing fee</td>
<td>−$0.59</td>
</tr>
<tr>
<td>Payment</td>
<td>Creator payable (50% of gross)</td>
<td>+$5.00</td>
</tr>
<tr>
<td>Payment</td>
<td>Platform revenue (what remains)</td>
<td>+$4.41</td>
</tr>
<tr>
<td>Refund</td>
<td>Cash returned</td>
<td>−$10.00</td>
</tr>
<tr>
<td>Refund</td>
<td>Creator payable reversed</td>
<td>−$5.00</td>
</tr>
<tr>
<td>Refund</td>
<td>Platform revenue reversed</td>
<td>−$4.41</td>
</tr>
</tbody></table>
<p>Whether the processing fee comes back on a refund depends on your processor’s terms, so model it as its own entry rather than assuming. A creator statement is then a filtered view of the creator payable lines, and any line traces back to the payment that produced it.</p>
<h2>Gross or net: the store fee decides</h2>
<p>App store fees take 15% to 30% of an in-app subscription, so a share of gross and a share of net can differ by more than a dollar on a $10 plan. Apple pays developers 70% of an auto-renewable subscription price in a subscriber’s first year and 85% after one year of paid service; free trials don’t count toward that year. Members of the App Store Small Business Program, for developers with up to $1 million in proceeds in the prior year, receive 85% from the start. Google Play lists 10% plus a 5% billing fee on auto-renewing subscriptions bought through Play Billing by users in the US, EEA and UK (rolled out June 30, 2026) and in Australia and Japan (September 30, 2026), on a developer’s first $1 million of annual earnings.</p>
<p><strong>$10 monthly subscription, 50% creator share, by channel (our arithmetic on published rates, taxes excluded, October 2026)</strong></p>
<table>
<thead>
<tr>
<th>Channel</th>
<th>Fee</th>
<th>Platform receives</th>
<th>Creator at 50% of gross</th>
<th>Creator at 50% of net</th>
<th>Platform keeps if share is of gross</th>
</tr>
</thead>
<tbody><tr>
<td>Web, card via Stripe (2.9% + 30¢)</td>
<td>$0.59</td>
<td>$9.41</td>
<td>$5.00</td>
<td>$4.71</td>
<td>$4.41</td>
</tr>
<tr>
<td>iOS, subscriber’s first year (30%)</td>
<td>$3.00</td>
<td>$7.00</td>
<td>$5.00</td>
<td>$3.50</td>
<td>$2.00</td>
</tr>
<tr>
<td>iOS after one year, or Small Business Program (15%)</td>
<td>$1.50</td>
<td>$8.50</td>
<td>$5.00</td>
<td>$4.25</td>
<td>$3.50</td>
</tr>
<tr>
<td>Google Play, US Play Billing (10% + 5%)</td>
<td>$1.50</td>
<td>$8.50</td>
<td>$5.00</td>
<td>$4.25</td>
<td>$3.50</td>
</tr>
</tbody></table>
<p>The last column is the one founders miss. A share of gross on iOS in year one leaves the platform $2.00 of every $10, before hosting, streaming and payout costs. A share of net keeps the platform’s margin steady but pays creators less on mobile than on the web. Neither is wrong. The creator terms must say which rule applies, the ledger must calculate it the same way, and the statement must show it.</p>
<p> <img src="https://apptycoons.com/assets/blog/creator-platform-revenue-share/gross-vs-net.webp" alt="Two bars for a $10 iOS subscription in the subscriber’s first year. With a 50% share of gross, Apple takes $3.00, the creator gets $5.00 and the platform keeps $2.00. With a 50% share of net, Apple takes $3.00, the creator gets $3.50 and the platform keeps $3.50." /></p>
<p><em>Our arithmetic on Apple’s published 70% first-year rate, taxes excluded.</em></p>
<h2>Can you send fans to the web to pay?</h2>
<p>In the United States storefront, yes. Apple’s App Review Guidelines, section 3.1.1(a), say entitlements “are not required for developers to include buttons, external links, or other calls to action in their United States storefront apps.”</p>
<blockquote>
<p>Watch out</p>
<p>The US rule is not global</p>
<p>In other storefronts, links to outside purchasing need a specific entitlement or are not allowed, so check the guidelines for each country you launch in.</p>
</blockquote>
<p>A web checkout changes the fee line in the table above, not the creator rule. Record the channel on every payment, and decide whether creators earn the same share whichever way the fan paid. Most platforms keep the rule identical so creators don’t have to understand app store economics.</p>
<h2>What payouts cost, and why most platforms set a minimum</h2>
<p>Paying a creator has a fixed cost per account and per payout, so small payouts are expensive. Stripe Connect’s pricing where the platform sets its own fees lists $2 per monthly active account (an account is active in any month it receives a payout), 0.25% plus 25 cents per payout, 1% for instant payouts and $2.99 per 1099 form e-filed with the IRS, as of October 2026.</p>
<p><strong>Cost of one monthly payout on Stripe Connect (our arithmetic, October 2026 list prices)</strong></p>
<table>
<thead>
<tr>
<th>Creator owed</th>
<th>Active account</th>
<th>Payout fee</th>
<th>Total</th>
<th>Share of the payout</th>
</tr>
</thead>
<tbody><tr>
<td>$3</td>
<td>$2.00</td>
<td>$0.26</td>
<td>About $2.26</td>
<td>About 75%</td>
</tr>
<tr>
<td>$30</td>
<td>$2.00</td>
<td>$0.33</td>
<td>About $2.33</td>
<td>About 8%</td>
</tr>
<tr>
<td>$300</td>
<td>$2.00</td>
<td>$1.00</td>
<td>About $3.00</td>
<td>About 1%</td>
</tr>
</tbody></table>
<p>That is why most platforms set a minimum and roll smaller balances into the next month. DubCam pays on the 1st with no minimum threshold, which makes the promise to a small high-school program simple. Paying with no minimum means small balances carry per-payout fees in full, so decide who bears them before launch. It is a product decision, and it should be made with this table in front of you.</p>
<p>Payouts don’t have to leave your platform as bank transfers. Earnings can land in an in-app balance or wallet that creators spend by card, the model behind <a href="https://apptycoons.com/blog/stablecoin-wallets-fintech">stablecoin wallet payouts</a> on a platform we built for a partner network.</p>
<h2>Refunds, chargebacks and payout timing</h2>
<p>Pay creators from settled money, not from payments that can still be reversed. Three rules keep a platform from paying out money it later loses:</p>
<ul>
<li><strong>Hold period.</strong> Pay a month’s earnings after the refund window for that month has closed, or hold back a reserve until it does.</li>
<li><strong>Reversals as entries.</strong> A refund or chargeback after payout creates a negative entry for the creator, linked to the original payment.</li>
<li><strong>Negative balances carry forward.</strong> Deduct them from the next payout instead of chasing the creator, and show the deduction on the statement.</li>
</ul>
<p>Tell creators the schedule and the hold rule in writing before their first payout. A late payout explained in advance costs less trust than an early one clawed back.</p>
<h2>Tax and identity: what the platform must collect</h2>
<p>Verify every creator before the first payout and collect tax details at onboarding, not at year end. Payout providers such as Stripe Connect run identity verification of the people you pay; your onboarding should collect a W-9 from US creators and a W-8 from non-US creators.</p>
<p>In the US, the IRS says payment apps and online marketplaces must file Form 1099-K when a payee’s payments for goods or services exceed $20,000 in more than 200 transactions, and that payees may receive the form for smaller amounts. In the EU, the DAC7 directive (Council Directive (EU) 2021/514, applied from January 1, 2023) requires platform operators to report sellers carrying out certain activities, including personal services, defined as time- or task-based work done at a user’s request. Whether a creator subscription counts depends on the model, so put the question to tax counsel during discovery. This section is not tax advice.</p>
<h2>Build or buy a creator payout system</h2>
<p>Buy when monetization isn’t your product. Patreon, for example, lists a 10% platform fee on creators’ income for creators who publish after August 4, 2025, plus payment processing, currency conversion and payout fees, as of October 2026. For a creator who only needs a membership page, that is cheaper than any build.</p>
<p><em>Buy a membership tool or build the payout system</em></p>
<p><strong>Buy</strong> (Patreon, for example)</p>
<ul>
<li>10% platform fee for creators who publish after August 4, 2025</li>
<li>Plus processing, currency conversion and payout fees</li>
<li>Cheapest when a membership page is all you need</li>
</ul>
<p>vs</p>
<p><strong>Build</strong> (DubCam, for example)</p>
<ul>
<li>Fans back a specific program</li>
<li>Split rules no membership tool expresses</li>
<li>Live video and payouts in one branded app</li>
</ul>
<p>Build when the split, the attribution or the app is the product: a network where fans back a specific program, a share that follows rules no membership tool expresses, or live video and payouts inside one branded app. DubCam is that case. The same build or buy test applies to partner commissions, and the three-year numbers for that decision are in <a href="https://apptycoons.com/blog/build-vs-buy-affiliate-tracking">affiliate tracking: build or buy</a>.</p>
<p>A custom build also decides your platforms. Live video and subscriptions on iOS, Android and the web is a different scope from a web-only membership site; the trade-offs between one shared codebase and separate apps are in <a href="https://apptycoons.com/blog/native-vs-cross-platform">native vs cross-platform development</a>.</p>
<h2>What we learned building DubCam</h2>
<p>Letting the fan choose the creator at sign-up made everything downstream simpler. Attribution is a stored field, not a model. A creator’s statement is a list of their supporters’ payments. Support questions about “why did I earn this” have one answer.</p>
<p><a href="https://apptycoons.com/work/dubcam">DubCam</a> ships as iOS and Android apps plus the web, with a ten-minute free preview before a fan subscribes, in-app purchases on the App Store and Google Play, and automated payouts on the 1st. The no-minimum rule tells a small program that every supporter counts.</p>
<h2>What a revenue share build costs</h2>
<p>A streaming app with subscriptions, attribution, a ledger and payouts is a fixed-price build within our $25k–$120k range, delivered in 6–16 weeks after a Discovery Sprint. In our judgment, these move it up the band: live video rather than uploads only, iOS plus Android plus web, more than one payout rail, a creator statements portal, and usage-based splits instead of fan-chosen ones. The <a href="https://apptycoons.com/pricing">pricing</a> page has the terms.</p>
<p>If you are planning a creator or streaming product, our <a href="https://apptycoons.com/industries/media-streaming">live streaming and creator platform development</a> work covers subscriptions, splits and payouts, and our <a href="https://apptycoons.com/services/mobile-app-development">mobile app development</a> team ships the iOS and Android apps.</p>
<h2>Sources</h2>
<ol>
<li><a href="https://developer.apple.com/app-store/subscriptions/">Auto-renewable subscriptions</a>, Apple Developer</li>
<li><a href="https://developer.apple.com/app-store/review/guidelines/">App Review Guidelines</a>, Apple Developer</li>
<li><a href="https://support.google.com/googleplay/android-developer/answer/112622">Service fees</a>, Google Play Console Help</li>
<li><a href="https://stripe.com/connect/pricing">Connect pricing</a>, Stripe</li>
<li><a href="https://stripe.com/pricing">Pricing</a>, Stripe</li>
<li><a href="https://support.patreon.com/hc/en-us/articles/36426991446797">A standard platform fee for new creators, effective after August 4, 2025</a>, Patreon Help Center</li>
<li><a href="https://www.irs.gov/businesses/understanding-your-form-1099-k">Understanding your Form 1099-K</a>, IRS</li>
<li><a href="https://eur-lex.europa.eu/eli/dir/2021/514/oj/eng">Council Directive (EU) 2021/514 (DAC7)</a>, EUR-Lex</li>
</ol>
<p><em>Originally published at <a href="https://apptycoons.com/blog/creator-platform-revenue-share">apptycoons.com</a>.</em></p>
]]></content:encoded></item><item><title><![CDATA[Xtime API integration for AI voice agents: a build guide]]></title><description><![CDATA[What an Xtime API integration takes for an AI voice agent: partner access, dealer opt-in, service menus, slot booking and the VinSolutions CRM.]]></description><link>https://apptycoons.hashnode.dev/xtime-api-integration-for-ai-voice-agents-a-build-guide</link><guid isPermaLink="true">https://apptycoons.hashnode.dev/xtime-api-integration-for-ai-voice-agents-a-build-guide</guid><category><![CDATA[AI]]></category><category><![CDATA[api]]></category><category><![CDATA[voice ai]]></category><dc:creator><![CDATA[Apptycoons]]></dc:creator><pubDate>Tue, 27 Oct 2026 10:23:24 GMT</pubDate><content:encoded><![CDATA[<p><strong>Quick answer:</strong> Xtime has no self-serve API. As of October 2026, access runs through Cox Automotive’s partner program: an NDA, a partner agreement, fees, a business review and a certified demo, then an invitation code from each dealership. The scheduling API reads capacity and open times and creates or cancels appointments by year, make and model or by VIN.</p>
<p>Xtime has no self-serve API keys. As of October 2026, Supergood’s assessment of the Xtime API lists six things before the first production call: an NDA, a partner agreement, setup and per-dealer fees, a Cox Automotive business review, a certified demo and an invitation code from each dealership.</p>
<p>We built AI voice agents for Innovative AI that book service appointments at US car dealerships through Xtime and run sales follow-up through VinSolutions, Cox Automotive’s dealership CRM. The agents are still live in production. On that build, the hard parts were matching a caller’s words to one service out of a long menu, checking slots and handling transport. Those, plus the access steps and our recommendations on safe retries, are what this guide covers, from the system side. If you want the finished product rather than the build notes, our <a href="https://apptycoons.com/ai-voice-agents">custom AI voice agents</a> page has the scope.</p>
<h2>How do you get Xtime API access?</h2>
<p>You get Xtime API access through Cox Automotive’s partner program, not by signing up for a key. Supergood, which grades vendor APIs, lists the steps as of October 2026: an NDA and a partner agreement, a setup fee plus annual and per-dealer fees, a business review by Cox, and a certified demo before production approval. After that, each dealership opts in with an invitation code.</p>
<p><em>The steps to production access, per Supergood (as of October 2026)</em></p>
<ol>
<li><strong>NDA and agreement</strong>: Partner agreement with Cox</li>
<li><strong>Fees</strong>: Setup, annual and per-dealer</li>
<li><strong>Business review</strong>: Run by Cox</li>
<li><strong>Certified demo</strong>: Before production approval</li>
<li><strong>Dealer opt-in</strong>: One invitation code per dealership</li>
</ol>
<p>The reference documentation is behind a login on the <a href="https://developer.coxautoinc.com/">Cox Automotive Integration Platform</a>. Supergood notes that Service Scheduling 1.0 and Service Marketing 1.0 are listed on Cox’s developer portal, and labels the scheduling capabilities as the Consumer Scheduling API.</p>
<p>Two consequences for planning:</p>
<ul>
<li><strong>The calendar is not yours.</strong> The business review and the certified demo run on Cox’s schedule. Build against what you can test, and keep the demo-ready flow small.</li>
<li><strong>Contracts sit with whoever holds the integration.</strong> Decide early whether the dealer group, a software vendor or the build team signs, because the per-dealer fees and the support obligations follow that party.</li>
</ul>
<p>We don’t quote the fee amounts here. They are set by Cox and should come from Cox in writing.</p>
<h2>What the scheduling API covers, and what it doesn’t</h2>
<p>The Xtime scheduling API covers the booking itself: dealer capacity, available appointment times, and creating or canceling appointments by year, make and model or by VIN, according to Supergood as of October 2026. It does not cover repair orders or inspection results.</p>
<p>That split decides what a voice agent can answer on its own.</p>
<p><strong>Caller requests and whether the scheduling API answers them (scope per Supergood, as of October 2026)</strong></p>
<table>
<thead>
<tr>
<th>Caller wants to</th>
<th>Scheduling API</th>
<th>What else you need</th>
</tr>
</thead>
<tbody><tr>
<td>Book a service for a known vehicle</td>
<td>Yes: capacity, open times, create</td>
<td>The vehicle’s service menu and a way to pick the right item</td>
</tr>
<tr>
<td>Move or cancel a booking</td>
<td>Yes: cancel, then create</td>
<td>Identity check before changing anything</td>
</tr>
<tr>
<td>Hear the price of a service</td>
<td>Not listed in the report card</td>
<td>The dealership’s menu pricing, if exposed to you</td>
</tr>
<tr>
<td>Ask whether the car is ready</td>
<td>No: repair orders are not offered</td>
<td>DMS access or a handoff to a service advisor</td>
</tr>
<tr>
<td>Ask what the inspection found</td>
<td>No</td>
<td>A service advisor</td>
</tr>
</tbody></table>
<blockquote>
<p>Watch out</p>
<p>“Is my car ready?” is not a scheduling question</p>
<p>Repair orders are not offered by the scheduling API, so a status question needs DMS access or a handoff to a service advisor.</p>
</blockquote>
<p>Xtime’s own product page describes “dynamic menus that reflect your dealership’s pricing, promotions, and service recommendations”. Menus are set by each dealership, so treat menu content as dealer data that changes, not as a fixed catalog you can hard-code.</p>
<h2>The data flow on one booking call</h2>
<p>One booking call touches Xtime at three points: the vehicle’s service menu, the open times for the chosen service, and the appointment itself. Everything else is the agent’s own logic and its own store.</p>
<p>The table is our recommended data flow, in the order the <a href="https://apptycoons.com/work/innovative-ai">Innovative AI case study</a> describes the call. It shows which system each step reads or writes, not how the conversation sounds.</p>
<p><strong>Data read and written on one service booking call (our recommended flow)</strong></p>
<table>
<thead>
<tr>
<th>Step</th>
<th>Data read or written</th>
<th>Source of truth</th>
</tr>
</thead>
<tbody><tr>
<td>1. Route the call</td>
<td>The caller’s intent: book service, check on a car in for work, or something else</td>
<td>The caller</td>
</tr>
<tr>
<td>2. Identify the vehicle</td>
<td>Year, make, model and trim</td>
<td>The caller</td>
</tr>
<tr>
<td>3. Load the service menu</td>
<td>That vehicle’s services, each with its own op code</td>
<td>Xtime</td>
</tr>
<tr>
<td>4. Choose the service</td>
<td>One op code from that menu, confirmed with the caller</td>
<td>The caller’s confirmation</td>
</tr>
<tr>
<td>5. Find a time</td>
<td>Open times for that service on the requested day</td>
<td>Xtime</td>
</tr>
<tr>
<td>6. Settle transport</td>
<td>The transport option and, where needed, an address</td>
<td>Per-dealer configuration</td>
</tr>
<tr>
<td>7. Book</td>
<td>The appointment: vehicle, op code, time</td>
<td>Xtime</td>
</tr>
</tbody></table>
<p>Steps 3, 5 and 7 are the only Xtime calls, and step 3 has to come before any talk about times: the agent cannot offer a slot until it knows which service it is booking, and it cannot know the service until it has the vehicle. Transport options differ by dealership, so they live in configuration rather than in code. The case study covers the menu sizes and transport choices from that build.</p>
<p>Returning-caller recognition sits beside this flow rather than in it: on that build, the caller’s name, vehicle and recent service were saved against the phone number, so a repeat caller skipped questions the agent could already answer. The same system also looked up and confirmed existing appointments, and placed follow-up calls when the dealership’s CRM showed a booked customer had not arrived.</p>
<h2>What the voice agent needs on top of the API</h2>
<p>A voice agent needs five system-side pieces that no scheduling API provides: a menu-constrained output, an availability check inside the booking step, per-dealer transport configuration, a caller profile store and a create step that is safe to retry. The rest of this section is our engineering recommendations, not a description of the Innovative AI system and not Cox documentation. How the conversation itself should sound, from matching a caller’s words to offering another time, is in our guide to <a href="https://apptycoons.com/blog/ai-service-scheduling-dealerships">AI service scheduling for dealerships</a>.</p>
<p><strong>A menu-constrained output.</strong> The model’s choice of service should be an op code from the menu Xtime returned for that vehicle and nothing else. Pass the menu in as the only allowed values and validate the answer against it in code, so a request for “the 30k service” can only resolve to a line that exists. An answer that matches nothing is a handoff, never a guess.</p>
<p><strong>Availability inside the booking step.</strong> Treat the open times read earlier in the call as a hint. The create step reads availability for that service and time again and books only if the slot is still returned, so the check and the write sit together in one function.</p>
<p><strong>Per-dealer transport configuration.</strong> Store each rooftop’s options as data: whether it offers a shuttle, loaners, pickup or mobile service, and the service area for the last two. The agent asks only about options that dealership’s record lists, and the address field is required only when pickup or mobile service is chosen.</p>
<p><strong>A caller profile store.</strong> Name, vehicle and recent service saved against the phone number live in your own store, not in Xtime. It is personal data: keep only those fields, set a retention period and delete profiles that pass it.</p>
<p><strong>A retry-safe create.</strong> Calls drop. If the line cuts out after the agent sent the booking and before it heard the result, a naive retry or a callback can book the same car twice. Record each booking attempt on your side, tied to the call, before you send it. On any retry, check that record and the customer’s existing appointments first, and only create when neither shows the booking. The same confirm-before-write pattern appears in our <a href="https://apptycoons.com/blog/ai-agent-guardrails">AI agent guardrails</a> checklist.</p>
<h2>Where VinSolutions fits: the sales side</h2>
<p>VinSolutions is Cox Automotive’s dealership CRM, so on an all-Cox stack the service side and the sales side come from the same company. VinSolutions calls itself “the AI-powered CRM with exclusive Cox Automotive shopper data and integrations with top industry providers”, and Cox’s brand list carries it next to Xtime (both as of October 2026).</p>
<p>Partner access points to the same place. VinSolutions’ <a href="https://www.vinsolutions.com/dealership-software/integrations/">integrations page</a> tells vendors “If you are interested in becoming an integrated partner please visit our API Storefront”, and that link goes to Cox Automotive’s developer site, the one that hosts the Xtime reference documentation (as of October 2026).</p>
<p>On the Innovative AI build, sales follow-up runs through VinSolutions. The agent works through leads who visited a dealership and didn’t buy: a message first, then a call to learn the reason, such as price or a different car, and to capture what they want. It closes by telling them a supervisor will call back.</p>
<h2>When a dealer group runs more than one vendor</h2>
<p>Our build was all Cox Automotive: Xtime for service, VinSolutions for sales, and other Cox products at other rooftops. Not every group is. Cox’s own brand list, as of October 2026, includes Xtime for service, VinSolutions for CRM and Dealertrack for dealership management. A group whose CRM or dealer management system comes from another vendor is dealing with that vendor’s access program as well. CDK Global, for example, runs its own automotive API platform, Fortellis; the fortellis.io footer says “Fortellis is a trademark of CDK Global, LLC”. That means a second company, a second contract and a second style of API, and it was not part of the Innovative AI build.</p>
<p>The design we recommend for any mix of systems, including several products from one vendor, is one internal model and one adapter per system:</p>
<ul>
<li><strong>One internal shape</strong> for a vehicle, a service, an appointment and a lead, used by the agent’s logic everywhere.</li>
<li><strong>One adapter per vendor</strong> , which translates that shape to Xtime, to VinSolutions or to the next system, and owns its credentials and error handling.</li>
<li><strong>Per-dealer configuration</strong> that says which adapter handles scheduling and which handles leads at each rooftop.</li>
</ul>
<p> <img src="https://apptycoons.com/assets/blog/xtime-api-integration/adapters.webp" alt="Agent logic, whose prompts and tools talk about appointments and leads and never a vendor, sits on one internal shape: vehicle, service, appointment and lead. Below it, one adapter per system: an Xtime adapter for service scheduling, a VinSolutions adapter for sales leads, and a slot for the next system. Per-dealer configuration says which adapter handles scheduling and which handles leads at each rooftop." /></p>
<p><em>Our recommended design: adding a dealership on a different stack means an adapter, not a new call flow.</em></p>
<p>The agent’s prompts and tools then talk about appointments and leads, never about a vendor. Adding a dealership on a different stack means writing or reusing an adapter, not rewriting the call flow.</p>
<h2>Rolling out dealer by dealer</h2>
<p>An Xtime integration goes live one dealership at a time, because each one opts in with its own invitation code. Each rooftop also brings its own menu: op codes vary by dealership and system, and myKaarma’s documentation says dealerships “may contain a large number of opcodes, sometimes exceeding thousands”, which is why its API pages through them (<a href="https://docs.mykaarma.com/our-products/admin/opcodes/opcodes-and-menus/how-to-get-opcodes-and-menus">myKaarma docs</a>, as of October 2026).</p>
<p>Our recommendation is one test rooftop first, with a checklist per dealership after it:</p>
<p><em>Checklist per dealership, after the test rooftop</em></p>
<ol>
<li><strong>Invitation accepted</strong>: Test bookings visible to the service team.</li>
<li><strong>Menus pulled</strong>: For the vehicles that dealership services most, and a sample of plain-language requests matched against them.</li>
<li><strong>Transport options set</strong>: Shuttle, loaner, pickup, mobile service, and the service area for the last two.</li>
<li><strong>Handoffs set</strong>: Handoff numbers and hours for service advisors and the sales desk.</li>
<li><strong>Test calls</strong>: In noisy settings and with a range of accents, since those, along with requests too odd to match, were behind our misses.</li>
</ol>
<p>Only move to the next rooftop when the first one’s service team trusts what lands in its schedule.</p>
<h2>When not to build your own integration</h2>
<p>A single dealership that wants after-hours answering and basic booking should buy a product that is already integrated with Xtime. The case is clearest on the integration side: a product already integrated with Xtime has done the partner work once, and a one-store build would repeat the agreement, review and demo for one invitation code. Xtime’s Schedule page lists a voice add-on (Brooke.ai), as of October 2026.</p>
<p>Building custom is our business, so read this with that bias in mind. The wider buy-or-build call, including when a custom agent pays off, is in the <a href="https://apptycoons.com/blog/ai-service-scheduling-dealerships">buy-or-build section of our scheduling guide</a>.</p>
<h2>What an integration adds to the build cost</h2>
<p>An Xtime integration fits inside a Fixed-Price Build of $25k–$120k, and where it lands in that band depends on how many systems the agent talks to, not on the Xtime connection alone. Scheduling through Xtime with the op-code matcher, slot negotiation and retry-safe booking is one scope. Adding VinSolutions for sales follow-up, outbound calls and per-dealer adapters is a larger one. We fix the price after a $5,000 Discovery Sprint, and the <a href="https://apptycoons.com/pricing">pricing page</a> shows the model.</p>
<p>Two costs sit outside our quote: Cox’s partner and per-dealer fees, and the time the business review and certified demo take. Put both in the budget before the build starts.</p>
<p>Before you scope it, have these ready: who will hold the Xtime agreement and the CRM access, the list of rooftops and the systems each one runs, the transport options each offers, and where calls should go when the agent hands off. With those four answers, a discovery sprint can price the work. For how this looks across the dealership, see our page on <a href="https://apptycoons.com/industries/automotive">car dealership software</a>.</p>
<h2>Sources</h2>
<ol>
<li><a href="https://supergood.ai/api-report-card/xtime">Xtime API report card</a>, Supergood (third-party assessment, last verified October 2026)</li>
<li><a href="https://xtime.com/solutions/schedule">Xtime Schedule</a>, Xtime (Cox Automotive)</li>
<li><a href="https://www.coxautoinc.com/brands/">Our brands</a>, Cox Automotive</li>
<li><a href="https://www.vinsolutions.com/">Auto Dealership CRM &amp; Sales Software</a>, VinSolutions (Cox Automotive), as of October 18, 2026</li>
<li><a href="https://www.vinsolutions.com/dealership-software/integrations/">Integrations with VinSolutions</a>, VinSolutions (Cox Automotive), as of October 18, 2026</li>
<li><a href="https://fortellis.io/">Fortellis</a>, Fortellis (CDK Global), as of October 18, 2026</li>
<li><a href="https://docs.mykaarma.com/our-products/admin/opcodes/opcodes-and-menus/how-to-get-opcodes-and-menus">How to get operation codes and service-menus</a>, myKaarma, as of October 2026</li>
</ol>
<p><em>Originally published at <a href="https://apptycoons.com/blog/xtime-api-integration">apptycoons.com</a>.</em></p>
]]></content:encoded></item><item><title><![CDATA[Vibe-coded app to production: a readiness checklist for AI-built apps]]></title><description><![CDATA[Take a vibe-coded or AI-built app to production: a checklist for security, data, payments, app stores and code ownership, plus when to fix or rebuild.]]></description><link>https://apptycoons.hashnode.dev/vibe-coded-app-to-production-a-readiness-checklist-for-ai-built-apps</link><guid isPermaLink="true">https://apptycoons.hashnode.dev/vibe-coded-app-to-production-a-readiness-checklist-for-ai-built-apps</guid><category><![CDATA[AI]]></category><category><![CDATA[Security]]></category><category><![CDATA[webdev]]></category><dc:creator><![CDATA[Apptycoons]]></dc:creator><pubDate>Tue, 27 Oct 2026 10:21:35 GMT</pubDate><content:encoded><![CDATA[<p><strong>Quick answer:</strong> An AI-built prototype is ready for production when access rules are enforced on the server, secrets stay out of the app, backups have been restored once, payments and bookings survive retries, errors reach a person, gated integrations are approved, app store rules are met and every account is in your name. Audit first, then fix or rebuild.</p>
<p>In 2025 a researcher scanned 1,645 apps built with Lovable and found 170 of them, about 10.3%, with database access rules loose enough that strangers could read or change the data. The record for that issue, CVE-2025-48757, scores it 9.3 out of 10. Lovable disputes it, on the grounds that each customer is responsible for protecting their own app’s data.</p>
<p>That dispute is the whole problem in one line. The tool built the app. Making it safe to run is still the owner’s job.</p>
<p>If you built a prototype with an AI tool and people already use it, the hard question is behind you: the idea works. What is left is the work nobody sees in a demo. It covers who can read which row, what happens when a payment call times out, whether Apple will accept the build and who holds the keys. This guide is the checklist for that work, and a way to decide what to fix and what to rebuild.</p>
<h2>Why AI-built prototypes break once real users arrive</h2>
<p>AI-built prototypes break in production because the tools optimize for a working screen, not for the conditions around it. The complaints are usually the same five: it breaks once real users arrive, it fails a security review, it can’t connect to the systems the business uses, the app store rejects it, and nobody understands the code.</p>
<p>The security part is measured. Veracode tested more than 100 large language models on 80 coding tasks and found security flaws in 45% of the results. Java failed more than 70% of the time. The models left code open to cross-site scripting in 86% of the relevant cases and to log injection in 88%. Larger models did not do significantly better than smaller ones.</p>
<p><em>How often AI-generated code failed Veracode’s security checks</em></p>
<ul>
<li>All tasks: 45%</li>
<li>Java tasks: 70%+</li>
<li>Cross-site scripting cases: 86%</li>
<li>Log injection cases: 88%</li>
</ul>
<p>Veracode, July 30, 2025: more than 100 models, 80 tasks. Veracode sells application security tools.</p>
<p>Operations fail in a different way. In July 2025, during a code freeze, Replit’s AI agent deleted a live company database in a test run by SaaStr’s founder, erasing records for more than 1,200 executives and over 1,190 companies, according to Fortune. Replit’s CEO called it unacceptable. The company then announced automatic separation of development and production databases. That separation is exactly the kind of thing a prototype skips.</p>
<p>None of this means the prototype was a mistake. It proved the product. It was never built to carry other people’s money and data.</p>
<h2>The production-readiness checklist for an AI-built app</h2>
<p>Each item below has a test you can run or ask for. If nobody can show the test passing, treat the item as open.</p>
<h3>Security</h3>
<ul>
<li><strong>Server-side access rules.</strong> Every read and write is checked on the server, not hidden in the interface. Test: log in as one user, change the record ID in a request to another user’s, and confirm the server refuses.</li>
<li><strong>Row-level security, deny by default.</strong> On Supabase and similar backends, every table with user data has row-level security switched on and a policy per action. A table with no policy should return nothing, not everything.</li>
<li><strong>Secrets out of the client.</strong> No service keys, AI API keys or payment secrets in the browser bundle or the mobile app. Calls that need them go through your server. Rotate any key that was ever shipped to a client.</li>
<li><strong>Input validation.</strong> Every form and API input is validated on the server for type, length and format, and output is escaped. That is where cross-site scripting and log injection start.</li>
<li><strong>Auth that can be revoked.</strong> Email verification where identity matters, rate limits on login and password reset, and sessions you can end from the server.</li>
</ul>
<blockquote>
<p>Watch out</p>
<p>A missing policy is an open door</p>
<p>In CVE-2025-48757, insufficient row-level security let unauthenticated users read or write tables in generated sites. Test with a logged-out request and with a second account, not only as yourself.</p>
</blockquote>
<h3>Data</h3>
<ul>
<li><strong>Backups you have restored.</strong> Automatic backups, plus one restore into a separate environment to prove they work.</li>
<li><strong>Separate development and production.</strong> A different database and different keys for each, so a test, a migration or an agent can’t touch live data.</li>
<li><strong>Migrations in version control.</strong> Schema changes are scripts in the repository, run the same way every time, not edits made in a dashboard.</li>
<li><strong>A ledger for money.</strong> If the app holds balances, credits, commissions or payouts, record every movement as an entry and derive the balance from the entries. A balance column that gets overwritten can’t be audited or reconciled with the payment provider.</li>
</ul>
<h3>Reliability</h3>
<ul>
<li><strong>Idempotent payment and booking calls.</strong> A retried request must not charge twice or book twice. Stripe’s API takes an idempotency key for exactly this: repeat the request after a connection error and it does not create a second object. Your own booking and order endpoints need the same rule.</li>
<li><strong>Retries with limits.</strong> Calls to outside services retry with backoff, then stop and record the failure instead of looping.</li>
<li><strong>Webhooks handled once.</strong> Payment and subscription webhooks are verified, stored and processed once, even when the provider sends them twice.</li>
<li><strong>Error tracking and monitoring.</strong> Errors reach a named person, with alerts on failed payments, failed jobs and spend on AI APIs. Rate-limit anything that costs money per call.</li>
</ul>
<h3>Integrations</h3>
<ul>
<li><strong>Gated APIs planned early.</strong> Some systems have no self-serve key. Dealership scheduling software is one example: access to Xtime runs through Cox Automotive’s partner program, with an agreement, fees and a certified demo, and then each dealership opts in. Our <a href="https://apptycoons.com/blog/xtime-api-integration">Xtime API integration</a> guide lists the steps. Find out which of your integrations work like this before you promise a launch date.</li>
<li><strong>Writes that can be undone.</strong> Every write to another system has error handling and a way to correct it.</li>
</ul>
<h3>App stores</h3>
<ul>
<li><strong>Apple guideline 4.2.</strong> An app needs “features, content, and UI that elevate it beyond a repackaged website.” A web prototype wrapped in an app shell is the case this rule describes.</li>
<li><strong>Apple guideline 4.2.6.</strong> Apps “created from a commercialized template or app generation service will be rejected unless they are submitted directly by the provider of the app’s content.” Submit from your own developer account, under your own name.</li>
<li><strong>Store rules for payments.</strong> Apple’s guideline 3.1.1 requires in-app purchase for access to features or content inside the app, subscriptions included. That changes your fees and your revenue math, so check it before you price the plan.</li>
</ul>
<h3>Code ownership</h3>
<ul>
<li><strong>Accounts in your company’s name.</strong> The repository, cloud, database, domain, Apple and Google developer accounts, payment provider and every API key. Nothing held by a freelancer or a builder platform alone.</li>
<li><strong>A build that runs outside the tool.</strong> Someone other than the original builder can clone the repository, run it locally and deploy it from written steps.</li>
</ul>
<h3>Maintainability</h3>
<ul>
<li><strong>Tests on the paths that move money or data.</strong> Not full coverage: sign-up, login, payment, booking and anything that deletes.</li>
<li><strong>One way of doing each thing.</strong> Prompt-by-prompt building can leave duplicate libraries and parallel auth flows. Pick one of each and delete the rest, because dead generated code is still reachable code.</li>
<li><strong>A README a new engineer can follow.</strong> How to run it, how to deploy it, where the secrets live and who to call.</li>
</ul>
<h2>Fix or rebuild: how to decide</h2>
<p>Fix the prototype when its foundations are sound and the problems are local. Rebuild the parts whose foundations are wrong, which is rarely the whole app. The test is not how the code looks. It is whether the data model and access model can express what the product has to do.</p>
<p><em>Fix in place or rebuild a layer</em></p>
<p><strong>Fix in place</strong> (Foundations hold)</p>
<ul>
<li>Every row records which user or organization owns it</li>
<li>Problems are local: a missing policy, an exposed key, no backups</li>
<li>The app builds and deploys outside the AI tool</li>
</ul>
<p>vs</p>
<p><strong>Rebuild the layer</strong> (Foundations don’t)</p>
<ul>
<li>Ownership isn’t in the schema, so access can’t be enforced</li>
<li>Money is an overwritten balance with no history</li>
<li>Each change breaks another feature and nobody knows why</li>
</ul>
<p>Two more cases point to a rebuild. The first is a platform limit: an app that has to control hardware over Bluetooth, run in the background or pass review as a native app may need native code the builder can’t produce. The second is an integration that needs a server-side partner connection the prototype has no place for.</p>
<p> <img src="https://apptycoons.com/assets/blog/vibe-coded-app-to-production/layers.webp" alt="Five layers of an AI-built prototype and what usually happens to each. Screens and flows: usually keep. Business rules: keep, and add tests. Data model: review, rebuild if ownership or money is wrong. Access rules: rewrite, deny by default. Secrets, hosting and accounts: move into your company’s name." /></p>
<p><em>The usual pattern per layer. The audit decides for your app.</em></p>
<p>The usual result is a mix. The screens stay, because they are what users already know. The access rules get rewritten. The data model gets a review, and the money tables get a ledger.</p>
<h2>Can the AI tool make the app production ready on its own?</h2>
<p>Partly. An AI tool can fix a named issue fast, and our own engineers use AI tools every day. What it can’t do is decide what to check, notice what is missing or answer for the result. Production needs a senior engineer hands-on: someone who reads the access rules, runs the restore and signs off on the payment flow.</p>
<p>Professional developers already work this way. In Stack Overflow’s 2025 survey of developers, 72% said vibe coding is not part of their professional work. More developers distrusted the accuracy of AI tools (46%) than trusted it (33%). And 75.3% said they would ask a person when they don’t trust an AI’s answer. Google’s DORA 2025 report, from nearly 5,000 technology professionals, describes AI’s main role in software development as “an amplifier”. It strengthens a team’s good practices and its bad ones alike.</p>
<p>So the question is not AI or no AI. It is whether someone with production experience is steering it.</p>
<h2>What a production-readiness audit should deliver</h2>
<p>A useful audit ends with decisions, not a list of worries. Ask for these before you pay for one:</p>
<ul>
<li><strong>A findings list ranked by risk.</strong> Each finding says what is wrong, how it was tested and what an attacker or a bad day could do with it. Launch blockers are marked as blockers.</li>
<li><strong>A fix-or-rebuild call per layer.</strong> For screens, business rules, data model, access rules, integrations and hosting, with the reason.</li>
<li><strong>An ownership inventory.</strong> Every account and key, who holds it now and the steps to move it to you.</li>
<li><strong>Integration and store risks.</strong> Which APIs need partner approval, and how long it takes. Whether the app is likely to pass App Store review as built.</li>
<li><strong>A fixed quote for the fix list.</strong> Scope, price and order of work, so you can compare it with rebuilding or doing it in-house.</li>
</ul>
<p><em>From prototype to production</em></p>
<ol>
<li><strong>Prototype</strong>: Real users, proven demand</li>
<li><strong>Audit</strong>: Test each checklist item</li>
<li><strong>Fix list</strong>: Ranked, with a fix-or-rebuild call</li>
<li><strong>Harden</strong>: Fixed scope, fixed price</li>
<li><strong>Launch</strong>: Accounts and code in your name</li>
</ol>
<p>Who does the audit matters as much as the list. At Apptycoons it is done by our senior engineers, who were writing production code before AI tools existed. A technical project manager then turns the findings into a scope. The first conversation is free. The audit itself is scoped and priced before it starts, and if the fix list is big enough to be a project, it is quoted as a <a href="https://apptycoons.com/pricing">Fixed-Price Build</a> in our $25k–$120k band. Our guide to <a href="https://apptycoons.com/blog/fixed-price-software">fixed price or time and materials</a> explains why we quote that way.</p>
<h2>Where our builds cover these parts</h2>
<p>None of the apps below started as an AI-built prototype. We built them from scratch, and each one covers a part of the checklist above.</p>
<ul>
<li><strong>Access by role.</strong> <a href="https://apptycoons.com/work/switch">Switch</a> is shared banking for clubs and teams. An account belongs to a group, so treasurers, admins and members each get different rights over money and cards, and a card’s state has to show the same on every device.</li>
<li><strong>Money that reconciles.</strong> <a href="https://apptycoons.com/work/freedom-pro">Freedom Pro</a> pays commissions to a partner network and holds USD and stablecoin balances. The same team activity must always produce the same commission, and balances have to reconcile with the provider’s records.</li>
<li><strong>Payouts and store purchases.</strong> <a href="https://apptycoons.com/work/dubcam">DubCam</a> pays creators 50% of each subscription on the first of the month, with subscriptions on the phone apps running through in-app purchases. The <a href="https://apptycoons.com/blog/creator-platform-revenue-share">revenue share guide</a> covers the ledger and the store fee math.</li>
<li><strong>A native app through review.</strong> <a href="https://apptycoons.com/work/ohm-fitness">OHM Fitness</a> runs separate native iOS and Android apps that control a 20-electrode suit over Bluetooth LE, live on the App Store and Google Play.</li>
<li><strong>A gated integration.</strong> <a href="https://apptycoons.com/work/innovative-ai">Innovative AI</a> runs voice agents that book dealership service in Xtime, one of the systems you can’t reach with a self-serve key.</li>
</ul>
<p>If you want us to do this work on your app, our <a href="https://apptycoons.com/services/prototype-to-production">AI prototype to production</a> service runs the audit and the fixes at a fixed price. For new web apps, our <a href="https://apptycoons.com/services/web-app-development">web app development</a> page describes how we build them. For store releases, see <a href="https://apptycoons.com/services/mobile-app-development">mobile app development</a>.</p>
<h2>When you don’t need an agency</h2>
<p>You don’t need an agency if the app is a demo, a waitlist or an internal tool with a handful of users, no payments and no sensitive data. Keep building with the AI tool. Work through the security and data sections of the checklist yourself, and turn on backups.</p>
<p>One experienced freelance engineer is often enough when the app has one clear risk: a missing access policy, an exposed key, a deploy that only works from the builder. Ask them to show you the tests passing.</p>
<p>A senior team earns its cost when several of these are true at once: money moves through the app, it stores personal data, an integration needs partner approval, a native app has to pass review, or you plan to raise money and someone will look at the code. If two or more apply, <a href="https://apptycoons.com/contact?interest=audit&amp;service=prototype-to-production">book an audit</a> and bring the repository, the list of accounts and the problem that worries you most.</p>
<h2>Sources</h2>
<ol>
<li><a href="https://www.veracode.com/press-release/ai-generated-code-poses-major-security-risks-in-nearly-half-of-all-development-tasks-veracode-research-reveals/">AI-Generated Code Poses Major Security Risks in Nearly Half of All Development Tasks, Veracode Research Reveals</a>, Veracode (July 30, 2025)</li>
<li><a href="https://nvd.nist.gov/vuln/detail/CVE-2025-48757">CVE-2025-48757 Detail</a>, NIST National Vulnerability Database (published May 30, 2025; disputed by the supplier)</li>
<li><a href="https://mattpalmer.io/posts/statement-on-CVE-2025-48757/">Statement on CVE-2025-48757</a>, Matt Palmer (2025)</li>
<li><a href="https://fortune.com/2025/07/23/ai-coding-tool-replit-wiped-database-called-it-a-catastrophic-failure/">An AI-powered coding tool wiped out a software company’s database, then apologized for a ‘catastrophic failure on my part’</a>, Fortune (July 23, 2025)</li>
<li><a href="https://developer.apple.com/app-store/review/guidelines/">App Review Guidelines (4.2 Minimum Functionality)</a>, Apple Developer (checked October 19, 2026)</li>
<li><a href="https://docs.stripe.com/api/idempotent_requests">Idempotent requests</a>, Stripe API reference (checked October 19, 2026)</li>
<li><a href="https://survey.stackoverflow.co/2025/ai">2025 Stack Overflow Developer Survey: AI</a>, Stack Overflow (2025)</li>
<li><a href="https://research.google/pubs/dora-2025-state-of-ai-assisted-software-development-report/">DORA 2025 State of AI-assisted Software Development Report</a>, DORA, Google (2025)</li>
</ol>
<p><em>Originally published at <a href="https://apptycoons.com/blog/vibe-coded-app-to-production">apptycoons.com</a>.</em></p>
]]></content:encoded></item><item><title><![CDATA[AI agent development cost in 2026: real price ranges]]></title><description><![CDATA[What an AI agent costs in 2026: fixed build price by agent type, run cost at 2k, 20k and 100k tasks a month, upkeep, and what moves a quote.]]></description><link>https://apptycoons.hashnode.dev/ai-agent-development-cost-in-2026-real-price-ranges</link><guid isPermaLink="true">https://apptycoons.hashnode.dev/ai-agent-development-cost-in-2026-real-price-ranges</guid><category><![CDATA[AI]]></category><category><![CDATA[ai agents]]></category><category><![CDATA[llm]]></category><dc:creator><![CDATA[Apptycoons]]></dc:creator><pubDate>Tue, 27 Oct 2026 10:14:28 GMT</pubDate><content:encoded><![CDATA[<p><strong>Quick answer:</strong> A production AI agent typically costs $25k–$120k to build at a fixed price, after a $5,000 two-week discovery sprint. Running it adds model tokens, hosting and monitoring, often a few hundred to a few thousand dollars a month. Integrations, compliance, evaluation and human approval steps move the price far more than the model does.</p>
<p>A production AI agent costs $25k–$120k to build at a fixed price, after a $5,000 two-week discovery sprint, and then tokens, hosting and monitoring every month. The tokens are the small part: a workflow agent that handles 20,000 tasks a month costs about $36 a month on Claude Haiku 5.5 and about $676 on Claude Sonnet 5.5 at list prices. That gap is the whole story of AI agent cost: the model is cheap, and the system that lets it act safely inside your CRM or ERP, with approvals and an audit log, is not.</p>
<p>The figures below are the ones on our <a href="https://apptycoons.com/pricing">pricing page</a>, the same ones we quote against.</p>
<h2>How much does an AI agent cost to build?</h2>
<p>A production AI agent costs $25k–$120k as a Fixed-Price Build, after a two-week, $5,000 Discovery Sprint whose fee is credited to the build. Where a project lands in that band depends on three things: how many systems the agent touches, how much it may do without a person, and which compliance rules apply. The same math holds for agentic AI development in general: the cost follows the number of tools an agent can call and the actions it may take on its own, not the model you pick.</p>
<p>The total cost of an agent has three parts, and most budgets only plan for the middle one:</p>
<p><strong>The three costs of an AI agent</strong></p>
<table>
<thead>
<tr>
<th>Cost</th>
<th>What it covers</th>
<th>Our published price</th>
<th>When you pay it</th>
</tr>
</thead>
<tbody><tr>
<td>Discover</td>
<td>Workshops, a working prototype on your real data, architecture and integration plan, fixed quote</td>
<td>$5,000 fixed fee, credited to the build</td>
<td>Weeks 1–2</td>
</tr>
<tr>
<td>Build</td>
<td>Production agent, integrations, guardrails, evaluation set, security review, launch, 30 days of support</td>
<td>$25k–$120k per project</td>
<td>6–16 weeks, billed in milestones</td>
</tr>
<tr>
<td>Run</td>
<td>Model tokens, hosting, logging, monitoring, evaluation runs, prompt and model updates</td>
<td>Usage-based (see the worked example below); optional dedicated team from $12k per month</td>
<td>Every month after launch</td>
</tr>
</tbody></table>
<h2>What you pay for in discovery, build and run</h2>
<p>Each phase removes a different risk.</p>
<h3>Discovery: proving the agent can work on your data</h3>
<p>Discovery is two weeks with a senior architect. It ends with a prototype running on your real data (not a slide deck), the architecture, a plan for each integration, and a fixed quote. Its job is to surface the problems that make AI projects overrun: data that is messier than the demo set, APIs that need approval to access, and approval rules nobody wrote down.</p>
<h3>Build: turning a prototype into a system you can trust</h3>
<p>The build is where most of the money goes, and little of it is spent on the model. It pays for connecting the agent to your systems of record, adding approval steps for high-impact actions, writing an evaluation set that proves the agent behaves, a security review, and launch. Work happens in two-week sprints with live demos, and the code sits in your repository from day one.</p>
<img src="https://apptycoons.com/assets/blog/ai-agent-development-cost/system.webp" alt="A production agent as seven parts: integrations (auth, limits, errors, tests), approvals (a person on high-impact steps), audit log (every action recorded), evaluation set (real cases, rerun on change) and guardrails (limits, thresholds, rollback), plus two monthly run costs: model calls (tokens) and hosting (logs, traces, monitoring)" style="display:block;margin:0 auto" />

<p><em>Model calls are one part of seven. The build pays for integrations, approvals, the audit log, the evaluation set and guardrails; model calls and hosting are monthly run costs.</em></p>
<h3>Run: the monthly bill after launch</h3>
<p>Running costs are model tokens, hosting, logs and monitoring, plus the time to update prompts and models as vendors release new versions. For most business agents tokens are the smallest of these at modest volume, and the largest at high volume. The worked example below shows how to estimate them.</p>
<h2>AI agent cost by type</h2>
<p>The type of agent decides most of the build price, because it decides how many systems the agent touches and how much it is trusted to do alone. The ranges below are how we place work inside our published band; the fixed quote comes from discovery.</p>
<p><strong>Where common agent types land in a $25k–$120k build</strong></p>
<table>
<thead>
<tr>
<th>Agent type</th>
<th>What it does</th>
<th>Typical scope</th>
<th>Where it usually lands</th>
</tr>
</thead>
<tbody><tr>
<td>Single-task assistant</td>
<td>Answers questions or drafts replies from one knowledge source; a person sends</td>
<td>One system, read-only, citations, basic evaluation</td>
<td>Low end, from $25k</td>
</tr>
<tr>
<td>Workflow agent</td>
<td>Reads and writes two to four systems and takes actions inside rules, with approvals</td>
<td>CRM or ERP writes, approval queue, audit log, evaluation per action</td>
<td>Middle of the range</td>
</tr>
<tr>
<td>Multi-agent system</td>
<td>Specialist agents work in parallel, process documents and cite every finding to its source</td>
<td>Document intelligence, several data feeds, tenant isolation</td>
<td>Top of the range, up to $120k; larger scopes are phased</td>
</tr>
</tbody></table>
<p>Two of our own builds sit at different points on that table. <a href="https://apptycoons.com/work/superdeal">Superdeal</a> is a workflow agent inside a campaign CRM: its scope is creator discovery on three social platforms, drafted offers, and an approval step on everything it sends. A multi-agent research system we built sits at the top: specialist agents run in parallel over 20+ data feeds and uploaded documents, and every finding cites its source. Its scope is much larger than Superdeal’s, and the reasons are integrations and documents, not the model.</p>
<p>Two agent types carry extra line items the table does not show. A single-task assistant that answers from documents is a RAG system, and the <a href="https://apptycoons.com/services/enterprise-llm">RAG assistants we build</a> are priced by how messy and permissioned those documents are; <a href="https://apptycoons.com/blog/rag-development-cost">RAG development cost</a> breaks that down. Voice agents add telephony, speech-to-text and text-to-speech to every minute of every call, which <a href="https://apptycoons.com/blog/ai-voice-agent-cost">AI voice agent cost</a> prices line by line.</p>
<h2>Where the build budget goes</h2>
<p>On our own agent builds, roughly 30% of the build price goes to integrations, about 20% to approvals, the audit log, security review and launch, 15–20% to the evaluation set, and only about 15% to the agent itself: its prompts, tools and orchestration. The rest, roughly 15–20%, covers data preparation, the admin screens for approvals and reports, project management with sprint demos, and the 30 days of support after launch.</p>
<p><em>How a typical build price splits on our agent projects (approximate)</em></p>
<ul>
<li>Integrations: about 30%</li>
<li>Approvals, audit log, security, launch: about 20%</li>
<li>Evaluation set: 15–20%</li>
<li>Data prep, admin screens, project management, support: 15–20%</li>
<li>The agent: prompts, tools, orchestration: about 15%</li>
</ul>
<p>Rough shares from our own builds. A read-only assistant spends less on integrations; a regulated one spends more on safety and launch.</p>
<p>The agent is the smallest line. When a quote is mostly “AI development” and says little about integrations or evaluation, it is pricing the part that is cheapest to get right.</p>
<h2>What drives the cost of an AI agent?</h2>
<p>Five things move a quote, and the choice of model is not one of them. Model choice changes the running cost, but it rarely changes the build price by much.</p>
<p><strong>Cost drivers and how to keep each one down</strong></p>
<table>
<thead>
<tr>
<th>Driver</th>
<th>Why it costs money</th>
<th>How to keep it down</th>
</tr>
</thead>
<tbody><tr>
<td>Integrations</td>
<td>Each system needs auth, rate-limit handling, error paths and tests, and writes need rollback</td>
<td>Start read-only; add writes once the agent’s decisions are trusted</td>
</tr>
<tr>
<td>Data readiness</td>
<td>Scans, inconsistent fields and missing history must be cleaned or worked around</td>
<td>Prototype on real data in discovery, not a curated sample</td>
</tr>
<tr>
<td>Compliance</td>
<td>HIPAA, PCI or SOC 2 controls add hosting constraints, logging and review</td>
<td>Keep regulated data out of scope for version one where you can</td>
</tr>
<tr>
<td>Evaluation</td>
<td>Every action needs test cases that prove correct behavior, rerun on each change</td>
<td>Build the evaluation set from real past cases you already have</td>
</tr>
<tr>
<td>Autonomy</td>
<td>The more the agent does without a person, the more guardrails and approval logic it needs</td>
<td>Launch with human approval on high-impact steps, then relax it with data</td>
</tr>
</tbody></table>
<h3>Integrations are usually the biggest line item</h3>
<p>An agent that cannot read from and write to your systems of record is a demo. Each integration means authentication, handling the API’s limits and failures, mapping fields, and testing what happens when a write half-succeeds. With three or more integrations, this work can outweigh the agent logic itself.</p>
<h3>Evaluation is what makes an agent shippable</h3>
<p>Pilots skip evaluation and pay for it later. An evaluation set is a library of real cases with the correct outcome, run against every prompt or model change. It is the difference between “it worked in the demo” and “we know it works”. Budget for it as its own line: someone has to collect the cases, agree the correct outcomes with the people who do the work today, and rerun the set whenever a prompt or model changes. We cover why skipping it stalls projects in <a href="https://apptycoons.com/blog/ai-pilots-to-production">why AI pilots stall before production</a>.</p>
<h3>Human approval is cheaper than full autonomy</h3>
<p>Every step an agent takes on its own needs guardrails: confidence thresholds, limits, rollback and logging. Putting a person on the high-impact steps for the first months is faster to build and easier to get past risk and compliance review. You remove approvals one by one as the logs show the agent is reliable. Our checklist of <a href="https://apptycoons.com/blog/ai-agent-guardrails">AI agent guardrails</a> lists the controls an agent needs before any approval comes off.</p>
<h2>Worked example: what an AI agent costs to run each month</h2>
<p>An agent’s running cost is mostly tokens: the text sent to the model and the text it writes back. Here is the arithmetic for a realistic workflow agent, using list prices from Anthropic’s pricing page.</p>
<p>Assumptions: the agent handles 20,000 tasks a month. Each task makes four model calls. Each call sends 6,000 input tokens, of which 4,500 are a stable system prompt and tool definitions that prompt caching can reuse, and gets back 500 output tokens. List prices per million tokens, checked October 29, 2026, are $2 input, $0.10 cache read and $10 output for Claude Sonnet 5.5, and $0.10, $0.01 and $0.50 for Claude Haiku 5.5 (its price for prompts up to 100,000 tokens, which covers this example). Anthropic bills cache reads at 0.1 times the input price on most models and at 0.05 times on Sonnet 5.5.</p>
<p><strong>Monthly token cost for 20,000 tasks (list prices)</strong></p>
<table>
<thead>
<tr>
<th>Model</th>
<th>Cost per call, cached</th>
<th>Monthly, with caching</th>
<th>Monthly, no caching</th>
</tr>
</thead>
<tbody><tr>
<td>Claude Haiku 5.5</td>
<td>$0.00045</td>
<td>about $36</td>
<td>about $68</td>
</tr>
<tr>
<td>Claude Sonnet 5.5</td>
<td>$0.0085</td>
<td>about $676</td>
<td>about $1,360</td>
</tr>
</tbody></table>
<p>How the cached Sonnet 5.5 call is worked out: 1,500 uncached input tokens at $2 per million is $0.0030, 4,500 cached tokens at $0.10 per million is $0.00045, and 500 output tokens at $10 per million is $0.0050, so about $0.0085 per call. Four calls per task and 20,000 tasks give about $676. The small premium for writing to the cache is left out because it is paid once per cache window, not per call.</p>
<p><em>One cached Sonnet 5.5 call, about $0.0085</em></p>
<ul>
<li>Output, 500 tokens: $0.0050</li>
<li>Uncached input, 1,500 tokens: $0.0030</li>
<li>Cached input, 4,500 tokens: $0.00045</li>
</ul>
<p>Four calls per task and 20,000 tasks: about $676 a month.</p>
<p>Three things change this number more than the model price does:</p>
<ul>
<li>Caching. Reusing the stable part of the prompt roughly halves the bill here.</li>
<li>Routing. Sending easy steps to a small model and only hard ones to a larger model lowers the average cost per task; at these list prices the gap between the two tiers is about 19x, so routing matters more than it did a year ago.</li>
<li>Tokenizer. Anthropic notes that Claude 4.7 and later models use a tokenizer that produces about 30% more tokens for the same text, so estimates made with an older tokenizer will run low.</li>
</ul>
<h3>The same agent at 2,000, 20,000 and 100,000 tasks a month</h3>
<p>Token cost grows in a straight line with volume; the build price does not move. Multiplying the per-call figures above by four calls per task gives these monthly totals:</p>
<p><strong>Monthly token cost by volume (4 calls per task, list prices checked Oct 29, 2026)</strong></p>
<table>
<thead>
<tr>
<th>Tasks a month</th>
<th>Haiku 5.5, cached</th>
<th>Haiku 5.5, no cache</th>
<th>Sonnet 5.5, cached</th>
<th>Sonnet 5.5, no cache</th>
</tr>
</thead>
<tbody><tr>
<td>2,000</td>
<td>about $4</td>
<td>about $7</td>
<td>about $68</td>
<td>about $136</td>
</tr>
<tr>
<td>20,000</td>
<td>about $36</td>
<td>about $68</td>
<td>about $676</td>
<td>about $1,360</td>
</tr>
<tr>
<td>100,000</td>
<td>about $178</td>
<td>about $340</td>
<td>about $3,380</td>
<td>about $6,800</td>
</tr>
</tbody></table>
<p>Read across a row and the cheapest option is always the small model with caching; read down a column and only volume changes the bill. At 2,000 tasks the model is a rounding error next to hosting. At 100,000 it is a real line, and caching and routing decide whether it is $178 or $6,800.</p>
<p>On top of tokens, budget for hosting the agent service, logs and traces, and scheduled evaluation runs. These depend on your cloud and your retention rules, so treat them as their own line rather than guessing a percentage.</p>
<h2>What an AI agent costs to maintain after launch</h2>
<p>Maintenance is the engineering that keeps an agent correct while everything around it changes. The model bill is predictable; these four jobs are what surprise budgets:</p>
<ul>
<li>Model and price changes. Vendors retire models and change prices; each switch means rerunning the evaluation set before the new model goes live.</li>
<li>Evaluation reruns. Every prompt change, tool change or new edge case from production goes through the full test set, and the set grows as users find new cases.</li>
<li>Monitoring and traces. Someone reads the logs of failed and escalated tasks each week and turns them into fixes or new test cases.</li>
<li>Integration drift. When a connected CRM, ERP or API changes a field or an auth flow, the agent starts failing without an error message unless a test catches it.</li>
</ul>
<p>Our builds include 30 days of support after launch. After that, owners usually choose small fixed-price change requests for occasional updates, or a Dedicated Team when the agent has a roadmap of its own. We don’t publish a maintenance percentage of the build price, because it depends on how many integrations can drift and how often your process changes, not on what the build cost.</p>
<h2>Why AI agent cost estimates range from $5,000 to $400,000+</h2>
<p>Published estimates span two orders of magnitude because they put very different systems under one word. The cost guides that ranked for “AI agent development cost” when we checked on October 29, 2026 put an agent anywhere from about $5,000 to more than $400,000, and few of them show how they got there.</p>
<ul>
<li>The low end, roughly $5,000 to $25,000, is a rule-based bot or a prototype: one data source, read-only, no evaluation set, no approvals.</li>
<li>The high end, $150,000 to $400,000 and more, is a multi-agent system in a regulated industry, built by a full team over six months or longer.</li>
<li>The middle is a production agent that reads and writes real systems, with approvals, an audit log and an evaluation set. Our fixed-price band, $25k–$120k, covers that middle; a prototype costs less (our discovery sprint ends with one, for $5,000), and larger programs are split into phases.</li>
</ul>
<p>Treat any published range as a way to sort scopes, not as a price. The number that counts is a fixed quote against a named scope.</p>
<h3>Why quotes for the same AI agent differ so much</h3>
<p>Two quotes for the “same” agent usually describe different systems. One vendor prices a prototype with a read-only connection; another prices writes, approvals, an audit log and a test set. Before comparing totals, line the quotes up against six questions:</p>
<p><strong>Check every AI agent quote for these six items</strong></p>
<table>
<thead>
<tr>
<th>Check</th>
<th>What a complete quote states</th>
<th>What a thin quote leaves out</th>
</tr>
</thead>
<tbody><tr>
<td>Integrations</td>
<td>Each system named, read or write, and who supplies API access</td>
<td>“Integrates with your CRM”</td>
</tr>
<tr>
<td>Evaluation set</td>
<td>Roughly how many real cases, who writes the expected outcomes, when it runs</td>
<td>“Testing” as one line</td>
</tr>
<tr>
<td>Approval steps</td>
<td>Which actions need a person and how the approval queue works</td>
<td>Nothing, or “human in the loop” with no detail</td>
</tr>
<tr>
<td>Audit log</td>
<td>What is logged per action and how long it is kept</td>
<td>Nothing</td>
</tr>
<tr>
<td>Ownership</td>
<td>Code, prompts, evaluation set and cloud accounts in your name</td>
<td>A license to use the vendor’s platform</td>
</tr>
<tr>
<td>Post-launch support</td>
<td>A fixed support window and how changes are priced after it</td>
<td>“Ongoing support available”</td>
</tr>
</tbody></table>
<blockquote>
<p>Watch out</p>
<p>A thin quote is not a cheaper one</p>
<p>A quote that is low because it leaves out the evaluation set or the approval steps is not cheaper; it moves that cost to after launch, when it is paid as an incident.</p>
</blockquote>
<p>For the questions to put to the vendor behind the quote, see <a href="https://apptycoons.com/blog/how-to-evaluate-ai-agent-development-company">questions to ask an AI agent development company</a>.</p>
<h2>Fixed price vs time and materials for an AI agent</h2>
<p>A fixed price after discovery protects the buyer from overruns; time and materials protects the vendor. For AI agents, where the main risk is unknown data and integrations, the fix is to resolve those unknowns first and then fix the price, which is what discovery is for.</p>
<p><strong>Pricing models for an AI agent build</strong></p>
<table>
<thead>
<tr>
<th></th>
<th>Fixed price after discovery</th>
<th>Time and materials</th>
<th>Dedicated team</th>
</tr>
</thead>
<tbody><tr>
<td>Best for</td>
<td>A defined agent or product</td>
<td>Research with no clear end</td>
<td>An ongoing roadmap</td>
</tr>
<tr>
<td>Who carries overrun risk</td>
<td>The vendor</td>
<td>You</td>
<td>Shared, scope flexes monthly</td>
</tr>
<tr>
<td>Scope changes</td>
<td>Change request</td>
<td>Anytime, billed hourly</td>
<td>Anytime</td>
</tr>
<tr>
<td>Our price</td>
<td>$25k–$120k per project</td>
<td>Not offered</td>
<td>From $12k per month</td>
</tr>
</tbody></table>
<p>We recommend fixing the price for the first production version, and moving to a Dedicated Team only if the agent becomes a product with its own roadmap. The trade-offs between the contract models are in our guide to <a href="https://apptycoons.com/blog/fixed-price-software">fixed price vs time and materials</a>.</p>
<h2>When a custom AI agent is not worth paying for</h2>
<p>A custom agent is not worth its build price when a product already does the job at your volume for less. The quickest test is arithmetic: multiply the product’s usage price by the volume you expect in year three, and compare it with the build plus three years of running cost.</p>
<p>Two published price lists show what that comparison looks like. Intercom lists its Fin AI Agent from $0.99 per outcome, so 1,000 outcomes a month is about $12,000 a year, well under a $25k build plus hosting and maintenance. Microsoft sells Copilot Studio as packs of 25,000 credits for $200 a month, which suits internal assistants that live inside Microsoft 365. At that kind of volume, inside tools you already use, buying wins on cost.</p>
<p>The arithmetic turns the other way when volume grows, when the agent has to write to your own systems, or when how it works is part of what you sell. A full three-year model, the lock-in questions to put to vendors, and the part-bought, part-built setup most agents end up with are in <a href="https://apptycoons.com/blog/build-vs-buy-ai-agents">build vs buy AI agents</a>.</p>
<h2>When does an AI agent pay for itself?</h2>
<p>An agent pays for itself once the monthly value of the work it takes over, minus its monthly running cost, has added up to the build price. Because our discovery fee is credited to the build, the upfront cost is the build price alone:</p>
<p><strong>Payback in months = build price ÷ (monthly value of work handled − monthly running cost)</strong></p>
<p>Volume decides the answer far more than the build price does. The example below uses stated assumptions; swap in your own. A support agent fully resolves half of the tickets it sees, each ticket takes a person 6 minutes, and an hour of that person’s time costs $40 fully loaded, so each resolved ticket is worth $4. Running cost (tokens, hosting, monitoring) is set at $1,000 a month at 2,000 tickets and $1,500 at 10,000.</p>
<p><strong>Payback at two volumes and both ends of our build band (assumptions above)</strong></p>
<table>
<thead>
<tr>
<th>Tickets a month</th>
<th>Value of work handled</th>
<th>Net per month</th>
<th>Build at $25k</th>
<th>Build at $120k</th>
</tr>
</thead>
<tbody><tr>
<td>2,000</td>
<td>$4,000</td>
<td>$3,000</td>
<td>about 8 months</td>
<td>about 40 months</td>
</tr>
<tr>
<td>10,000</td>
<td>$20,000</td>
<td>$18,500</td>
<td>about 1.4 months</td>
<td>about 6.5 months</td>
</tr>
</tbody></table>
<p>Two things follow. At low volume a simple agent can pay back within a year, but a complex one rarely does, so either narrow the scope or buy a product. And the running cost belongs in the formula: leaving it out flatters the result most at low volume, which is exactly where the decision is closest. If the payback runs past two years at your volume, read <a href="https://apptycoons.com/blog/build-vs-buy-ai-agents">build vs buy AI agents</a> before you commit to a build.</p>
<h2>How to budget for an AI agent project</h2>
<p>Budget for the system, not the model. A realistic plan has four lines:</p>
<p><em>Four budget lines for an AI agent</em></p>
<ol>
<li><strong>Discovery: $5,000</strong> (Weeks 1–2): Two weeks, ending with a working prototype and a fixed quote.</li>
<li><strong>Build: $25k–$120k</strong> (6–16 weeks): Depending on agent type, integrations and compliance.</li>
<li><strong>Run</strong> (Every month): Tokens from a worked estimate like the one above, plus hosting and monitoring.</li>
<li><strong>Change</strong> (Ongoing): Model and prompt updates as vendors ship new versions, either as small fixed-price changes or a dedicated team.</li>
</ol>
<p>Then pick one workflow and one number to move, such as hours saved, tickets resolved or decisions made per day, and hold the build to it. That keeps scope honest and makes the return easy to measure. If you want a fixed price for your own agent, our <a href="https://apptycoons.com/services/ai-agent-development">AI agent development</a> team starts with a free AI audit: <a href="https://apptycoons.com/contact?interest=audit&amp;service=ai-agent-development">book the audit</a> and bring the workflow you have in mind.</p>
<h2>Sources</h2>
<ol>
<li><a href="https://platform.claude.com/docs/en/about-claude/pricing">Claude API pricing</a>, Anthropic</li>
<li><a href="https://www.intercom.com/pricing">Intercom pricing (Fin AI Agent)</a>, Intercom</li>
<li><a href="https://www.microsoft.com/en-us/microsoft-copilot/microsoft-copilot-studio">Microsoft Copilot Studio pricing</a>, Microsoft</li>
</ol>
<p><em>Originally published at</em> <a href="https://apptycoons.com/blog/ai-agent-development-cost"><em>apptycoons.com</em></a><em>.</em></p>
]]></content:encoded></item></channel></rss>