Stirel

Agents, adapted to your business

Knows your business.
Remembers your customer.

An agent built on everything your business already knows, that recognises the customer who walks in and answers on its own — on your website, in your shop and on WhatsApp.

Alba is in the corner of this page. Put her to work.
Runs on
  • WordPress
  • WooCommerce
  • Shopify
  • Webflow
  • Squarespace
  • Framer
  • Next.js
  • plain HTML

01 · Knows your business

Your pages, prices, catalogue, how your trade reads a problem and what you answer when someone pushes back on price. Everything you know, in the agent — and kept current by us, not by you.

02 · Knows who is asking

What they looked at, what they asked last time, what they have already bought from you. The second visit does not start from zero, and a customer is not asked to repeat what they already told you.

03 · Answers on its own

No queue, no waiting for a person, no office hours. It hands over only when something would bind your business — and that decision is code, not a mood.

Only what you have published.
Never invented.

10
checks that run before the model, in code
3
surfaces: website, shop, WhatsApp
1
database per business, not per row
0
shared tables with another client

Guardrails

A prompt is not a control.

This is what lets her run without anyone watching. Asking a model politely to behave is not a guardrail — it is a preference, and it fails on the day it matters. Here the checks are not instructions to the model: they run before it, as code, and what fails one of them never reaches the model at all.

Adapted

Not a generic agent with your logo on it.

Two things make an agent yours, and most of what is sold as one has neither: it has to know what your business knows, and it has to know who it is talking to.

Everything your business knows

Your pages and prices, your catalogue, your Google listing — and the part that is not written down anywhere: how your trade reads a problem, and what you have decided to say when someone pushes back on price. That is the difference between an agent that recites your website and one that answers like your best person on the phone.

It recognises the customer who walks in

What they looked at, what they asked on their last visit, whether they have been here before. The second conversation does not start from zero, and nobody is asked to explain again what they already explained.

In a shop, it knows what they bought

A customer with an account gets answers about their own orders — number, status, what was in them. The filter is their customer id, which is the line between "your order is on its way" and showing somebody another person's purchase.

And it stays yours

That memory lives in two tables of your own database, not ours. It is your customers' history, so it sits in your installation and never leaves it.

A generic assistant answers the same way to a first-time visitor and to someone who has spent four thousand euros with you. That is the whole gap.

The agents

Three places your customers already are.

One agent, one set of rules, one desk behind it. What changes is where she stands and what she is allowed to reach.

Alba Ask

Website

Works the questions visitors actually ask, from what your business has already published.

  • Opens differently on each page — someone reading your prices is not asking what someone reading your about page is asking
  • Takes a way to reach them when she does not know, instead of guessing
  • Speaks the languages your site speaks, and can be spoken to out loud
  • Every month: what people asked, what they did not find, and what they took away

Alba Shop

Shop

Everything in Alba Ask, reaching into your live catalogue: real products, your prices, your stock.

  • Shows products that exist, at the price your shop is charging today
  • What is out of stock is said to be out of stock, not sold
  • Where your shop does not count units, she does not invent a number
  • Anything with sizes or formats goes to its own page, never straight to the basket

Alba Direct

WhatsApp

Works your business number, inside the rules you set, on Meta's official Cloud API.

  • Every guardrail above runs before a single token is spent
  • Answers on your number on its own, inside the rules you set
  • Voice notes transcribed; anything she cannot read goes to a person
  • Meta's messaging window is enforced in code, before sending

Install

One line, or a plugin. Nothing migrates.

Your site stays where it is, on the platform it is on. Nothing is rebuilt, nothing is moved, and nothing we install is able to change what you publish.

Any website

A single tag

<script defer src="https://ask.stirel.com/ w/your-key/widget.js"> </script>

Works on anything that renders HTML — a hand-built site, Webflow, Squarespace, Framer, Shopify, a Next.js app.

  • Loads after your page, from a separate domain — your site never waits for us
  • Rendered in a Shadow DOM, so our styles cannot touch yours and yours cannot break ours
  • If we were unavailable, your page renders exactly as it does now

WordPress

A plugin

wp-admin → Plugins → Add New Upload espejo-concierge.zip Activate

Same agent, plus visitor memory that lives in your own database instead of ours.

  • Creates exactly two tables in your install: visitors and events
  • They carry your database prefix. You can open them in phpMyAdmin and read them
  • Requests are signed server-to-server. The visitor's browser never calls your site directly

WooCommerce

Live catalogue

Products read Prices read Stock read Anything else

The plugin detects WooCommerce and the agent starts answering from real catalogue data instead of a description someone typed last year.

  • The price the shop is charging today, resolved in that visitor's context
  • Stock only where your shop actually counts it
  • Read only. It cannot change a product, a price or an order

On Shopify, said plainly: the agent runs on a Shopify storefront like it runs on any site — it is one tag. What is not built yet is the live catalogue connector for Shopify: today that reads WooCommerce only. On Shopify the agent answers from what your store publishes, not from its stock table. It is on the roadmap, and we would rather you read that here than find out afterwards.

Deployment

You are not handed a tool to maintain.

The reason most of these end up answering with last year's prices is that somebody has to keep them fed, and nobody does. That part is ours.

We read what you publish

Your pages, prices, catalogue and Google listing. That becomes what she may say — and nothing else does.

We write the rules

Facts, how your trade reads a problem, and what you have decided to answer when someone pushes back on price.

We adapt her to you

Your trade's way of reading a problem, and what you answer when someone pushes back on price. That is what stops her sounding generic.

We keep her current

A price changes on your site, it changes in her the same day. Every month you get what people asked and did not find.

Control

Autonomous, and still yours.

She runs on her own. That only works if you can see what she does, cap what she spends and stop her in one click — so all three are built in.

A ceiling you set, enforced in code

A daily cap and a monthly one. Tokens and price are recorded on every single call, so what you are looking at is spend, not a count of messages. At the ceiling she stops spending and hands everything to a person.

Two roles, and the endpoints enforce them

An owner and a member see different things, and it is not the interface that hides them — the endpoints themselves refuse the request.

Escalation is a first-class outcome

Handing over is not the agent failing. It is one of the things it is built to do, and the contact arrives with what was said and what she relied on.

The desk, not a dashboard

Conversations, escalations, what was asked and not known, and spend against your ceiling. The point of it is the questions your site could not answer.

Architecture

Where things actually live.

Worth being specific about, because most answers to this question are vague on purpose. If any of the below is not true for your setup, it is on us to say so before you sign anything.

Your visitors' memory stays on your server

What someone looked at, asked or bought lives in two tables of your own installation and does not leave it. Those are your customers' details, not ours.

No shared table with another business

Every business gets its own store. A missing filter cannot leak one client's conversations into another's desk, because there is nothing shared to filter.

Nothing is silently deleted

Drafts a person overrode are marked, not removed. Blocks and unblocks are recorded. That record is what makes the thing defensible.

One database per business, not one row per business

Your conversations live in their own file on our server, named after your business. There is no shared table with a tenant column — the usual way one client's data ends up in another client's screen is a filter someone forgot to write, and here there is nothing shared to filter.

Two tables in your WordPress, and you can read them

On WordPress the visitor memory is visitors and events, created with your own database prefix. Open them in phpMyAdmin whenever you like. Deleting the plugin is how you take that data back — it was never anywhere else.

Signed server to server

The visitor's browser never calls your site's data endpoints. It talks to us, we talk to your install, and every request is signed with a shared secret. A public endpoint the widget could call would put your catalogue and your visitor memory behind nothing but obscurity.

Nothing installed can change your site

The agent reads what you publish. It has no route to publish or edit anything, by construction rather than by permission.

What compounds

The answering is the visible part.

An agent that only answers is worth what a plugin is worth. What makes this worth running is the loop underneath it: every question your site could not answer is a gap in your business that nobody was writing down, and now somebody is.

01 · It answers

From what you publish, in the language they wrote in, on the page they are standing on.

02 · It records the miss

Every time she does not know, that question is kept — with the page it was asked on.

03 · You get the list

What was asked and not found. Usually a page, an FAQ or a product description missing from your site.

04 · The site gets better

You publish the answer once. She knows it the same day — and so does every visitor who never asks.

That last part is the whole argument. Most people who cannot find something do not ask; they leave. The ones who do ask are telling you what the silent ones came for.

Limits

What it will not do.

Said here rather than discovered later.

On the roadmap

What is being built, said plainly.

Listed here because a roadmap presented as a feature list is how people end up buying something that does not exist yet. None of the below is available today.

Questions

The ones people actually ask.

How is this different from a chatbot?

A chatbot is a model with a prompt in front of it: everything it must not do is a request, and a request is not a control. Here the checks run as code before the model and again after it, and a check that fails removes the option from the agent's reach rather than asking it to abstain. That, plus the fact that keeping it current is our job and not yours.

What happens when she does not know something?

She says so and takes a way to reach you, then hands it to a person. She does not fill the gap with something plausible. Every month you get the list of what was asked and not found — which is usually a page, an FAQ or a product description that is missing from your site.

Can she get it wrong?

She can. That is why she answers only from what you publish, why she says what she relied on, and why anything that would create an obligation — a guarantee, a discount that does not exist, a promise about results — is handed to a person instead of answered. And if you want a person to approve her replies for the first week, that switch is there.

Do I have to keep her updated?

No. That is the part we run. When something changes on your site, it changes in her the same day.

What stops it running up a bill?

A daily cap and a monthly one that you set. Tokens and price are recorded on every call, so the number you look at is money rather than a count of messages. At the ceiling she stops spending and hands everything to a person — the recording carries on.

Does she work in more than one language?

She speaks the languages your site speaks, and answers in the language the visitor writes in. She can also be spoken to out loud and answer with a voice.

Will she slow my site down?

She loads after your page, from a separate address. If she were unavailable, your site would carry on exactly as it does now.

What do I need on my side?

A published website. For the shop version, a catalogue we can read. For WhatsApp, a business number and access to your Meta account. Nothing is installed that can publish or change your site.

Does it work on Shopify?

The agent itself, yes — it is one script tag and it runs on a Shopify storefront like it runs anywhere. What is not built yet is the live catalogue connector for Shopify: reading real products, prices and stock is WooCommerce only today. So on Shopify she answers from what your store publishes rather than from its stock table. The Shopify connector is on the roadmap.

Does it work on WordPress?

Yes, and it is the setup with the most in it. There is a plugin: you upload it and activate it. It creates two tables in your own database — visitors and events, with your prefix — so the visitor memory lives in your install rather than ours. If the site runs WooCommerce, the plugin detects it and the agent starts answering from your real catalogue.

My site is hand-coded HTML. Can I use it?

Yes. One script tag before the closing body tag and you are done. That is exactly how this page runs it. It works the same on Webflow, Squarespace, Framer, a Next.js app or anything else that renders HTML — there is nothing to install and nothing to migrate.

Where does the database live?

In two places, on purpose. Conversations live on our server in a file of their own, one per business — not a shared table with a column saying which client a row belongs to. Visitor memory on WordPress lives in your database, in those two tables, and never leaves it. Deleting the plugin is how you take it back, because it was never anywhere else.

Will it clash with my theme or slow the page?

It renders inside a Shadow DOM, so our styles cannot leak into your theme and your theme cannot break the widget. It loads after your page, deferred, from a separate domain. If we were unavailable, your page would render exactly as it does now.

Who can read my customers' conversations?

You, from your desk. Two roles, and it is the endpoints that enforce them rather than the interface hiding buttons. Requests between us and your site are signed with a shared secret, and the visitor's browser never calls your data endpoints directly.

What happens if I want to leave?

Remove one script tag, or deactivate the plugin. Nothing was rebuilt, nothing was migrated and nothing of yours lives somewhere you cannot reach. The WordPress tables are in your own database the whole time.

How much does it cost?

Not published here. It depends on which of the three you want and how much conversation your site actually gets, so it is agreed in a conversation rather than guessed from a table.