EVO Support

AI-first.
Human-led.

EVO Support answers your customers from approved knowledge and their own records, and brings in your team the moment a person should decide.

Why hasn't my booking been confirmed yet?
Lina, signed in on Marbel Hotels, 09:16
EVO Support

Your payment is still being reviewed, which can take up to 24 hours. Booking BK-48213 was placed at 09:14 today, so you should have your confirmation by tomorrow morning.

If it hasn't arrived by then, reply here and I'll bring in the Marbel team.

From
  • Booking confirmationsHelp Centre
  • Booking BK-48213checked just now

Sara from Marbel Support can step in at any time.

One question. Everything behind the answer.

What happens between a customer's message and a useful reply, and where a person comes in.

  1. 1

    A customer asks.

    Lina is signed in on Marbel's booking page. EVO Support knows who she is because Marbel's server said so, not because her browser did.

  2. 2

    The request is understood.

    Before anything is looked up, EVO works out what the message is really asking and what it would take to answer well.

  3. 3

    Approved knowledge appears.

    Only published, customer-visible articles are searched, and every passage is checked against the current version before it can be used.

  4. 4

    Her own record, and only that.

    A fixed, read-only lookup returns the booking that belongs to Lina. Card details and internal notes never reach the model.

  5. 5

    A useful answer, with its sources.

    The reply is built from the policy and the record, and it says where each part came from.

  6. 6

    A person when it matters.

    EVO can read the booking but can't change it. The conversation moves to Sara with everything already assembled. Nothing is repeated, and AI replies stop.

Marbel HotelsSupport
Marbel HotelsSara joined
Why hasn't my booking been confirmed yet?
09:16

Checking the confirmation policy and your booking

Assistant

Your payment is still being reviewed, which can take up to 24 hours. Booking BK-48213 was placed at 09:14 today, so you should have your confirmation by tomorrow morning.

If it hasn't arrived by then, reply here and I'll bring in the Marbel team.

From
  • Booking confirmations
  • Booking BK-48213
Can you just cancel it, then?
09:17
Assistant
I can see your booking, but I can't change it from here. I've asked the Marbel team to take over. They'll have everything we've covered.
Sara, Marbel Support
Hi Lina, Sara here. I can cancel this for you. Just to confirm, it's the Fes stay on 14 to 16 October?
09:19
Behind the answerEVO Support answering
Sara has the conversationAI replies paused
Customer

Lina K.

Workspace
Marbel Hotels
Signed in
Through Marbel, 09:12
Verified by Marbel's server, not by the browser
Understood as

A booking that hasn't been confirmed

Needs the confirmation policy and the current status of her booking.

Approved knowledge

Booking confirmations

Confirmation is sent within ten minutes of payment. If the payment is under review, confirmation can take up to 24 hours.

Help Centre, published 12 Aug 2026, customer-visible
Customer record, read-only

Booking BK-48213

Status
Payment under review
Placed
Today, 09:14
Stay
Marbel Riad, Fes, 14 to 16 Oct
Guests
2
Card
not shared
Internal notes
not shared
Phone
not shared
4 fields shared with the model. 3 withheld.
Ticket MB-1042, opened 09:18

Assigned to Sara

Lina's booking BK-48213 is waiting on a payment review. She asked to cancel it. Policy and booking status already checked.

Summary written from the conversation above

Answers come from knowledge you approved.

EVO Support doesn't search the web or improvise from training data. It reads the articles your team wrote and published, and it says which one it used.

Written once, in your words.

Documentation, FAQs, policies, operating instructions, product details: whatever your team would otherwise explain again and again. Articles are written in the app or imported from text and Markdown files, in English or Arabic.

Each article is for customers or for staff only. Publishing makes a version live. A draft never changes what is published, and unpublishing withdraws an article at once. Before the Booking confirmations article reached Lina, it was checked against the version that is published right now.

KnowledgeMarbel Hotels
  • Booking confirmationsHelp Centre article
    Published, version 3Customers
    Used in Lina's answer
  • Changing or cancelling a stayPolicy
    PublishedCustomers
  • Check-in and late arrivalFAQ
    PublishedCustomers
  • Releasing a payment holdOperating instructions
    PublishedStaff only
  • Riad room types and amenitiesProduct knowledge
    PublishedCustomers
  • Pool hours, winter seasonHelp Centre article
    Draft, not publishedCustomers

Company knowledge

What is true for every customer: how confirmations work, what the cancellation policy says, when check-in opens. Written, versioned and published by your team. Searched for every question.

The customer's own data

What is true for one customer: her booking, its status, when it was placed. Never copied into the knowledge base. Read, when the question needs it, through a fixed lookup that returns only her records and only the fields you approved.

Fits the product you already have.

Three connections, each one small and explicit: the chat on your pages, the identity your server already knows, and the records you choose to make readable.

The chat, on your pages.

One script tag adds the chat to a website, a single-page app or a mobile WebView. The conversation itself runs in an isolated, hosted frame, styled with your colour and welcome text, in English or Arabic, and only on the sites you allow.

checkout.htmlMarbel Hotels website
<script>
  window.AISupport = window.AISupport || [];
  AISupport.push(['init', {
    workspaceId: 'marbel-hotels',   // public configuration, not a secret
    locale: 'en',                   // or 'ar'
    getAssertion: async () => {     // only when a customer is signed in
      const r = await fetch('/support/assertion', { method: 'POST' });
      return (await r.json()).assertion;
    },
  }]);
</script>
<script async src="https://support.example/widget/v1/loader.js"></script>

Identity comes from your server.

When a customer is signed in on your site, your backend signs a short-lived statement of who they are. EVO Support verifies it before any record is read. Anything a browser says about itself is never proof of identity.

  1. Your site

    Lina signs in, the way she already does.

  2. Your server

    Signs a short-lived assertion for her. The signing key stays on your backend.

  3. EVO Support

    Checks the signature, issuer, audience and expiry, then opens a session for Lina in your workspace only.

Records, through lookups you approve.

Live answers about a booking or an order come from a short list of fixed, read-only lookups that you enable one by one. Each runs under a least-privilege database account that can only read the tables and columns you selected, and its result is trimmed to the approved fields before it reaches the model.

There is no general database access and no way to write. EVO Support can tell Lina where her booking stands. It cannot change it.

Approved lookupsRead-only
  • get_booking_status(reference)EnabledReturns status, placed, stay, guests
  • get_my_bookings()EnabledReturns reference, stay, status
  • get_order_status(reference)Not configured

The customer's identity comes from the session, never from the message. A reference typed into the chat is only a filter, not a key to someone else's record.

When it should be a person, it is a person.

Some requests need judgment, an exception, or an action only your team can take. Handing one over isn't the system failing. It is the system working as designed.

Nothing is repeated. Nothing is lost.

  • The conversation continues. Lina stays in the same chat. Sara replies there, and Lina never explains the problem twice.
  • The context is already there. The ticket opens with the transcript, the article that was used and the booking that was read.
  • A person decides. Sara can see what EVO saw, check what it couldn't, and do what it isn't allowed to do.
  • And answers the customer. Once Sara takes over, AI replies to Lina stop. Internal notes stay inside the team.

A customer who asks for a person gets one, first time. Your team also sets response targets, and is alerted when one passes.

InboxMarbel Hotels, Support
  • Omar B.MB-1041

    Can I add a second room to my stay?

    Waiting for a person
  • Lina K.MB-1042

    Can you just cancel it, then?

    Resolved
  • Yara S.MB-1038

    The invoice shows the wrong company name.

    Open, mine
Lina K.Booking BK-48213, signed in through Marbel
Resolved
Can you just cancel it, then?
09:17
Assistant
I can see your booking, but I can't change it from here. I've asked the Marbel team to take over. They'll have everything we've covered.

Ticket MB-1042 opened, assigned to Sara. AI replies paused.

Internal note, never shown to Lina

Reservations confirmed the hold can be released without a fee. Sara, 09:18

Sara
Hi Lina, Sara here. I can cancel this for you. Just to confirm, it's the Fes stay on 14 to 16 October?
09:19
Yes, that one. Thank you.
09:20
Sara
Done. The hold is released and nothing was charged. You'll have an email from us in a minute.
09:21

What changes for your team.

The same question, handled twice. No numbers invented; just where the work goes.

The usual way

  1. Read the question and open the booking system.
  2. Find the booking and check its payment status.
  3. Look up the confirmation policy to be sure of the timing.
  4. Write the answer and paste the right article link.
  5. Reply, then move to the next question just like it.

With EVO Support

  1. EVO answers from the published policy and the booking, with both cited.
  2. The question only reaches a person if judgment or an action is needed.
  3. When it does, the transcript and context are already on the ticket.
Less repetition
Questions with a known answer are answered the same way every time, without a person retyping it.
Faster access to what matters
The policy and the record are already open when a person picks up the conversation.
Better handoffs
A ticket arrives with the evidence, not a one-line summary. The customer never starts over.
More consistent answers
Everyone, including the assistant, answers from the same published articles.
More focus for agents
Time goes to exceptions, judgment calls and the customers who need a person.
Always available, where it is suitable
Known answers are available at any hour. Everything else waits for your team, in your support hours.

What EVO Support can see. And what it can't.

An assistant is only as trustworthy as its boundaries. These are drawn in the database and the server, where the model cannot reach them, and shown to your team in plain words.

AccessMarbel Hotels, this workspace

Reaches the model

  • Published, customer-visible articlesChecked against the current version each time.
  • The signed-in customer's own recordsThrough an approved lookup, approved fields only.
  • The current conversationBounded in size, with the evidence it relied on.

Never reaches the model

  • Drafts and unpublished versionsWithdrawn the moment they are unpublished.
  • Staff-only articles, when answering a customerThey inform your team, not the chat.
  • Internal notesKept out of transcripts, exports and model context.
  • Card numbers, passwords, tokens, secretsExcluded before a result leaves the database.
  • Other customers' recordsOwnership is checked on every lookup, not just the first table.
  • Your database schemaOnly the approved objects are described, never a dump.
Each platform is its own workspace.
Its knowledge, its team, its key and its customers are separate from every other workspace, enforced in the database, not just in the interface.
Identity comes from your server.
A customer is who your backend says they are, for a short time, in your workspace. Browser-supplied IDs, emails and roles are never trusted.
Anonymous visitors get public knowledge only.
They can ask questions and request a person. They cannot reach any record, and giving an email address never unlocks an account.
Lookups are fixed and read-only.
A short catalogue that you approve, running under a database account that can only read the tables and columns you selected. There is no free-form query.
A person can always take over.
When one does, AI replies to the customer stop. The assistant may draft for staff, but nothing is sent without an agent sending it.
Your own AI key, your own limit.
Each workspace uses its own provider key, stored encrypted, with a monthly token limit and a switch. The settings page says what is sent to the provider and what the provider keeps.
Data has a lifecycle you set.
How long closed conversations are kept, export or deletion of one customer's data, and export or deletion of a whole workspace.
Said plainly, not badged.
No certification is claimed here. The threat model and the controls behind each statement above are documented and reviewable.

Getting started.

Five steps, each one visible in the readiness overview until it is done. The assistant stays off until you turn it on, and human support works from day one.

  1. 1

    Create the workspace

    One workspace per platform you support. Invite your team by email and give each person a role: owner, administrator, agent or viewer.

    Name, ticket prefix, language, time zone
  2. 2

    Add approved knowledge

    Write articles in the app or import text and Markdown files. Mark each one for customers or for staff only, then publish what the assistant may use.

    English or Arabic; drafts stay private until published
  3. 3

    Connect your product

    Add the script tag to your pages and list the sites allowed to embed it. If customers sign in on your site, give your backend an identity key so EVO Support knows who is asking.

    Embed snippet, allowed sites, identity keys
  4. 4

    Set the boundaries

    Add your own AI key, pick a model and a monthly limit, and turn the assistant on when you are ready. Set support hours, an away message, response targets and the privacy notice shown in the chat.

    Assistant, hours, targets, notice, alerts
  5. 5

    Try it, then go live

    Ask the assistant a real question from the widget preview, hand the conversation to a person, and watch the readiness overview go green before you switch it on for customers.

    Readiness overview, test conversation

One question. The right context.
A useful answer. A person when it matters.