For software vendors
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.
<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.
01
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.
Runs on its own. Click a word or a product type to jump straight to it.
| Invoice | Status | Customer | Overdue |
|---|---|---|---|
| INV-2210 | Disputed | Delta d.o.o. | 62 days |
| INV-2231 | Overdue | Vektor Group | 48 days |
| INV-2244 | Open | Miros Trade | 19 days |
| INV-2251 | Open | Alfa Logistika | 7 days |
02
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.
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.
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.
03
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.
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?"
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."
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."
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
Everything below is configured in Integral, not in your codebase. Changing what the assistant may read or do is a setting, not a release.
Documents, a database, your API, a connector — whatever you point it at. An assistant with nothing selected answers nothing: there is no default access.
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.
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.
One script tag before </body>. It draws a launcher in a shadow root and loads nothing else until someone opens it.
<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
The assistant runs in your product, on your domains, for your customers. These are the parts you set — and the one part you cannot.
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.
The assistant loads on the domains you list and nowhere else. A copied snippet on someone else’s site does nothing.
A verified visitor sees their own records and no one else’s. An anonymous one gets the public answers and nothing account-specific.
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.
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.
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.
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.
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
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.
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.
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
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.
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.
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.
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.
Yes — talk to us. The same platform runs against an on-premise agent for customers whose data cannot leave their building.
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.