Sari la conținut
megapromotingHai să discutăm
Produse aichat

Conversații și suport Platformă

Every question. The right context.

An assistant connected to your business's information, in the channels your customers write to you in. It answers questions about products and services, gathers the details, and hands the team a conversation that is easy to carry on.

Asistentul magazinuluiSe potrivește cu aparatul meu?Spune-mi modelul aparatului.Verific variantele din catalog.Catalog conectat · informație verificatăEchipa poate prelua conversația.
Cum funcționează aichat
Încearcă aici

Scrie-i asistentului

Același asistent care răspunde pe site. Întreabă-l ce vrei despre produse, prețuri sau integrări.

Se încarcă doar când apeși. Până atunci nu salvăm nimic în browserul tău.

aichat

From information to work done.

01

We connect the sources

Documents, pages, catalogue and rules approved by the team.

02

We prepare the conversation

Real questions, the tone of the brand, permitted answers, and the situations that call for a person.

03

We wire up the operations

CRM, orders or appointments, wherever the system allows the integration.

Where it earns its place.

Online stores

Recommendations by need and compatibility, information from the catalogue, and the details needed to place an order.

Services and reception desks

Explaining the services and collecting the data before the team takes over.

Organizații

A knowledge base reachable through conversation, with a route to the right person.

The available channels and integrations are verified before we quote. A connected, up-to-date catalogue is a different thing from a list uploaded by hand.

aichat in detail

What you can do with this project.

aichat is where conversations with customers all land in one place and get an answer, whichever channel they started on. Messages from Facebook Messenger, from Instagram DMs, from Telegram, from 999.md — the Moldovan classifieds marketplace — from the website widget and from WhatsApp Business arrive in the same dashboard, with the same history and the same answering rules.

The answer is not an elegant guess. The assistant has an indexed knowledge base — documents, pages, product catalogues — over which a hybrid search runs: by default five passages per question, a similarity threshold of 0.70, 30% of the weight on word matching and the rest on meaning, with `text-embedding-3-small` embeddings. When it finds nothing, the correct path is handing over to a person, and the handover is a thing modelled in the database, not a promise: the thread holds a state, `bot` or `human`, and the takeover log knows three actions — takeover by a person, return to the bot, and automatic reactivation.

The agent can also act, not only speak. Its tools come in three kinds: a webhook to the client's own system, a piece of JavaScript code run by the platform, or a tool built into the platform. Each has a maximum execution time, 15 seconds by default. The models are not bound to a single provider: calls go through our own LiteLLM gateway, at `api.megapromoting.com/v1`, which speaks the OpenAI shape to every provider behind it.

01

The channels that are actually connected

Facebook Messenger, Instagram Direct, Telegram, 999.md, the web widget and the WhatsApp Business Cloud API. Each has its own code in the platform, not a ticked box: for Meta there is the connection flow through Embedded Signup on Graph API v22.0, for Telegram a separate service with its own bot, and for 999.md an integration that runs on the session of your own account.

02

Hybrid search over your own knowledge

Documents are cut into passages with a content hash and `text-embedding-3-small` embeddings. By default 5 passages per question are used, with a similarity threshold of 0.70, search type `hybrid` and a weight of 0.30 on word matching. Source attribution is on by default, and every query can be logged together with the passages returned, the scores and the response times.

03

A product catalogue extracted from pages

Beyond documents, a knowledge source can hold structured products — title, description, price with currency, image, link, code, availability. Each product knows how it was obtained: `heuristic` (from the structure of the page) or `ai`, and it carries a confidence score to three decimal places. The difference matters, because a price pulled heuristically out of a badly formatted page shows up as exactly that.

04

Tools that execute, not only describe

An agent can have `webhook` tools (method and headers configurable), JavaScript code run by the platform, or built-in tools. By default each tool has 15 seconds at its disposal; past that it is stopped, so a slow integration cannot block the conversation.

05

Handover between bot and human, with automatic return

The conversation thread holds an explicit state — `bot` or `human`. The takeover log distinguishes a takeover by a person, a return to the bot, and automatic reactivation. Threads also carry an SLA state: `ok`, `warning`, `breached`.

06

Voice inside the written conversation

Incoming voice notes are transcribed with `whisper-1`, and the reply can be sent back as voice, through OpenAI's `tts-1` or through ElevenLabs, with stability and similarity settings per voice.

Data and operation

What goes into the system. What has to be checked.

Where the conversations live
MySQL, on our own server in Azure. The schema holds more than 80 tables modelled in Prisma, with separate tables for Meta threads, Telegram threads, 999.md threads, comments, labels, internal notes and the audit log.
Channel tokens are kept encrypted
The WhatsApp token is stored Fernet-encrypted, falling back to plain text only for older records. There is token monitoring and a notification on expiry — because an expired page token stops the channel silently, not with a visible error.
What the widget sees, and from where
The widget has a list of allowed origins per assistant. Note the default behaviour: if the list is empty, the check passes — a compatibility choice for older installations, not an oversight, but it means that restricting by domain has to be configured explicitly on every deployment that wants it.
Duplicates, and messages broken into pieces
The Meta webhook can deliver the same message several times over: de-duplication runs on the message identifier, with 120 seconds of memory. And when somebody writes three lines one after another, they gather into a 15-second buffer and get one reply, to all of it, instead of three.

From exploration to deployment

How we prepare a project with aichat.

01

We pick the channel, and who answers when the bot stops

One channel, one audience, one result being tracked. The same discussion settles who picks up the threads marked `human`, and within what time — because the SLA state is measured from day one, it is not bolted on later.

02

We connect the sources and check what comes out of them

Documents and pages go in as knowledge sources. For catalogues, the extracted products are checked explicitly: the method (heuristic or AI) and the confidence score show where manual correction is needed before the agent starts quoting prices.

03

We wire the tools to the real systems

A webhook to the CRM or ERP, code for transformations of your own, a built-in tool for what the platform already has. We test the slow case and the failure case, not only the happy one, because the 15-second limit is what decides.

Questions worth settling.

Which channels does it actually work on, today?

Facebook Messenger, Instagram Direct, Telegram, 999.md, the web widget and WhatsApp Business. Each has its own code in the platform: Meta connection through Embedded Signup on Graph API v22.0, a separate Telegram service, and for 999.md an integration built on the session of your own account. Do not assume that a channel launched since then is connected — it is verified per deployment.

Can it write first on WhatsApp, to a customer who has not written in a week?

No, and the reason sits with Meta, not with us. Outside the 24-hour window from the customer's last message, Meta rejects free text with error 131047, and the platform marks the scheduled message as failed and shows the error, instead of pretending it went out. What can be done instead: reply inside the 24-hour window, or open the conversation on another channel. Sending outside the window takes templates approved by Meta — those are not implemented.

Is the 999.md integration official?

It is not a partner integration with a public API. It runs on the session of your own 999.md account: the platform asks you for the value of the `simpalsid.sessionKey` cookie from your browser and uses it to read and reply to messages. The practical consequence, said in advance rather than afterwards: if 999.md changes its session mechanism, the integration stops and has to be reconnected.

How does the agent know the answer, and what does it do when it does not?

It searches your sources with a hybrid search — five passages by default, a similarity threshold of 0.70, 30% of the weight on words and the rest on meaning — and it can attach the source to the answer. When it finds nothing, the designed path is handing over to a person: the thread moves into the `human` state, and the log records who took it. Automatic return to the bot exists as well, also recorded as an action.

Can it do something inside our system, not just answer?

Yes. A tool can be a webhook to your system, with the method and headers you choose, a piece of JavaScript code run by the platform, or a built-in tool. Each has a time limit, 15 seconds by default — so an integration that answers in 40 seconds has to be made asynchronous, not forced into the conversation.

Which AI model does it answer with?

It is not bound to one provider. Calls go through our own LiteLLM gateway at `api.megapromoting.com/v1`, which accepts the OpenAI shape for all the providers behind it; the model is chosen per assistant, and for reasoning models the platform reshapes the request by itself. For embeddings it uses `text-embedding-3-small`.

What happens if a customer sends the same message twice, or writes in a burst?

Duplicates are filtered on the message identifier, with 120 seconds of memory — the Meta webhook really does resend. Messages written one after another gather into a 15-second buffer and get a single reply, to everything the person wrote, rather than one reply at a time.

Illustrative example

A price question that starts in Instagram and ends with a person

A usage scenario, with no client data and no commercial results attributed.

The starting situation

Someone sends three messages in a row in an Instagram DM: "hello", "do you have model X?", "how much is it?".

How it works

The webhook comes in, duplicates are filtered on the message identifier, and the three lines gather into the 15-second buffer and become a single question. The assistant searches the connected sources: if the product is in the extracted catalogue, it answers with the price and can attach the source. If the product is missing, or its confidence score is low, it does not improvise.

Rezultatul

Either an answer with a price and a source, or the thread moves into the `human` state and the person responsible receives the conversation with all its context. The thread's SLA state shows whether the takeover happened in time.

Ce este necesar:Pagina de Instagram conectată cu token valid și monitorizat, sursele de cunoștințe încărcate, catalogul verificat pe metoda de extragere, și o persoană desemnată pentru firele predate.

Ways of working together

aichat, in the context of your organisation.

Access to approved information

Assistants for recurring questions, with controlled sources, explicit limits, and the handover of sensitive situations to a responsible person.

Private companies

We define a pilot around one real process: users, data, integrations, costs and acceptance criteria. Expansion follows once the result has been assessed.

Public institutions and state-owned companies

We establish the requirements for accessibility, hosting, data protection and interoperability. Any connection to services run by Moldova's e-Governance Agency (AGE) or its state information-technology service (STISC) requires eligibility, access and approvals to be validated.

These are adaptation scenarios, not statements about existing contracts or partnerships. The proposed capabilities are confirmed within the project's scope of work.

Discută un pilot

Part of an ecosystem.

What would you want to work better?

Tell us about your process. Together we decide what is worth building, what we can connect, and how we check the result.

Hai să discutăm