Embedded AI analytics for SaaS
An AI feature on your customers' data, live in your product this week. No eng sprint, no AI team.
A Papercrane dashboard inside a SaaS product's own UI. Your domain, your logo, your chrome.
Running in production

DataViss ships embedded Papercrane dashboards to their customers, branded as part of their platform.
Your board wants an AI story. Your customers are asking what's coming. Your engineers are six sprints deep on the rest of the product.
Everyone's shipping AI this year
Your board wants the story. Your prospects ask about it. Your customers want features. It's not a mandate you can keep slipping.
Analytics is the obvious first win
AI on your customers' data is the feature they already want and the one your team most often pushes down the queue. An eng sprint most teams can't spare.
Generic embeds feel generic
A Metabase iframe looks like a Metabase iframe. A generic chatbot looks like a chatbot. Neither is the product you're building.
1
In your Papercrane admin, pick the environment to embed and set your allowed domains. You get a clientId and a secret.
2
Your server calls the embed sessions API with the secret. Pass your customer's ID so every request is audited. You get back a one time URL that expires in 60 seconds.
const response = await fetch(
"https://embed.papercrane.ai/api/embed/sessions",
{
method: "POST",
headers: {
"Authorization": "Bearer embs_your_secret",
"Content-Type": "application/json"
},
body: JSON.stringify({
external_user_id: customer.id,
display_name: customer.name
})
}
)
const { embed_url } = await response.json()3
The embed loads from embed.papercrane.ai, themed with your CSS, logo, and color palette. No Papercrane chrome.
<iframe
src={embed_url}
style={{ width: "100%", height: "100vh", border: "none" }}
/>An AI that speaks your customers' data.
The agent reads the schema, knows the metrics, and answers in context. Not a generic chatbot bolted onto an iframe.
Looks like you built it.
Per customer CSS theming with full control. Your colors, fonts, logo, spacing. Not just a color override.
Isolated per customer.
Each customer gets their own embed integration, environment, and data source credentials. No shared dashboards, no cross tenant access.
Secure by design.
60 second bootstrap tokens, locked to your approved domains, on a separate subdomain isolated from the main app. Audit logs carry your external_user_id. SOC 2 in progress.
See full security details →When Papercrane embed fits, and when it doesn't.
Fits: SaaS products shipping dashboards to paying customers, branded as part of the host product, built and iterated in chat.
Doesn't fit: one shared dashboard that many customers look at with different slices of the data inside it. Papercrane gives each customer their own isolated environment instead. Also not a fit if you need dashboards generated purely programmatically without the AI.
Book a demo and see it running inside a real host product.
Flat pricing, not per viewer.
See pricing →