For software vendors

Ship an AI assistant inside your software.

One line of HTML puts Integral in the bottom-right corner of your product. Your users ask questions about their own data, run the actions your software already exposes, and schedule the work that repeats — without leaving the screen they are on.

AskDoScheduleThree capabilities, one bubble.
One line, just before </body>
<script async
  src="https://integral.meteorit.rs/embed/v1.js"
  data-integral-embed="emb_YOUR_KEY"
  data-user-id="42"
  data-user-hash="9f2c…"></script>

Nothing else changes in your app. No SDK, no rebuild, no layout shift.

1
script tag, before </body>
0
packages to install
0
changes to your front-end code
0
bytes of chat loaded until someone opens it

01

One panel. Ask, then do, then schedule.

The whole run is over in under twenty seconds, then repeats itself in the next kind of software. The panel is a mock-up of the real one, down to the corner it opens from.

An animation of a business application with the Integral assistant open in its bottom-right corner: a question is asked, an action is approved, and a recurring job is scheduled.
Product type
  1. Runs on its own. Click a word or a product type to jump straight to it.

app.your-erp.com/receivables

Receivables

InvoiceStatusCustomerOverdue
INV-2210DisputedDelta d.o.o.62 days
INV-2231OverdueVektor Group48 days
INV-2244OpenMiros Trade19 days
INV-2251OpenAlfa Logistika7 days

02

Three things your users can do, without leaving your product.

Ask

Answers from their own data, with the sources named.

A question in plain language — "which invoices are past due?", "why did this vehicle miss its service?" — answered from the records your software holds. Every answer lists the records it came from, so the user can check it rather than trust it.

  • Reads only what you connect
  • Scoped to the signed-in user
  • Cites every source

Do

The actions your product already exposes.

You choose which operations the assistant may run — post a credit note, move a deal, book a service slot, merge two tickets. Anything consequential comes back as a confirmation card first: the assistant proposes, the person decides, your software executes.

  • You pick each action
  • Approval before anything is written
  • Runs as that user, in your API

Schedule

The work that repeats, set up by asking for it.

"Email me the aging report every Monday at 08:00." That sentence becomes a named, visible automation — steps, cadence, next run — that the user can open, pause or change later. No cron job, no ticket to your team.

  • Plain-language cadence
  • Visible steps, not a black box
  • Pause or edit at any time

03

Built for the software you already sell.

The assistant has no opinion about your domain. It reads the systems you connect and runs the actions you expose, so the same panel fits four very different products.

ERP & accounting

Invoices, aging, stock, purchase orders. Finance staff stop exporting to a spreadsheet to answer one question.

"Which customers are over 60 days, and how much is that in total?"

CRM & sales

Pipeline, accounts, activity history. A rep asks what slipped and why instead of building a report nobody reads twice.

"Log the call with Delta and move it to Negotiation."

Fleet & field service

Vehicles, jobs, technicians, service intervals. A dispatcher asks the fleet a question instead of scanning four screens.

"Book the van that is closest to due for service on Thursday."

Ticketing & service desk

Queues, SLAs, knowledge base. An agent gets the history and the fix in one answer, then acts on it in the same panel.

"Merge this into #4468 and reply to the customer."

Something else — HR, LIMS, logistics, a vertical nobody else builds for? It is the same wiring.

04

Four decisions, then one line of HTML.

Everything below is configured in Integral, not in your codebase. Changing what the assistant may read or do is a setting, not a release.

  1. 1

    Choose what it may read

    Documents, a database, your API, a connector — whatever you point it at. An assistant with nothing selected answers nothing: there is no default access.

  2. 2

    Choose what it may do

    Each action is switched on one at a time and defaults to requiring a verified visitor. Nothing is enabled because it happened to be available.

  3. 3

    Tell it who the visitor is

    Your server signs the user id with a shared secret and passes it to the snippet. That signature is what lets the assistant look up someone’s own records — without it, anyone could claim to be anyone.

  4. 4

    Paste the snippet

    One script tag before </body>. It draws a launcher in a shadow root and loads nothing else until someone opens it.

The whole integration
<script async
  src="https://integral.meteorit.rs/embed/v1.js"
  data-integral-embed="emb_YOUR_KEY"
  data-user-id="42"
  data-user-hash="9f2c…"></script>

Compute the signature on your server. A secret in page source is not a secret.

05

What stays yours.

The assistant runs in your product, on your domains, for your customers. These are the parts you set — and the one part you cannot.

Your look, in your corner

Accent colour, header title, greeting, suggested questions, light or dark, which corner and how far from the edge. One thing is fixed: a small "Powered by Integral" line sits under the composer. It is not configurable — it is the bargain that keeps the surface cheap.

Your domains only

The assistant loads on the domains you list and nowhere else. A copied snippet on someone else’s site does nothing.

Your users’ permissions

A verified visitor sees their own records and no one else’s. An anonymous one gets the public answers and nothing account-specific.

Isolated from your app

The panel is an iframe. Your CSS cannot break it, its CSS cannot break your checkout, and it can never become an XSS pivot into your origin.

Costs nothing until opened

A closed assistant is one cached script and a preconnect. The chat bundle is not fetched until a visitor clicks. Everything is position: fixed, so there is no layout shift.

Hard limits, not soft ones

Monthly budget, messages per conversation, messages per visitor per day, maximum message length. When a limit is reached the assistant stops replying rather than continuing to spend.

Told, not hidden

Every visitor is told they are talking to an AI on first contact — the EU AI Act transparency duty, built in rather than left to you.

Your data stays your data

Conversations are never training data. Retention is a setting. For customers who cannot send anything to a cloud model, the same platform runs against an on-premise agent.

06

How this works between us.

You keep the customer

It is your product, your contract, your support desk. We are the layer behind the panel, not a second vendor your customer has to manage.

One workspace per customer

Each of your customers gets their own isolated workspace — their sources, their actions, their limits, their data. Nothing is shared between two of your customers.

We work with your team

The first integration is done with your developers, not thrown over a wall: which systems to connect, which actions to expose, what the assistant should refuse to do.

Tell us what you sell and we will show you the assistant inside it.

07

The questions vendors ask first.

01

Do we have to change our application?

No. One script tag before </body>. The assistant reaches your data through connections configured in Integral, not through code you write into your front end.

02

Can it write to our system, or only read?

Both, and they are separate decisions. Reads are what you connect; writes are actions you switch on one at a time, each of which asks the user to approve before it runs.

03

Which model does it use?

Whichever you pick — Anthropic, OpenAI, Google, Mistral, Groq, DeepSeek, Cohere, Azure OpenAI, or a model you host yourself. It is a setting per workspace, not a lock-in.

04

What happens when it does not know?

It says so, and the question is logged as a gap. That list is the most useful thing on the analytics screen: every entry is either a document you have not added or a system you have not connected.

05

Can we run it on our own infrastructure?

Yes — talk to us. The same platform runs against an on-premise agent for customers whose data cannot leave their building.

Let us put it in your product.

Send us what your software does and who uses it. You will get back a working assistant on a test page — not a slide deck.