Abstract geometric patterns representing software architecture
ISV Guide

The Embedded AI Playbook for SaaS Companies

Your board wants an AI story. Your customers want an assistant. Your engineering team is already stretched. Here's how to ship AI features in weeks, not quarters.

Amodal TeamMarch 22, 202630 min read

Who this is for

You run a B2B SaaS company. You have 500+ customers, a REST API, and a product that works. Your board is asking about your AI strategy. Your customers are asking for smarter workflows. Your engineering team is fully committed to the core product.

This guide is for the three people who will make the decision: the CTO who has to evaluate build-vs-buy, the VP of Product who has to define what customers actually get, and the VP of Engineering who has to staff it without derailing the roadmap.

CTO
  • Build vs. buy tradeoffs
  • Architecture for multi-tenant AI
  • Data isolation and compliance
  • Long-term platform risk
VP of Product
  • What customers will actually use
  • How to price AI features
  • White-label vs. co-branded
  • Adoption and retention metrics
VP of Engineering
  • Team allocation (who works on this)
  • Integration complexity
  • Ongoing maintenance burden
  • Security review requirements

If you are a startup with 20 customers and no API, this is too early for you. Ship the API first. If you have a dedicated ML team and 18 months of runway for an AI initiative, you might want to build in-house. This guide is for everyone in between: the 90% of SaaS companies that need AI features now and can not justify a ground-up build.

Quick readiness check
You are ready if:
You have a REST API (or GraphQL) for your core product
You have 100+ customers (multi-tenant matters)
You have domain expertise (you know what "good" looks like)
You can allocate 1 engineer for 4 weeks
You are not ready if:
Your data is only accessible via CSV exports
You have fewer than 10 customers (single-tenant first)
Your product has no defined workflows yet
AI is your core product (build the runtime yourself)

What your customers actually want

Your customers do not want a chatbot. They have tried chatbots. They opened the chat widget, typed "help," got a generic response, closed the widget, and never opened it again. Chatbot adoption rates in B2B SaaS hover around 8-15% after the first month. The pattern is always the same: initial curiosity, then abandonment.

What your customers want is an assistant that already knows their data. One that can tell them what needs attention today without being asked. That can explain why a metric changed, pull up the relevant records, and suggest a specific action. The difference is not cosmetic. It is structural.

generic-chatbot.app
Your AI Assistant
How can I help you today?
What should I work on?
I can help you with many tasks! Try asking about your cases, checking your metrics, or searching for specific records. What would you like to do?
User has to know what to ask. Generic responses. No context.
amodal-powered-assistant.app
3 items need your attention
CASE-4521SLA breach in 2 hours. No update since 9am.
CASE-4518Escalated by customer. Priority mismatch.
CASE-4509Assigned to you. Waiting on vendor response since Monday.
Want me to draft an escalation email for CASE-4521?
Proactive. Context-aware. Actionable. Data-backed.

The left side is a search box with a personality. The right side is a colleague who did the prep work before you sat down. One requires the user to do the thinking. The other does the thinking and presents the results.

8-15%
Chatbot adoption after 30 days
Users try it once, get a generic response, and never return.
45-60%
Context-aware assistant adoption after 30 days
Users come back because the assistant surfaces things they would have missed.
3-5x
Higher retention with proactive AI
The product that tells you what to do is stickier than the product that waits.

The difference in adoption is not about the quality of the model. It is about what the model knows before the user says a word. A chatbot starts cold. An assistant that has queried your API, applied a triage methodology, and ranked the results by urgency starts warm. The user opens the panel and sees useful information immediately.

The build-vs-buy decision for ISVs

You have four options. Each has real costs and real tradeoffs. Here is an honest comparison.

Raw LLM APIAgent FrameworkVertical AI VendorAgent Platform (Amodal)
Time to MVP2-4 months3-6 months2-4 weeks1-2 weeks
Multi-tenantYou build itYou build itMaybeBuilt in
Your methodologyYou prompt itYou code itTheir methodologyYou write it (markdown)
MaintenanceYour teamYour teamTheir teamShared
Cost$200K+ eng time$300K+ eng timePer-seat licensingUsage-based

Raw LLM API (OpenAI, Anthropic, Google). You call the API directly. You write the prompts, manage the context window, handle tool calling, build the chat UI. This works for a single-tenant demo. For 1,000 tenants with isolated data, per-tenant knowledge, guardrails on write operations, and audit logging, you are building a platform. Most teams underestimate this by 3-5x.

Agent Framework (LangChain, CrewAI, AutoGen). These give you the orchestration layer: chains, agents, tool calling. You still build the multi-tenant isolation, the knowledge base, the guardrails, the streaming UI, the audit system, and the deployment infrastructure. The framework saves you 20% of the work and locks you into its abstractions for the other 80%.

Vertical AI Vendor. A company that builds AI specifically for your industry (e.g., AI for customer support, AI for finance). Fast to deploy. But you get their methodology, not yours. Your domain expertise, the thing that differentiates your product, gets flattened into their generic model. And you pay per-seat licensing on top of your own pricing.

Agent Platform (Amodal). You write connection files (how to talk to your API), skill files (your methodology in markdown), and widget configuration (your branding). The platform handles multi-tenant isolation, context management, guardrails, streaming, audit, and model provider integration. Your methodology stays yours. Your brand stays yours.

When to build in-house
If AI is your core product (you are the AI company), build in-house. If AI is a feature of your existing product (you are a SaaS company adding intelligence), use a platform. The decision is about where your differentiation lives. If it is in the runtime, build the runtime. If it is in the methodology and data, focus on the methodology and data.
hidden-costs-of-building
What teams forget when choosing "Raw LLM API"
Context window management
Compaction, cleanup, token counting
2-3 weeks
Multi-tenant isolation
Credential encryption, session isolation, audit trails
4-6 weeks
Streaming infrastructure
SSE, partial responses, error recovery
2-3 weeks
Write operation guardrails
Confirmation flows, rate limits, rollback
1-2 weeks
Chat widget (React)
Responsive, accessible, branded, streaming-aware
3-4 weeks
Session persistence
Resume, replay, handoff between agents
1-2 weeks
Audit and compliance
Tool call logging, immutable event stream
2-3 weeks
Model provider abstraction
Switch providers without rewriting prompts
1-2 weeks
Total infrastructure work before writing your first AI feature16-25 weeks

Multi-tenant architecture: the hard problem

This is the part that kills most AI-in-SaaS projects. You have 1,000 customers. Each customer has their own data, their own API credentials, their own configuration, their own knowledge about what "normal" looks like in their environment. Customer A's data can never leak to Customer B. Not in the model's response. Not in the knowledge base. Not in the audit logs.

If you are building this yourself, you need: per-tenant credential storage (encrypted at rest, decrypted only in memory), per-tenant knowledge bases, per-tenant session isolation, per-tenant audit trails, and a provisioning API so your backend can create tenants programmatically when a new customer signs up. That is 3-6 months of infrastructure work before you write a single AI feature.

multi-tenant-architecture
Shared Platform (your Amodal org)
Runtime Engine
Connection Packages
Skill Library
Application KB
per-tenant isolation boundary
Tenant: Acme Corp
API credentials (encrypted)
Tenant knowledge base
Environment baselines
Session history
Tenant: Globex Inc
API credentials (encrypted)
Tenant knowledge base
Environment baselines
Session history
Tenant: Initech Ltd
API credentials (encrypted)
Tenant knowledge base
Environment baselines
Session history

The shared layer is everything that applies across all your customers: how to connect to your API, your skill methodology, your application-level knowledge (what your data fields mean, what common patterns look like). The tenant layer is everything specific to one customer: their credentials, their baselines, their false positives, their team preferences.

When a user at Acme Corp opens the chat, the agent loads the shared skill and Acme's tenant knowledge. It authenticates with Acme's credentials. It queries Acme's data. Nothing from Globex or Initech ever enters the context. This is not a feature. It is the architecture.

LayerWhat lives hereWho manages itScope
Shared: RuntimeAgent engine, context management, guardrails, streamingAmodalAll orgs, all tenants
Shared: Your configConnection files, skill files, application KB, widget configYour teamYour org, all tenants
Per-tenant: CredentialsAPI keys, auth tokens for each customer's instanceAuto-provisionedOne tenant only
Per-tenant: KnowledgeBaselines, false positives, team preferences, session historyAgent proposes, admin approvesOne tenant only
Per-tenant: SessionsConversation history, audit logs, tool call recordsAutomaticOne tenant only

The provisioning API call is simple: when a new customer signs up in your app, your backend calls the Amodal API to create a tenant. Pass in their API credentials (encrypted in transit and at rest). The tenant is ready. Their users can open the chat widget immediately.

What your AI feature actually looks like

Enough architecture. Here is what your end user sees when you ship this.

caseflow-app.com/dashboard
CaseFlow
Dashboard
Open Cases (24)
CASE-4521 - Billing discrepancyCritical
CASE-4518 - API timeout reportsHigh
CASE-4515 - Feature request: exportsLow
CASE-4509 - Vendor integration delayHigh
SLA Status
On track: 18At risk: 4Breached: 2
CaseFlow AI
what should I focus on today?
3 cases need attention:
CASE-4521 SLA breach in 2 hours. No update since 9am.
CASE-4518 Escalated by customer. Priority mismatch with triage.
CASE-4509 Waiting on vendor since Monday. Recommend follow-up.
Want me to update the status on CASE-4521?
Confirm
Cancel

The chat panel is embedded in your existing UI. Your user does not leave your app. The agent has context about their open cases because it queried your API using their tenant's credentials. The confirmation buttons appear because the agent is about to do a write operation, and writes always require user approval.

slack-notification.app
AI
CaseFlow AI Daily Digest
4 cases approaching SLA breach
CASE-4521 (2h), CASE-4490 (4h), CASE-4488 (6h), CASE-4472 (8h)
2 unassigned cases
CASE-4520 (High priority), CASE-4517 (Medium)
1 escalation needed
CASE-4518: customer escalated, current priority does not match severity.

Automations run on a schedule. This daily digest hits the team's Slack channel every morning at 8am. No one asked a question. The agent queried the API, applied the triage skill methodology, and surfaced what matters. Different tenant, different data, same skill.

Three surfaces, one agent
Chat Panel
Embedded in your app UI
User asks questions in natural language
Agent queries their data in real time
Write operations require confirmation
Streaming responses (real-time)
Automations
Scheduled or trigger-based
Daily digests, anomaly alerts, weekly reports
Output to Slack, email, webhook, or in-app
Each run queries systems fresh
Read-only by default (safe)
API Access
Programmatic agent access via HTTP
Build custom UIs on top
Trigger agent from your backend events
Same multi-tenant isolation
Same guardrails and audit

All three surfaces use the same agent configuration. Same skills, same knowledge base, same connections. You write it once. The chat panel, automations, and API access are delivery mechanisms. The intelligence is the same underneath.

The pricing question: how to charge for AI

Your finance team will ask this immediately. AI features have real marginal cost (model inference). You need to cover that cost and ideally make margin. There are five models ISVs are using right now.

1
Premium Tier Add-On

AI is a paid add-on. $15-50/user/mo on top of base pricing.

Pro: Clear revenue attribution
Con: Limits adoption to premium customers
2
Bundled (AI Included)

AI features included in all plans. Raise base pricing 10-20% to cover cost.

Pro: Maximum adoption, sticky feature
Con: Margin impact if usage is high
3
Usage-Based

Charge per conversation or per query. $0.05-0.25 per conversation.

Pro: Cost aligns directly with value
Con: Unpredictable bills scare customers
4
Seat-Based AI

Flat AI price per user. $10-30/user/mo regardless of usage.

Pro: Simple, predictable for everyone
Con: Does not reflect actual usage patterns
5
Hybrid (Most Common)

Basic AI included in all plans (a few conversations per day). Advanced features on premium tier: automations, custom skills, higher usage limits, priority model access.

Pro: Drives adoption + creates upsell path
Con: More complex to implement and communicate
What most ISVs choose
Most ISVs we talk to start with option 5: basic AI included in all plans, advanced features (automations, custom skills, higher usage limits) on premium. This drives adoption without scaring anyone. The base tier covers your inference cost. The premium tier generates margin.

White-labeling: your brand, not ours

Your customers should never see "Amodal." They see "CaseFlow AI" or whatever you name it. The assistant's personality, its visual identity, and its domain expertise all come from your configuration. We are the plumbing. You are the product.

widget-configuration-preview
Configuration
{
"name": "CaseFlow AI",
"primaryColor": "#6366f1",
"avatar": "/your-logo.svg",
"welcome": "Hi! I can help you
manage cases, check SLAs,
and triage your queue.",
"poweredBy": false
}
Result
CF
CaseFlow AI
Hi! I can help you manage cases, check SLAs, and triage your queue.
which cases are at risk?
4 cases at SLA risk:
CASE-4521 (2h), CASE-4490 (4h)...

Agent context sets the personality: "You are CaseFlow AI, an assistant for support teams using CaseFlow. You help users triage cases, track SLAs, and manage escalations." This is 1-2 paragraphs that define how the agent introduces itself and what it focuses on. Widget config handles the visual identity: colors, logo, name. Custom domain for the API endpoint is available on Enterprise plans.

The "Powered by Amodal" badge is optional. On the standard plan it appears in 8px text at the bottom of the widget. On Enterprise, it is removable entirely. Most ISVs remove it.

white-label-options
Widget name
"CaseFlow AI"
Widget config
Primary color
Any hex value
Widget config
Avatar / logo
Your SVG or PNG
Widget config
Welcome message
Custom greeting
Widget config
Agent personality
Who the agent is
Agent context
Domain focus
What matters to users
Agent context
Response style
Formal, casual, technical
Agent context
Powered-by badge
Show / hide
Plan-dependent
API domain
ai.yourapp.com
Enterprise plan

Security and compliance for multi-tenant AI

Your enterprise customers will ask about this before they buy your AI feature. Their security team will send a vendor assessment questionnaire. Their legal team will ask about data processing agreements. You need clear answers, not hand-waving.

compliance-checklist
Data isolation
Per-tenant encryption. No cross-tenant data access. Credentials decrypted only in runtime memory.
SOC 2 Type II
Audit logging on every tool call. Session recording. Immutable event stream.
GDPR
Data residency options. Right to deletion. Data Processing Agreement available.
PII handling
Field-level restrictions. Role-gated access. "never_retrieve" policy on sensitive fields.
Model training
Customer data is never used for model training by any provider. Zero-retention API agreements.
Write guardrails
All write operations require user confirmation. Bulk writes require itemized review.
Rate limiting
Per-user, per-tool rate limits. Max tool calls and session timeout enforced at SDK layer.
Access control
Role-based filtering. Tools and skills scoped by role before the model sees them.

Every tool call is logged: who made it, when, what was sent, what was returned. Sessions are recorded for replay and audit. Knowledge base proposals are tracked with full provenance. This is not an add-on. It is the default behavior of the platform.

What your security team will review
Before launch
Review connection files (which API endpoints the agent can call)
Review skill files (what methodology the agent follows)
Verify field-level restrictions on PII columns
Confirm write operations require user confirmation
Test cross-tenant isolation (attempt to access tenant B from tenant A)
Ongoing
Review audit logs monthly (tool calls, sessions, KB proposals)
Review KB proposals before approval (what the agent learned)
Monitor rate limits and usage patterns per tenant
Review new skill files before deployment
Credential rotation (standard process, no downtime)

The security review surface is small. Your team reviews connection files (which endpoints), skill files (which methodology), and field restrictions (which data is visible). Everything else is platform infrastructure with existing certifications. The review takes days, not weeks.

The implementation timeline

Four weeks from start to beta customers. Here is what each week looks like.

1
Week 1: Connect Your API
Your engineer + your API documentation
Write 3-5 connection files (your API endpoints, auth pattern, response format)
Write your first skill file (the methodology for your primary use case)
Set agent context (who the agent is, what it does)
Test in CLI with a development tenant
2
Week 2: Multi-Tenant Setup
Your engineer + your provisioning flow
Tenant provisioning API integration (create tenant when customer signs up)
Per-tenant credential configuration
Seed initial knowledge base (what your data fields mean, common patterns)
Test cross-tenant isolation (verify no data leakage)
3
Week 3: Widget Integration
Your frontend engineer + your design team
Embed chat widget in your app (React component, 10 lines of code)
White-label configuration (your brand, your colors, your name)
Internal team testing (your support team uses it daily for a week)
Fix skill gaps based on internal feedback
4
Week 4: Beta Launch
Your PM + 5-10 friendly customers
Enable for 5-10 beta customers (feature flag per tenant)
Collect usage data and feedback
Iterate on skill methodology based on real conversations
Measure: conversations per user, resolution rate, NPS impact
Prerequisite
This assumes you have a REST API already. If you don't, add 2-4 weeks for API development. The Amodal setup itself is days, not weeks. The time is in your API and your methodology.

What to tell your board

Board members ask specific questions. They want specific answers, not strategy decks. Here are the questions they will ask and the answers that will satisfy them.

"How much will this cost?"

Platform fee + usage-based inference. Model costs range from $0.02-0.08 per conversation depending on complexity. At 10,000 conversations per month across all tenants: $200-800/mo in model costs. The platform fee scales with your tenant count. Total first-year cost is a fraction of one ML engineer's salary.

"How long until we ship?"

4 weeks to beta with first customers. 8 weeks to GA. This is not a 12-month research project. One engineer handles the integration. One domain expert writes the methodology. The platform does the rest.

"Do we need to hire ML engineers?"

No. You need one engineer who understands your API to write connection files. You need one domain expert (often your best customer-facing person) to write the skill methodology. These are markdown files, not code. No training, no fine-tuning, no MLOps infrastructure.

"What if the AI says something wrong?"

Four layers of protection. First, skills define the methodology, so the agent follows your expert's reasoning, not generic patterns. Second, write operations require user confirmation (the agent recommends, the user decides). Third, field-level restrictions prevent the agent from accessing or displaying PII fields you mark as restricted. Fourth, the knowledge base corrects over time: when the agent encounters a false positive, it proposes a KB update so the mistake does not repeat.

"What's the competitive moat?"

Your methodology. The skill files encode how your product should reason about your customers' data. A competitor can copy the feature. They can copy the UI. They cannot copy 6 months of institutional knowledge accumulated in your knowledge base across 500 tenants. The methodology compounds. Every conversation makes the next one smarter.

cost-model-example
Example: 1,000 tenants, moderate usage
Avg conversations per tenant per month10
Total monthly conversations10,000
Avg cost per conversation (with context isolation)$0.04
Monthly model inference cost$400
Monthly platform feeVaries by plan
If you charge $10/user/mo premium$10,000/mo revenue at 1,000 users
$0.02
Low-end cost per conversation
4 wks
Time to beta
0
ML engineers needed
1
Integration engineer

Common mistakes ISVs make

We have seen these five mistakes across dozens of ISVs adding AI to their products. Each one is avoidable if you know to look for it.

1
Shipping a generic chatbot

"Ask me anything." Users do not know what to ask. They try one vague question, get one vague answer, and never come back. Adoption flatlines at 5%. The board concludes "AI does not work for our product." It does work. A chatbot without methodology does not.

2
Building the infrastructure yourself

6 months of context management, guardrails, multi-tenant isolation, streaming, audit logging, and session persistence. Meanwhile, your competitor shipped their AI feature using a platform and is iterating on the methodology. You are debugging context window compaction. The infrastructure is table stakes, not a differentiator.

3
Letting the AI compute domain logic

Risk scores, SLA calculations, anomaly detection, compliance checks. These belong in your backend. The AI reads results and explains them. It does not produce them. When the LLM calculates a risk score, it will be plausible and wrong. Your scoring engine is deterministic. The LLM is not.

4
Skipping the methodology

Connecting the API without writing a skill. The agent has access to everything but knows nothing about what matters. It can query every endpoint but has no opinion about what the data means. Skills are the methodology. Without them, you have an API proxy with a chat interface.

5
Launching to all customers at once

Beta with 10 customers. Iterate. Then expand. The knowledge base needs real-world data to mature. Your skill methodology needs edge cases you did not anticipate. Launching to 1,000 customers on day one means 1,000 customers experience the worst version of your AI feature. Start small. Let the system learn.

The knowledge base advantage

This is your long-term moat as an ISV. Not the AI feature itself (competitors will copy that). Not the chat widget (commodity). The knowledge that accumulates over time, across all your tenants, about how your product's data should be interpreted.

knowledge-flywheel
1. Session
User asks a question. Agent queries your API, applies skill methodology.
2. Discovery
Agent discovers a pattern the KB does not know. A new false positive, a baseline shift.
4. Smarter
Next session starts with better knowledge. Fewer false positives, better baselines.
3. Proposal
Agent proposes KB update. Admin reviews and approves (or auto-approved by policy).
12341 (repeat)

Knowledge lives at two levels. Application knowledge is shared across all tenants: what your data fields mean, common patterns worth detecting, known false positives that apply to everyone, your methodology for interpreting results. Tenant knowledge is specific to one customer: their baselines, their false positives, their team preferences, their past sessions.

After 50 tenants have been using the AI for 3 months, your application knowledge base has learned patterns that no competitor can replicate. This is institutional knowledge at the platform level. It compounds with every session, across every tenant. A new competitor shipping an AI chatbot tomorrow starts at zero. You started 3 months ago and have 50 tenants worth of real-world learning.

The flywheel
Session 1 is good. Session 51 is materially better. Session 500 is something a competitor cannot replicate without running 500 sessions of their own. This is not a technology moat. It is a data moat.
KB CategoryWhat it containsWho creates itExample
system_docsYour API endpoints, auth, response formatsAuto-generated from connectionsGET /cases returns {id, status, priority, sla_deadline}
methodologyWhat the data means, how to interpret itYour domain expert"Critical cases with no update in 4+ hours need escalation"
patternsKnown patterns worth detectingAgent discovers, admin approves"Monday mornings always have a spike in P1 tickets"
baselinesWhat "normal" looks like for this tenantAgent refines per tenant"Acme averages 12 new cases/day, 4-hour resolution"
false_positivesKnown benign anomalies for this tenantAgent discovers, admin approves"Acme's weekly batch import causes a false spike every Sunday"
historyPast sessions, resolutions, recurring issuesAgent proposes after sessions"Resolved billing issue by updating payment method on file"

The application-level categories (blue) are shared across all tenants. When the agent learns that Monday mornings always spike in P1 tickets, every tenant benefits from that knowledge. The tenant-level categories (green) are specific to one customer. Acme's batch import schedule does not apply to Globex. This separation is critical. It means the platform gets smarter for everyone while maintaining per-customer specificity.

What your engineering team actually maintains

The most common question from VP Engs: "How much ongoing work is this?" Here is the honest comparison between building from scratch and using the platform.

Build from scratch
Your team maintains all of this
Agent runtime and ReAct loop
Context window management
Context compaction and cleanup
Tool integration framework
Write operation guardrails
Multi-tenant data isolation
Chat widget (React component)
SSE streaming infrastructure
Audit logging system
Session recording and replay
Knowledge base storage and retrieval
Model provider integration
Rate limiting per user per tool
Role-based access filtering
Loop detection and recovery
15+ systems. 2-3 engineers ongoing.
Amodal platform
Your team maintains only this
3-5 connection files (your API endpoints)
1-3 skill files (your methodology, markdown)
Widget config (colors, name, avatar)
Tenant provisioning (API call on signup)
Knowledge base seeding (initial docs)
5 items. Part-time for 1 engineer.

Your engineering team writes connection files and skill files. Amodal handles the runtime, context management, multi-tenant isolation, streaming, audit, and model provider integration. When the model provider ships a new model, you change nothing. When Amodal improves the runtime (better compaction, faster streaming, new guardrail options), you get the improvement automatically. Your team stays focused on your product.

change-impact-matrix
When something changes, who does the work?
New model from OpenAI/Anthropic/GoogleAmodalZero effort from you
You add a new API endpointYour teamAdd one connection file (30 min)
You want a new use caseYour domain expertWrite a new skill file (1-2 days)
New customer signs upAutomaticProvisioning API call from your backend
Customer requests credential rotationYour teamUpdate credentials via API (5 min)
Platform adds new guardrail optionsAmodalAvailable automatically, opt-in
You need a new automationYour teamConfigure via admin UI (15 min)
Context management improvesAmodalDeployed server-side, no SDK change

Case studies: three SaaS verticals

Three examples of how different SaaS products would embed AI using the same platform. Different data, different methodology, same architecture.

CaseFlow (Case Management SaaS)
1,000 customers. Support ticket triage agent.
caseflow.app/dashboard
Case Queue
CASE-4521 Billing discrepancyCritical
CASE-4518 API timeoutsHigh
CASE-4515 Feature requestLow
CaseFlow AI
3 cases approaching SLA breach. CASE-4521 has no update in 6 hours. Recommend escalation.
Skill: Case Triage. Prioritize by SLA proximity, customer tier, case complexity.
Connections: CaseFlow API (cases, contacts, SLAs), Slack (notifications).
Automation: Daily digest at 8am. SLA breach alert at 2-hour threshold.
MetricDash (Analytics SaaS)
500 customers. Anomaly explanation agent.
metricdash.io/analytics
Key Metrics
Signups
-34%
Revenue
+8%
Churn
2.1%
MetricDash AI
Signups dropped 34% this week. Correlates with registration page 500 errors starting Tuesday. Want me to create a Jira ticket?
Skill: Anomaly Explanation. Identify metric deviations, correlate with events, suggest root cause.
Connections: MetricDash API (metrics, events), Jira (ticket creation), Datadog (error rates).
Automation: Anomaly scanner every 4 hours. Weekly trends report on Monday mornings.
DealTrack (CRM SaaS)
800 customers. Pipeline review agent.
dealtrack.com/pipeline
Pipeline (Q1)
Qualified
12 deals
Proposal
8 deals
Negotiation
4 deals
Closed
6 deals
DealTrack AI
4 deals stalled in Proposal for 14+ days. Acme Corp has not responded to the proposal email. Recommend a follow-up call.
Skill: Pipeline Review. Identify stalled deals, assess close probability, recommend next action.
Connections: DealTrack API (deals, contacts, activities), Gmail (email history), Calendar (meeting data).
Automation: Pipeline review every Monday. Stale deal alerts when no activity for 7+ days.

Same platform. Same architecture. Different data, different methodology, different user experience. The CaseFlow agent knows about SLA thresholds. The MetricDash agent knows about metric baselines. The DealTrack agent knows about sales cycle stages. All of this is encoded in skill files and knowledge base documents, not in code.

CaseFlowMetricDashDealTrack
Connection filesCases, contacts, SLAsMetrics, events, dashboardsDeals, contacts, activities
Primary skillCase TriageAnomaly ExplanationPipeline Review
Primary automationSLA breach alertsAnomaly scanner (4h)Stale deal alerts (7d)
Integration time9 days11 days8 days
Files written5 connections, 2 skills4 connections, 2 skills4 connections, 1 skill

The 90-day plan

Here is the full timeline from "we decided to add AI" to "GA launch to all customers." Three phases. Each has a clear milestone.

I
Days 1-30: Foundation
Milestone: Beta live with 10 customers
Engineering (1 dev)
Write connection files for your core API (3-5 endpoints)
Set up multi-tenant provisioning
Embed chat widget in your app
Configure white-label branding
Domain Expert (1 person)
Write first skill file (primary use case methodology)
Set agent context (identity and focus areas)
Seed knowledge base with initial domain docs
Internal testing for 1 week before beta
II
Days 31-60: Iterate
Milestone: 50 customers, second skill, refined KB
Based on beta feedback
Refine skill methodology (update based on real conversations)
Review and approve KB proposals from the agent
Write second skill (next most requested use case)
Growth
Expand to 50 customers (next cohort of friendly accounts)
Add first automation (daily digest or anomaly alert)
Track adoption metrics: conversations/user, resolution rate
III
Days 61-90: Scale
Milestone: GA launch to all customers
General availability
Enable AI for all customers (phased rollout by tier)
Launch premium AI tier (automations, custom skills, higher limits)
Publish integration to your own marketplace
Measurement
Measure adoption rate, NPS impact, churn reduction
Report to board: unit economics, customer feedback, competitive position
Plan next quarter: additional skills, more automations, deeper integrations
Summary
4 weeks
To beta
1 engineer
For integration
1 expert
For methodology
$0.02-0.08
Per conversation
Next
This is Part 1: how to think about embedded AI for your SaaS product. Part 2 covers the technical implementation: writing connection files, building skills, configuring the widget, and provisioning tenants via the API. Every command is real. Every file is shown.
Next steps
If you are evaluating

Read Part 2 for the technical walkthrough. See exact connection files, skill files, widget code, and API calls. Everything shown is real, runnable code.

If you are ready to start

Sign up for a dev account. Connect your API. Write your first skill. You can have a working prototype in a day. Multi-tenant setup takes another day.

If you need to convince your team

Forward this post. The board FAQ (section 10) and cost model (section 10) are designed to answer the questions your CFO and CTO will ask.

Questions about embedding AI in your SaaS product? We have done this with ISVs across case management, analytics, CRM, fintech, and healthcare. The patterns are consistent. The timeline is real. Reach out at team@amodalai.com.