Comparison
Chatbot vs AI agent
A chatbot answers in conversation and leaves the decision with the person reading the reply. An AI agent plans and takes actions through tools on your systems. The real question is how much work you are willing to let software do unsupervised, and what it costs you when that work goes wrong.
What the choice is actually between
The two terms get used interchangeably in sales material, which is unhelpful, because they describe systems with different risk profiles, different running costs and different engineering. A chatbot is a conversational interface whose output is a message. Somebody asks a question, the system replies, and a person reads the reply and decides what to do with it. That covers a wide range of technology: scripted bots that walk a decision tree of intents and fixed answers, retrieval-grounded bots that find the relevant passage in your documentation and answer from it, and bots that put a large language model behind the conversation and let it compose the reply. What they share is that the conversation is the product. Nothing changes in your systems because the chatbot said something.
An AI agent is given a goal and a set of tools, and it decides for itself which tools to call, in what order, and when it has finished. The tools are functions that reach into real systems: search the CRM, read the ticket history, update the order, issue the credit, send the email, open the pull request. The model plans a step, calls a tool, reads what came back, and plans the next step, in a loop that runs until the goal is met or a limit stops it. The output of an agent is a set of changes to the world, and the conversation, if there is one, is a by-product.
Between those two poles there is a broad middle, and most good production systems live in it. A chatbot that can look up an order status through a read-only API is still a chatbot in every sense that matters for risk, because the worst it can do is tell somebody something wrong. A chatbot that drafts a refund for a person to approve is close to an agent in its engineering and close to a chatbot in its risk. So the line worth drawing is less about the label than about two questions: can the system change something on its own, and does the model choose the sequence of steps or does your code. The answers to those two questions decide the permissions model, the approval design, the evaluation effort, the running cost and the size of the mistake you are exposed to.
The short answer
Start with the least autonomous system that solves the problem, and move up only when you have evidence that the next step is worth its cost. For most organisations whose underlying need is answering questions, a well-built retrieval-grounded chatbot is the right answer, and for a surprising number of them a better FAQ, a better search box and an order tracking page would be cheaper still. A chatbot that answers from your own content, shows where each answer came from and hands over to a person when it is out of its depth is cheaper to run, far easier to evaluate, and its failures are sentences rather than transactions.
Build an agent when the valuable part of the work is the doing rather than the telling: multi-step tasks that cross several systems, where a person currently spends their time gathering information from one place, making a routine decision and typing the result into another. That is where agents earn their cost, and the gain there is real. The condition is that you design the permissions, approval points, audit trail and evaluation before you widen the autonomy, because an agent that is wrong does not produce an embarrassing reply. It produces an action, sometimes one that cannot be reversed.
We build both, and we should say plainly that agents are the larger engagement, which means our commercial interest points the opposite way to the advice above. The advice stands. Teams that start with an agent because it makes the more impressive demo tend to spend months on guardrails for actions nobody needed automated, while the question their customers were actually asking could have been answered by a page of well-written content. Teams that start with a grounded chatbot, log what people ask, and add actions one at a time where the logs show repeated, routine, low-risk work end up with agents that are trusted, because every permission was earned.
Side by side
| Dimension | Chatbot | AI agent |
|---|---|---|
| What it produces | A reply. Text, sometimes with links, buttons or a short form, read by a person who then decides what happens next. | Changes in your systems. Records updated, messages sent, tickets raised or closed, files written, usually with a summary of what was done. |
| Who decides the sequence of steps | Your design. A scripted bot follows the tree you wrote, and a language-model chatbot answers turn by turn without planning a course of action. | The model, within the tools and limits you give it. It plans, acts, observes the result and replans, which is the source of both its usefulness and its unpredictability. |
| Main variants | Scripted (intents and decision trees), retrieval-grounded (answers from your documents) and generative (a language model composing replies), often combined in one product. | A single agent with a tool set, workflows where code fixes the steps and a model makes the judgement calls inside them, and multi-agent setups where agents pass work to each other. |
| System access it needs | Read access to the content it answers from, and sometimes read-only lookups such as an order status. Many need no system access at all. | Write access to whatever it acts on, through credentials it holds or borrows from the user. Every tool is a permission granted to a probabilistic component. |
| Worst realistic failure | A confident wrong answer. That can still cost money if a customer relies on it or it describes a policy you do not have, but the damage is limited to what someone believes. | A wrong action at machine speed: the wrong customer refunded, an email sent to the wrong list, a record overwritten. Contained only by the limits you designed in. |
| Exposure to prompt injection | Real but bounded. A manipulated chatbot can be made to say things it should not, and to reveal whatever is in its context. | Serious. Any web page, email or document the agent reads can carry instructions, and an agent with tools can be steered into acting on them. |
| Human approval | Built into how it is used: a person reads every reply and acts on it or does not. Handover to a human is the main control. | Has to be designed. Read-only steps run freely, reversible actions run with logging, and consequential or irreversible actions wait for a person to approve. |
| Evaluation | A test set of real questions scored for correctness, grounding, declining when the answer is unknown, and correct handover. Tractable and repeatable. | Scenarios in a sandbox scored for task completion, the path taken, side effects and safety, each run several times because the same task can go differently. |
| Cost per interaction | One or a few model calls per turn, billed by usage. Cost is driven mainly by how much retrieved content and history goes into each prompt. | Many model calls per task, each carrying the growing history of tool results, plus tool costs and human review time. Varies noticeably from run to run. |
| Latency | Seconds per reply, and streaming the answer makes it feel faster. Suited to someone waiting at a screen. | Seconds to minutes per task, depending on the number of steps and the speed of the systems it calls. Better suited to background work than to someone waiting. |
| Reliability across a task | Each answer stands alone, so a mistake affects one reply and the next one starts clean. | Errors compound across steps, because the task only succeeds if every step does. Short, well-bounded tasks are far more dependable than long ones. |
| Audit trail | Conversation transcripts, plus the sources retrieved for each answer if you log them, which you should. | Every model decision, tool call, input, output and approval, kept so you can reconstruct exactly what happened and why. Not optional. |
| Where the build effort goes | The smaller project. Content quality and retrieval dominate, and over poor documentation, fixing the content is most of the work. | The larger project. Tool design, permissions, approval flows, sandboxes, evaluation and monitoring are most of the work, and the model loop is the small part. |
| Best first use | Answering repeated questions from content you already have, triaging requests, and collecting details before a handover. | Routine multi-step back-office work across several systems, where a person currently copies information between screens and makes a predictable decision. |
Choose Chatbot when
- The need is information rather than action. Customers or staff are asking questions whose answers already exist somewhere: policies, product details, how-to guidance, eligibility rules, delivery times. A chatbot grounded in that content answers them at any hour, and nothing about the job requires changing a record.
- The answers live in documents you control and can keep current. A retrieval-grounded chatbot is only as good as its sources, and if you already maintain a help centre, a policy library or a product catalogue, most of the hard work has been done.
- Mistakes must stay cheap. In financial, medical, legal or otherwise regulated contexts, a system that can only say things, with a person deciding what to do, keeps the consequential decision with somebody accountable. You can still make the answers very good. You are choosing to keep the actions human.
- Your volume is high and your questions repeat. A small set of questions often accounts for a large share of contact volume, and that is where a chatbot pays for itself. Long-tail questions can go to a person with the transcript attached, so nobody has to explain themselves twice.
- You need a front door that triages and hands over well. Collecting the account, the order number, the symptoms and the urgency before a person picks up is valuable, low-risk work, and it is easy to measure whether it is being done properly.
- Your systems do not yet have clean APIs. An agent is only as safe as the tools it calls, and if the only way to change something is a legacy screen or a manual process, building an agent means building the integration layer first. A chatbot can deliver value now while that work happens.
- You cannot yet staff the oversight an agent needs. Agents need someone to own the approval queue, review the logs, respond when something goes wrong and maintain the evaluation suite. If nobody has that time, a chatbot is the honest scope, and it is better to say so at the start.
- You want evidence before you automate anything. A chatbot’s logs tell you exactly what people ask for, in their own words, and which requests end in the same routine action every time. That is the data you need to decide which actions, if any, deserve an agent.
Choose AI agent when
- The valuable part of the work is the doing. If every conversation ends with a person opening three systems to carry out the same routine steps, the answer was never the bottleneck. An agent that does the lookups, prepares the change and carries it out, or queues it for one-click approval, removes the part of the job that actually takes the time.
- The task crosses several systems and the path varies from case to case. Reconciling an invoice against a purchase order and a delivery record, assembling a case file from email, the CRM and a document store, or investigating an alert across logs and dashboards are jobs where the next step depends on what the last one found. That variability is what an agent handles and a fixed script cannot.
- You have clean, permissioned APIs to act through. When your systems already expose well-defined operations with proper access control, building tools for an agent is mostly wiring, and the safety model can rest on access controls you already trust and audit.
- Most of the actions are reversible or easily checked. Drafting, tagging, routing, filling in fields, creating tickets and preparing changes for review all fall into this category. When the cost of a wrong step is a correction rather than a loss, autonomy is cheap to grant and the gain is immediate.
- Volume makes the human time expensive. A routine task done thousands of times a month by skilled people is a large cost and a poor use of them. Even an agent whose every consequential action waits for approval can turn a long stretch of gathering and typing into a short review of a prepared decision.
- Your users already ask the chatbot to do things. If the logs show people asking the assistant to change, book, cancel, raise or send, and the reply is always an explanation of how to do it themselves, the demand for actions is proven, and you know exactly which ones to build first.
- The work is internal and the users are trained. An agent used by your own operations team, who understand what it is doing and review its output as part of their job, is a much safer starting point than one facing the public, and it is a sensible place to begin.
- You are prepared to run it as a system rather than ship it as a feature. That means owners for each tool, an approval queue someone actually watches, monitoring, a process for incidents, and an evaluation suite that runs on every change. With that commitment in place, an agent can carry real operational load, and it is the right choice for work that a chatbot can only describe.
What each one can safely be allowed to do
Safety here is a property of scope rather than of intelligence. A more capable model makes mistakes less often, and that is worth having, but it does not change what a mistake is able to do. The size of the worst outcome is set by what the system can reach: which data it can read, which operations it can perform, on whose behalf, and with what limits. Those are decisions made by the people who build it, and they are the first thing to design, before any prompt is written.
A chatbot’s safe envelope is wide because its reach is narrow. It can answer from approved content, explain a process, compare options, collect the details a person will need, triage a request and hand it over, and with the user properly signed in it can look up that user’s own records through read-only calls. Its risks are about what it says. It can state something false with complete confidence, describe a policy you do not have, promise a discount nobody authorised, or repeat something from its context that the user should not see. None of that is trivial: a tribunal has already ordered at least one company to compensate a customer who relied on its website chatbot’s incorrect account of a refund policy. Treat what your chatbot says as a statement made by your organisation. The controls follow from that. Ground every answer in content you have approved, instruct the bot to say when the answer is not there, keep it away from offers and commitments it cannot check, and test that it declines when it should.
An agent’s safe envelope is exactly as wide as its tools, so the design work is in the tools. Mechanically, a tool is a function described to the model with a name, a purpose and a schema for its inputs. OpenAI and Claude both support this natively: the model returns a structured request to call a tool, and your code decides whether to run it, runs it, and hands back the result. That decision point is where safety lives, because the model never touches your systems directly. Your code does, and your code can refuse. Classify every tool as read-only, reversible write, consequential write or irreversible, give it the narrowest scope that does the job, and attach hard limits: an amount cap on a refund tool, an allowlist of recipients on an email tool, a rate limit on everything. When the agent acts for a particular user, it should act with that user’s permissions, never with a service account that can see and change everything. Open standards such as the Model Context Protocol make it easier to expose the same tools to different models, which is convenient, and they do nothing to make any individual tool safer.
The risk peculiar to agents is that they read things, and what they read can contain instructions. An email, a web page, a support ticket or a shared document can include text written to redirect the model, and a model with tools may follow it. This is prompt injection, and no current model is immune to it. The dangerous combination is an agent that can read private data, is exposed to content an outsider controls, and has some way to send information out. Remove any one of the three and the worst case shrinks considerably. In practice that means separating the step that reads untrusted content from the step that holds powerful tools, restricting where data can be sent, treating every tool result as untrusted input, and putting a person in front of any action that communicates outside the organisation.
Human approval, designed so people actually read it
For any action that matters, the pattern that works is propose and confirm. The agent does the gathering, the reasoning and the preparation, then presents the action it intends to take, and a person approves, edits or rejects it. This keeps the slow, tedious part automated and the accountable decision human. It is also the cheapest way to begin, because you can launch with every write action gated and remove gates one at a time as evidence accumulates, which is far easier than adding control to an agent that has been acting freely.
Decide in advance which actions always need approval, and write the list down. Moving money, sending anything to a customer or a third party, deleting or overwriting data, changing permissions or configuration, and anything with legal or contractual effect belong on it. So does anything irreversible, however small it looks. Reversible internal actions, such as tagging a ticket, filling a field, creating a draft or routing work to a queue, can usually run without a gate, provided they are logged and a sample is reviewed. The test for each action is simple: if the agent did this wrongly a hundred times before anyone noticed, how bad would that be?
Approval only works if reviewers engage with it, and badly designed approval queues train people to click yes. If every step needs sign-off, the volume becomes a chore and attention drops. If the request shows only a summary, the reviewer has nothing to judge. Good approval design shows exactly what will happen, such as the amount, the recipient, or the record before and after the change, together with the evidence the agent relied on, and it puts approve, edit and reject in one place. Group similar requests so they can be reviewed together, and route each kind to someone who can actually judge it.
Treat the approval queue as a measuring instrument as well. For each action type, track how often proposals are approved unchanged, edited or rejected. An action that is approved unchanged consistently, across a meaningful number of cases, is a candidate to run automatically under a limit, with sampled review afterwards. An action whose edit rate rises after a model or prompt change should move back behind the gate. Autonomy then becomes something granted per action type, on evidence, and revocable, which is a position you can explain to a risk committee or an auditor without hand-waving.
Evaluating a chatbot versus evaluating an agent
A chatbot is comparatively easy to evaluate, because its output is text and each reply stands on its own. Build a test set from real questions taken from support tickets, search logs and transcripts, including the awkward ones, and for each record the correct answer or the source it should come from. Score correctness, whether every claim is supported by the retrieved content, whether the bot declines when the answer is not available, whether it hands over when it should, and whether the tone is acceptable. A language model can do much of the scoring, provided you check its judgements against human ones on a sample. Run the set on every change to the prompt, the model, the retrieval or the content, and a regression shows up before customers see it.
An agent’s output is a changed world, so the test has to happen in one. That means a sandbox: test instances or faithful fakes of the systems the agent acts on, seeded with known data. Each scenario defines a starting state, a goal and the correct end state, and the evaluation checks whether the task was completed, whether anything changed that should not have, whether the path was sensible (the right tools, no loops, no wasted calls), and how many steps and how much spend it took. Because the same agent can take a different route through the same task, every scenario should run several times. An agent that succeeds on average and fails badly every so often is not ready, and a single run will not show you that.
Agents also need adversarial tests that chatbots barely require. Include documents and emails with instructions planted in them, requests ambiguous enough that the right move is to ask, tasks that should be refused, and tool failures such as timeouts, errors and partial results. The question in each case is whether the agent stays within its scope, stops when it should, and reports honestly what it did and did not do. These scenarios belong in the same suite as the functional ones and should block a release in exactly the same way.
Evaluation does not end at launch for either. For a chatbot, review a sample of transcripts every week, and watch the share of questions it could not answer, the handover rate, and what people ask that the content does not cover. For an agent, watch approval and edit rates, rollbacks, steps and cost per task, tool error rates and any action outside its normal pattern, and alert on all of them. Tracing every model call and tool call is essential for agents, because when something goes wrong the first question is always what the agent saw and why it chose what it did, and only a full trace answers it.
Cost per task and reliability, honestly
The pricing models are simple even though the rates move. Hosted language models are billed by usage, per token, with input and output usually priced separately and larger models costing more per token than smaller ones. Packaged chatbot and agent platforms add their own pricing on top: per seat, per conversation, per resolution or per task. Rates and tiers change often, so check the current rate card for any provider you are considering, and model your own traffic against it rather than trusting a headline figure.
A chatbot’s cost per interaction is predictable. Each turn is one model call, sometimes two, and the main driver is how much text goes into the prompt: the instructions, the conversation so far and the retrieved passages. An agent’s cost per task is larger and less predictable. Each step is a model call, and each call usually carries the accumulated history of the task, including every tool result so far, so the tokens per call grow as the task proceeds. Retries and dead ends cost as much as successful steps. The tools themselves may carry charges, and the human review time behind approvals is frequently larger than the model bill. Two runs of the same task can differ widely, so set hard caps on steps and spend per task and alert when they are hit.
Reliability compounds in a way that is easy to underestimate. A chatbot’s errors are independent: one bad reply affects one reply. An agent’s task succeeds only if every step does, so per-step error rates multiply. A step that goes right nine times in ten, chained ten times, completes cleanly only about a third of the time. That is arithmetic rather than a benchmark, and it is why the dependable agents are the narrow ones. Keep tasks short, let ordinary code handle the steps whose logic you already know, make tools validate their inputs and refuse nonsense, make them idempotent so a retry cannot apply a change twice, and checkpoint long tasks so a failure resumes rather than starting again.
The fair comparison is cost per successfully completed task, including review and correction, against what that task costs today. For a chatbot, the unit is a question genuinely resolved, which is different from a conversation that ended because the user gave up. Be wary of containment figures that count everyone who never reached a person as a success. For an agent, the unit is a task done correctly from end to end, with the reviewer’s time included. On those terms, agents often justify themselves on high-volume back-office work and rarely on low-volume tasks, where the engineering and the oversight never pay back.
When even a chatbot is too much: FAQs, search and plain workflows
Before building either, look at what people actually ask. Pull a few months of support tickets, chat logs and site searches, group them, and read the largest groups. If the top requests are where an order is, how to reset a password and when you are open, the best answer is a tracking page, a self-service reset and a clear page with the hours on it. Each of those is faster for the user than any conversation, costs almost nothing to run and cannot hallucinate.
A good FAQ and a good search box remain underrated. Maintained answers written for the questions people really ask, a search that copes with synonyms and misspellings, and navigation that gets someone to the right page in a couple of clicks absorb a great deal of demand. They also expose the problem many chatbot projects discover late: the content is wrong, out of date or contradictory. A chatbot over poor documentation delivers poor answers fluently. Fixing the content helps every channel, including the chatbot you may still build, because retrieval-augmented generation is only ever as good as what it retrieves.
On the agent side, the overlooked alternative is a workflow. If the steps of a process are known, write them as ordinary code and call a model only at the points that need judgement: classifying an incoming email, extracting fields from a document, drafting a reply for review. Because the code fixes the sequence, the system is cheaper, faster, easier to test and easier to audit than an agent, and it fails in predictable places. Orchestration libraries such as LangChain, with its graph-based companion LangGraph, let you mix fixed steps and model decisions in one design, so most of a process stays deterministic and the model gets a choice only where a choice is genuinely needed.
A useful test: could an experienced member of staff write the procedure down as a flowchart? If they can, build the flowchart and use a model inside the boxes that need reading or writing. If the flowchart has a box that says, in effect, "work out what to look at next depending on what you find", and that box is where the time goes, that is the part an agent is for. Many processes turn out to be mostly flowchart with one or two genuinely open-ended steps, and the best design hands only those steps to an agent.
How teams usually move from a chatbot to an agent
The progression that works is a ladder, and each rung produces the evidence needed to climb the next. First, content and search good enough that people can help themselves. Second, a grounded chatbot that answers from that content, shows its sources and hands over cleanly. Third, read-only tools, so the chatbot can look up the user’s own order, booking or case once they have signed in. Fourth, drafted actions: the system prepares the change and a person approves it. Fifth, low-risk actions running automatically within limits, with consequential ones still gated. Beyond that, autonomy widens one action type at a time, on the strength of the approval data.
Most of what you build on the lower rungs carries upward. The knowledge base and retrieval layer stay, because an agent needs to know your policies as much as a chatbot does. The evaluation set grows from questions into scenarios. The conversation logs become the requirements: they show which requests end in the same routine action and how often. Escalation paths, monitoring and the habit of reviewing transcripts all transfer. What is new at the agent stage is the tool layer, the identity and permission model, the approval interface, the sandbox, the audit store and an incident process for actions that went wrong, and that is where most of the effort in AI agent development goes.
The common mistake is skipping rungs because a demo worked. A demo shows the model choosing sensible actions on a handful of friendly cases. It says nothing about the long tail of odd requests, the planted instruction in a forwarded email, or what happens when a tool times out halfway through a task. The related mistake is building one general agent with every tool attached. One narrow agent per job, with a small tool set, its own evaluation suite and its own approval rules, is easier to test, easier to trust and easier to switch off. Start with the single action type that the logs show is the most frequent and the most routine.
Moving back down the ladder is normal and should be easy. If an automatic action starts being corrected, return it to approval while you investigate. If a model upgrade changes behaviour, gate everything again until the evaluations pass. If a chatbot is not being used, check the content and the entry points before blaming the model. A system built with a gate available on every write action from the start can tighten in minutes, and that ability is what makes it reasonable to loosen anything at all.
Technologies involved
How we help
Common questions
What is the difference between a chatbot and an AI agent?
A chatbot holds a conversation: someone asks, it replies, and the person reading the reply decides what to do. It may be scripted, answer from your documents, or use a language model to compose replies, but its output is words. An AI agent is given a goal and a set of tools, decides which tools to call and in what order, and changes things in your systems: updating records, sending messages, raising tickets. A chatbot’s mistakes are wrong statements, while an agent’s mistakes are wrong actions, and that drives very different engineering, permissions and testing.
Is ChatGPT a chatbot or an agent?
It began as a chatbot and has gained agent-like abilities over time, such as searching the web, running code and, in some modes, carrying out tasks on websites for the user. The same is true of most assistant products. The label matters less than the configuration in front of you. When it only answers, it is a chatbot. When it can take actions through tools, it is acting as an agent, and the questions about permissions, approval and review apply. For a business system, ask which actions it can take, on whose behalf, and who checks them.
Are AI agents safe to use with customer data?
They can be, if the design limits what an agent can reach and do. Give it only the tools the job needs, with the narrowest scope, acting with the permissions of the user it serves rather than a broad service account. Gate any action that sends data outside the organisation or changes something consequential. Treat every document and email it reads as potentially hostile, because planted instructions are a real attack. Log every call and decision. An agent with broad access to customer data, exposure to outside content and a way to send messages has every ingredient for a serious leak.
Do we need an AI agent, or just better automation?
If you can write the steps down in advance, you probably need automation: ordinary code that runs the process, with a language model called only where judgement is needed, such as classifying a message or extracting fields from a document. That is cheaper, faster and easier to test than an agent. An agent is worth its cost when the next step genuinely depends on what the previous one found, the path varies from case to case, and that open-ended investigation is where people currently spend their time. Many good systems are mostly workflow with one agentic step inside.
How much more does an agent cost to run than a chatbot?
There is no honest single figure, because it depends on the model, the number of steps, the size of the tool results and the price list at the time. Structurally, a chatbot makes one or two model calls per turn, while an agent makes many calls per task, each carrying the growing history of the task, so its cost per task is higher and varies between runs. Add tool charges and the reviewer time behind approvals, which is often the largest item. Measure cost per correctly completed task, including review, against what the task costs today.
Can we start with a chatbot and turn it into an agent later?
Yes, and it is usually the better order. The content, retrieval layer, evaluation set, monitoring and escalation paths all carry over, and the chatbot’s logs show which requests repeatedly end in the same routine action, which is exactly the evidence you need to pick the first action to automate. Add read-only lookups first, then drafted actions a person approves, then automatic execution for low-risk actions within limits. The new work at each step is the tool layer, permissions, approval interface and audit trail, so budget for those rather than treating the change as a setting.
Which actions should always need human approval?
Anything that moves money, sends a message to a customer or third party, deletes or overwrites data, changes permissions or configuration, or has legal or contractual effect. Anything irreversible, however minor it looks. Reversible internal steps such as tagging, routing, filling fields or creating drafts can usually run without a gate if they are logged and sampled. Revisit the list on evidence: an action approved unchanged consistently over many cases may be allowed to run under a limit, and one whose edit rate climbs goes back behind approval.
How do you stop an AI agent being manipulated by what it reads?
You cannot rely on the model to resist, because no current model is immune to instructions planted in the content it processes. The defences are architectural. Separate the step that reads untrusted content from the step that holds powerful tools. Restrict where the agent can send information. Validate every tool call in code against what the task allows. Put a person in front of any external communication. Test with planted instructions in documents, emails and web pages as part of every release. The aim is that a manipulated agent cannot do much damage, since manipulation itself cannot yet be ruled out.
Weighing Chatbot against AI agent?
Tell us the volumes, the compliance position and who would run it day to day. We will tell you which one we would choose for your case, and say so plainly when it is not the one we sell.
- 01A senior engineer reads it. Not a form queue, and not an account manager.
- 02We reply either with questions or with a straight answer that we are not the right fit.
- 03If it looks like a fit, a technical call with the person who would actually run the delivery.
- 04Then scope, effort and risk in writing, before anyone signs anything.