Product engineering

Adding AI to an Existing SaaS Product: Where to Start

A practical way to find the right insertion point without rebuilding the product around a model.

Begin with a product task, not a model

The wrong first question is usually “Where can we add AI?” It encourages a tour of model features rather than an examination of the product. Start with a task users already try to complete: preparing a report, finding an answer, interpreting an uploaded document, drafting a response, or moving a case through several systems.

Write the task as a change in observable behavior. Who is doing the work? What context do they have? What is slow, inconsistent, or impossible today? What would a useful result let them do next? If the answer is still “use AI,” the problem is not framed tightly enough.

This discipline prevents the model from becoming the product architecture. It also exposes cases where better search, clearer rules, or a conventional interface change would solve the problem with less uncertainty.

Find the smallest insertion point

An established SaaS product already has identity, permissions, data models, workflows, and user expectations. The safest useful change normally enters through a narrow boundary:

  • an inline draft inside an existing editor;
  • a classification step before a known workflow;
  • a retrieval service behind the current search or support interface;
  • a structured extraction step after a document upload;
  • an approved tool action proposed for confirmation;
  • a background process that prepares work for human review.

The existing application should remain authoritative for access and consequential state. A model may propose structured arguments; the application validates them, checks the user’s authority, and performs the action. Current function-calling documentation from Google Cloud describes the same core separation: the model returns a function call, while the application executes the external function and returns its result.

Decide what kind of capability the task needs

Several patterns are often confused.

Generation is suitable when the desired result is language or another model output that a user can inspect: a draft, summary, explanation, or transformation.

Retrieval is useful when the task depends on current or private source material. The retrieval layer finds relevant evidence at request time; the product can show citations and preserve source permissions.

Tool use is needed when the system must obtain live information or propose an application action. Tools should be narrow, typed, and permission-aware.

A workflow fits work with a mostly known sequence. Deterministic steps should remain deterministic even if one stage uses a model for variable input.

An agent can help when the next step depends on context and the system must choose among approved tools. That flexibility adds an evaluation burden. Do not introduce it merely to make the feature sound more advanced.

Preserve product boundaries

The existing authentication layer should determine who the user is. The authorization layer should determine which records, resources, and actions are available. Prompts are not an access-control system.

Treat application-facing model output as untrusted input. Parse it against a schema, enforce limits, validate identifiers, and perform authorization at the tool or service boundary. For actions with financial, legal, customer, or operational consequence, show the proposed change and request confirmation or approval before execution.

The same principle applies to retrieved knowledge. Filter accessible sources before context reaches the model. If a user cannot open a source in the product, the retrieval system should not expose its contents through a generated answer.

Define evaluation before polishing the interface

A promising demonstration is not yet a dependable product capability. Build a representative set of tasks from real product behavior. Include common cases, ambiguous inputs, missing information, restricted data, adversarial phrasing, and upstream failures.

Evaluate separate layers where possible:

  1. Did the system retrieve the right evidence?
  2. Did it choose the right tool?
  3. Were arguments valid and authorized?
  4. Was the user-facing result useful and supported?
  5. Did the fallback or escalation path work?

This makes improvement more precise. A weak answer caused by missing evidence is not primarily a prompting problem. A correct proposal that targets an unauthorized record is not a quality success.

Release through a controlled path

Start with a narrow user group or feature flag. Preserve a non-model path where the product needs continuity. Log enough context to diagnose behavior without collecting more private data than operations require. Watch latency, failure categories, tool errors, model refusal, and user correction, not only aggregate usage.

Provider and model changes should run through the same evaluation set before release. The goal is not to freeze the stack. It is to make change reviewable.

A practical first increment

The strongest first release is rarely the largest idea. It is a complete vertical slice that proves one useful behavior inside the real product: current identity, representative data, a genuine interface, production-shaped error handling, and measurable quality.

That slice tells the team far more than a disconnected chat prototype. It reveals whether the capability belongs in the workflow, whether the available context is sufficient, and what the surrounding software must do before broader scope is justified.

Sources and further reading

For implementation help, see AI Modernization & Integration and AI Integrations & Copilots.

NEXT STEP

Bring us the system, workflow, or product that needs to change.

We’ll help define the smallest sound way forward, then build it with the surrounding software in view.