We connect the sources
Documents, pages, catalogue and rules approved by the team.
Conversații și suport Platformă
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.
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
Documents, pages, catalogue and rules approved by the team.
Real questions, the tone of the brand, permitted answers, and the situations that call for a person.
CRM, orders or appointments, wherever the system allows the integration.
Recommendations by need and compatibility, information from the catalogue, and the details needed to place an order.
Explaining the services and collecting the data before the team takes over.
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
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.
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.
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.
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.
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.
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`.
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
From exploration to deployment
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.
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.
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.
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.
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.
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.
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.
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.
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`.
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 usage scenario, with no client data and no commercial results attributed.
Someone sends three messages in a row in an Instagram DM: "hello", "do you have model X?", "how much is it?".
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.
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
Assistants for recurring questions, with controlled sources, explicit limits, and the handover of sensitive situations to a responsible person.
We define a pilot around one real process: users, data, integrations, costs and acceptance criteria. Expansion follows once the result has been assessed.
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 pilotConstruim agenți care preiau și inițiază apeluri, folosesc informațiile afacerii și lucrează cu sistemele tale.
PlatformăAcces API la modele AI printr-o interfață comună.
PlatformăMegaforms explorează colectarea de răspunsuri prin formulare conversaționale, inclusiv răspunsuri vocale și transcriere.
Dezvoltare & demonstrațiiTell us about your process. Together we decide what is worth building, what we can connect, and how we check the result.