Integrations
How people will see the business bot and how to connect your website today
Right now Yullama does not ship a full embedded messenger widget. The current model is a secure auth-first entry flow: a person clicks your site button, lands in Yullama, opens a dialog with source = widget, and that thread can land in Business where a bot or your team picks it up.
Where people will actually see the bot
The bot does not exist as a standalone public page. A user only sees it after starting a dialog through a public entry point. In the current product those entry points are a public profile, a widget button, and a public page. After that a business dialog is created, and if auto-reply is enabled in Business, the bot sends the first reply and can request human handoff.
- A customer clicks a button on your site or opens your public profile.
- Yullama opens the chat flow with attribution source = `widget` or `public_profile`.
- An inbound thread appears in the Business tab.
- If the bot is enabled, it replies first; otherwise the thread waits for a human.
What already exists
- An auth-first contact button for websites.
- A dedicated `widget` attribution marker for the Business inbox.
- A hosted bot and external webhook bot for the first reply.
- Moving from an inbound thread to a task or deal inside the app.
What does not exist yet
- No fully embedded chat widget inside a third-party website.
- No iframe messenger with the full conversation directly on the page.
- No dedicated SDK for React, Vue, or Next.js.
- No hard-isolated brand or division model at the interface level yet.
How to add it to your website today
Today the correct integration path is a launcher link in the form `/contact/[username]`. It opens Yullama and starts a dialog with the `widget` marker and a specific `ref`. That lets you create separate entry points for sales, support, branches, or divisions.
- Replace `YOUR_USERNAME` with the username of the public profile that receives inbound threads.
- Use `ref` as a stable channel code, for example `sales`, `support`, `clinic-a`, or `clinic-b`.
- Use `title` only for the customer-facing launcher heading. It does not affect server routing.
HTML
<a href="https://yullama.ru/contact/YOUR_USERNAME?ref=website-sales&title=Sales" target="_blank" rel="noopener noreferrer">Message us in Yullama</a>React
export function ContactInYullama() {
return (
<a href="https://yullama.ru/contact/YOUR_USERNAME?ref=website-sales&title=Sales" target="_blank" rel="noreferrer">
Message us in Yullama
</a>
);
}Next.js
import Link from "next/link";
export function ContactInYullama() {
return (
<Link href="https://yullama.ru/contact/YOUR_USERNAME?ref=website-sales&title=Sales" target="_blank" rel="noreferrer">
Message us in Yullama
</Link>
);
}Vue
<template>
<a href="https://yullama.ru/contact/YOUR_USERNAME?ref=website-sales&title=Sales" target="_blank" rel="noreferrer">
Message us in Yullama
</a>
</template>What to fill in inside Business
- If you need auto-reply, enable the bot and set the greeting.
- If you want to start fully manual, you can leave the bot disabled.
- Choose the intake template by flow type: lead, support, or consultation.
- Use internal notes and tags to route conversations inside the team.
How to deal with multiple businesses or divisions
Right now the cleanest model is separate entry points, public profiles, or launcher links. Inside one Business tab you can separate directions with tags, intake templates, custom lists, and handoff rules. If you need hard separation of brands, operators, and inbound queues, that is the next product layer.