Skip to content
Embed

Your customers keep asking for analytics and AI on their own data. Building it yourself turns into a second product to maintain.

Analytics and AI in your product, rolled out your way.

Embed one dashboard, a chat dock or the whole app, turn each piece on or off from a visual configurator, and send your engineers back to your product after one backend call.

Your customers ask. Your product answers.

In the app

The Embed Configurator, in Querri.

These are screenshots of Querri's Embed Configurator with a demo company's data. Every change shows in the live preview before you copy the snippet.

The Embed Configurator with the Dashboard viewer preset: the Monthly Sales Review dashboard in the live preview, with net revenue, orders, average order value, repeat customer rate and revenue by channel
The Dashboard viewer preset: one dashboard, as your customers would see it in your product.
Turn the chat, the rail and each item on the rail on or off.
The same embedded chat, switched to the dark theme.
Preview the embed at phone width before it ships.
Copy the snippet. It carries every choice you made.
Embed Configurator

From one dashboard to the whole app. You choose what's on.

Pick a single dashboard, a chat dock, the Library or the whole app. The data, definitions and AI analysis come with it, so there's no model to build first.

  • Set the rail, header, chat dock, composer, a welcome title with prompt buttons and the theme.
  • Watch a live preview change as you go, then copy the snippet.
  • Once the SDK is in, changing what your customers see is a settings change, not an engineering project.
Each customer sees only their data

Every one of your customers is a real user, with their own filter.

Your backend makes one call, getSession(), in Node, Python or PHP. It finds or creates the person by your own user ID, attaches their row filter and returns a short-lived session token. Your API key stays on your server.

The filter becomes a real access policy, so chat, projects, uploads and dashboards are filtered by the same engine as the main app. There's no separate embed security to get wrong.

Questions from your own screens

Put a question button on your own screens. It asks Querri for you.

With sendPrompt(), a button in your app, like "Explain this month", sends a question to the embedded chat. The configurator decides whether your users see the AI's reasoning and plans, or only the answer.

Ready for your security review

Your customers' data stays theirs.

Allowed domains only

Allowed Domains limits which sites can host the embed.

Admin settings stay out of reach

Embedded users can't open API keys, billing, security or other admin settings, even by typing the URL.

No recording by default

Session replay and user identification are off inside the embed unless you turn them on.

Certified, and never used for training

SOC 2 Type II, HIPAA and ISO 27001:2022 certified. Your data never trains a model.

How it works

Three steps. Then your engineers get back to your product.

  1. 1

    Choose what shows

    In Settings, Embed, open the configurator. Turn on a dashboard, the chat dock, the Library or the whole app, preview it and copy the snippet.

  2. 2

    Start a session per user

    Your backend calls getSession() with your user's ID and an optional row filter, and hands the browser a short-lived token.

  3. 3

    Drop in the component

    Use the React, Vue, Svelte or Angular component or the script-tag build, or the PHP package for Laravel, Symfony and WordPress.

Who it's for

One rollout, three groups who care how it goes.

Data consumer

Your customers

They ask the product they already use about their own data, and only ever see their own rows.

Data owner

Your product team

Decide what to turn on and when: start with one dashboard, add the chat dock next quarter, open the full app to power users.

Data team / IT

Your engineers

One backend call in Node, Python or PHP, a component for React, Vue, Svelte or Angular, a short-lived token in the browser, and the same row filters as the main app.

FAQ

What product and engineering teams ask

What can we embed?

Anything from a single dashboard to the full Querri app: a dashboard, the chat dock, the Library or the whole app. Turn each piece on or off in the Embed Configurator, preview it and copy the snippet.

How does each customer see only their own data?

Your backend starts a session for each user by your own user ID and can attach a row filter, such as tenant_id = acme. That filter becomes a real access policy, so chat, projects, uploads and dashboards are all filtered by the same engine as the main app.

How much engineering work is it?

One backend call, getSession(), in Node, Python or PHP, plus a component for React, Vue, Svelte or Angular, a script-tag build, or the PHP package for Laravel, Symfony and WordPress. After that, what your customers see is a settings change.

Does our API key ever reach the browser?

No. Your backend exchanges the API key for a short-lived session token, and the browser only gets that token. Allowed Domains limits which sites can host the embed.

Can embedded users get into admin settings?

No. API keys, billing, security and other admin settings stay out of reach inside the embed, even if someone types the URL.

Are our users recorded or tracked inside the embed?

Not unless you turn it on. Session replay and user identification are off by default inside the embed.

We already embed dashboards from a BI tool. Why add this?

Keep them. Embedded dashboards answer the questions someone built them for. Querri adds AI your customers can ask anything, on data and definitions it already understands, without a model to build first.

For your team. And your customers too.

Start with one dashboard. Add the AI when your customers are ready for it.