# LanaChat > Lana is the AI that chats with fans on Telegram in each creator's voice and sells her content; LanaChat is the console agencies run her from. LanaChat is for agencies that manage creators on Telegram. Lana replies to every fan in the creator's voice and language, sells locked media paid in Telegram Stars at the price the agency sets (Lana never invents a discount: only reduced prices written in the agency scripts, which a discount ceiling can cap), and follows up with fans who go quiet. The team reads every conversation and can take over at any moment. Accounts connect with an @username and the token of a bot linked through Telegram's business connection: no phone number, password or login code. Pricing: $19 per Telegram account per month (packs of 10, 25 and 50 for less), plus a commission on net sales (after Telegram's share and refunds): 12% of AI sales up to $30,000 of monthly workspace net sales, 10% up to $100,000, 8% above; sales sent by hand by the team: 4%, 3%, 2%. Paid from a prepaid balance in USDT or USDC. No per-seat fee. Details and a monthly estimator: https://lanachat.ai/#pricing Access: sign-up is open at https://lanachat.ai/signup/. Every agency is reviewed by the LanaChat team before activation, and there is no free trial. Releases and news: the Telegram channel https://t.me/lanachatai. ## LanaChat facts and figures URL: https://lanachat.ai/facts/ · updated 2026-10-23 This page sums up LanaChat in short sentences for anyone who needs to quote it: a journalist, an analyst or an AI assistant. Every figure is the one published on this site and in the public guides on the date above. When a figure changes, this page changes with it, and the change is listed under [What's new](https://lanachat.ai/changelog/). #### What LanaChat is - As of October 2026, LanaChat is a console for agencies that manage creators on Telegram. - Lana is LanaChat's AI. She chats with fans on Telegram in each creator's voice and language, sells locked media paid in Telegram Stars at the price the agency sets, and follows up with fans who go quiet. - LanaChat works on Telegram only. It does not connect to OnlyFans or other platforms. - A Telegram account connects with its @username and the token of a bot linked through Telegram's business connection. LanaChat never asks for a phone number, a password or a login code. - The agency's team reads every conversation and can take over any conversation at any moment, then hand it back to Lana. #### Who it is for - LanaChat is made for agencies that manage creators on Telegram. Solution pages explain it for [agencies](https://lanachat.ai/for/agencies/), [creators](https://lanachat.ai/for/creators/) and [chatting teams](https://lanachat.ai/for/chatting-teams/). - The console is available in 10 languages: English, French, Spanish, Portuguese, Italian, German, Polish, Romanian, Russian and Ukrainian. The home page, the API page, the feature pages and the guides are in the same 10 languages. - Lana replies in the language each fan writes in, and Live Convs can show any conversation translated for the team. #### Prices and commission As of October 23, 2026: - A licence costs $19 per Telegram account per month. One licence runs one account for 30 days. - Packs: 10 licences for $170 ($17 each), 25 for $375 ($15 each), 50 for $650 ($13 each). Licences in stock never expire. - On the sales Lana closes, LanaChat takes 12% of net sales up to $30,000 of monthly agency net sales, 10% from $30,000 to $100,000, and 8% above $100,000. - On the sales sent by a teammate from Live Convs or by a script step, the rate is 4%, 3% or 2%, on the same monthly tiers. - The tiers count the agency's total monthly net sales, all creators and accounts together, and reset on the 1st of each month. - A net sale is what the fan paid, minus Telegram's share of Stars, processor fees and refunds. A refund confirmed within 7 days of the sale gives the share back. - Example published on the pricing section: $50,000 sold in a month, all by Lana, costs $5,600 in commission, 11.2% all-in. - Agencies pay from a prepaid balance in USDT or USDC, with a minimum top-up of $25. - There is no seat price, no setup fee, no contract and no minimum term. Fans' messages cost nothing. - Full details: the [pricing section](https://lanachat.ai/#pricing). #### Discounts - Lana never invents a discount. She only uses the reduced prices written in the agency's scripts. - A discount ceiling in the AI Brain, from 0 to 60%, can cap those reduced prices. #### Payments - Fans pay in Telegram Stars, in the chat, or through the agency's own payment links such as FanGate and Dropp Fans. - The money goes to the creator or the agency. LanaChat never receives or holds fan money: its share is taken from the agency's prepaid balance. #### Limits As of October 2026, from the public guides: - LanaChat caps every Telegram account at a ceiling of 2,000 messages an hour, and slows an account from 80% of that ceiling. - A Message+ sequence holds up to 16 messages, with a wait of 0 to 60 minutes between them. One send reaches at most 800 fans. - Follow-ups: up to 100 rules, and a follow-up library of up to 5,000 messages. - Live Convs shows up to 9 conversations side by side, and one message carries up to 10 photos and videos from the Vault. #### For developers - LanaChat publishes the docs of a REST API (JSON over HTTPS, base URL https://api.lanachat.ai/v1) and of an MCP server for AI assistants (https://app.lanachat.ai/mcp). Neither is live yet: every endpoint is marked Planned. - Signed webhooks are documented for new conversations, sales, refunds, media, account health, pools, brains and balance (Planned). - Read the [API page](https://lanachat.ai/api/) and the [developer docs](https://lanachat.ai/docs/). #### Access and contact - Sign-up is open. Every agency is reviewed by the LanaChat team before activation. - There is no free trial. - The LanaChat team answers in the chat on this site and in the console. News and releases are posted on the Telegram channel [t.me/lanachatai](https://t.me/lanachatai). #### What LanaChat does not do - No free trial. - No support by e-mail: the chat and the Telegram channel are the only contact points. - No OnlyFans or other platforms: Telegram only. - No invented discounts. - No seat price, and no fee on fans' messages. - No access to fan money: payments go to the agency. - Minors are banned outright: no one under 18 in any content, conversation or persona. #### How to cite Cite as: LanaChat, lanachat.ai, October 2026. For AI assistants, the whole site is summed up in [llms.txt](https://lanachat.ai/llms.txt), and everything in one file in [llms-full.txt](https://lanachat.ai/llms-full.txt). Product changes are dated on [What's new](https://lanachat.ai/changelog/). Comparisons with other tools are on [Compare](https://lanachat.ai/compare/) and [Alternatives](https://lanachat.ai/alternatives/). ## Features ### Creators URL: https://lanachat.ai/features/creators-and-brands/ One page per creator: her identity, her settings. Each creator gets her own page: identity, persona, Telegram accounts, AI Brain and settings. Roles decide which members of your team work on which creators. #### A page for each creator Press New creator, type her name and press Enter: her page opens on the Setup tab. Five tabs hold everything about her: Setup, Identity, Telegram accounts, Others and Persona. Start, Pause and Delete sit on the same row, and the creator menu at the top of the sidebar finds her again with Search creators. #### The Setup card The card at the top of her page lists what is left before she can go live: her identity, a Telegram account, an AI Brain, media in her Vault and a persona at least 60% complete. Each line says what to do next. Basics holds her Status (Online or Paused), her AI Brain, her profile photo and her reply language. #### Identity and Quick fill Identity holds her first name, nicknames, date of birth, zodiac sign, nationality and the languages she speaks. Lana uses these details when a fan asks about her, so keep them consistent with what she posts publicly. Drop her existing photos, videos and audio files on Quick fill and they go straight into her Vault. #### A persona in eight pages The Persona tells Lana who she is and how she writes: Appearance & location, Life, Voice, Mimic, Personality, Memory, Boundaries and Examples. Voice includes a Phrase bank of ready reactions, including her answer to "Are you a bot?". Turn on Use Mimic and Lana copies the real lines she would send, then use Test recall to check what she remembers from her anecdotes. #### Suggested values and modes Set her date of birth and the empty Tone of voice fields get values that fit her age, each marked Suggested until you change it or press Keep. Persona mode offers six ready personalities, from Girl next door to Mature and classy, and fills the empty fields in one go. A complete persona takes minutes, and what you typed never moves. [Guide: Suggested values and persona modes](https://lanachat.ai/guides/persona-defaults/) #### Where she lives, what she speaks Location mirroring makes her live in the same area as the fan she talks to, instead of one fixed city. Her reply language is set once on her page, and each Telegram account can override it with its own. Personality adds eight Behavior sliders to tune how she reacts. #### Auto or Scripted On the Others tab, Response mode decides how Lana answers her fans. Auto writes its own replies from her profile and her scripts, while Scripted sends the messages you saved, in order. Connect her Fangate account here with its API key. #### Pause her, or remove her Pause stops Lana on all her accounts, while her fans, conversations, media and scripts stay exactly as they are. Press Start to bring her back, or pause one account only from Telegram accounts. Deleting removes her profile but keeps her media in the Vault and her scripts in Scripts. #### How it works 1. Create her: Press New creator, type her name and fill in her identity. 2. Connect and describe: Connect her Telegram accounts, pick a Persona mode and drop her media on Quick fill. 3. Go live: Link an AI Brain. When the Setup card is complete, press Start. #### FAQ ### How many creators can I add? As many as you run. You pay a licence per Telegram account, not per creator. ### Where are prices set? In the Vault, on each item, or on a script step. Never on the creator. ### Does pausing a creator lose anything? No. Lana stops sending from her accounts, and everything else stays until you press Start. ### Telegram accounts URL: https://lanachat.ai/features/telegram-accounts/ Every account of every creator, in one place. Connect an account with its @username and the token of its bot. Pools share the load, stories go out from the Console, and licences move between accounts for free. We never ask for a login. #### Connect with an @ and a bot token Add account opens a four-step assistant: pick the creator, name the account, create its bot with @BotFather and paste the token, then add the bot in Telegram's Chat Automation settings. The token is checked, then never shown again. The window switches to Connected as @username on its own, and we never ask for a phone number, password or 2FA code. [Guide: Connect Telegram accounts](https://lanachat.ai/guides/connect-telegram/) #### Business connection, explained The bot reads and answers the account's private chats through Telegram's own business connection. Manage Messages is required, while Manage Profile, Manage Gifts and Stars and Manage Stories are optional and recommended. Leave Transfer Stars off unless you want LanaChat to move money, and every account can get its own bot or share one with the creator's other accounts. #### Every status at a glance One row per account, grouped by creator, shows the AI switch, the bot behind it, its market and traffic source, its language, its AI Brain and its last 24 hours. A Connection issue comes with its reason under the chip, such as "Reply permission is off in Telegram", and Reconnect fixes it once Telegram is set. Pause and Resume AI replies work per account, and a removed account comes back with Restore. #### Pools that share the load Accounts with the same market and traffic source form a pool on their own, and a tracking link serves the whole pool. Pool load shows each account's messages this hour against a ceiling of 2,000: amber from 80% (the account is slowed), red from 95% (paused until the next hour). Load history draws every account over 24 hours or 7 days. #### A persona per account Each account can sound slightly different from its creator to fit its market: Hobbies, Punctuation, Reply language and City. Switch Customize for this account on a block and the creator value stays visible, struck through. Every account of a creator still shares her AI Brain, and each conversation history stays separate. #### Stories from the Console Pick a creator, tick her accounts, choose a photo or a video from the Vault, add text and an optional link sticker. Post now or Schedule, and edit or cancel a scheduled story until it goes out. An account without the Stories permission is greyed out until you allow it in Telegram. #### Licences you move freely A licence runs one Telegram account for 30 days, and licences waiting in your stock never expire. Assign one to an account, Reassign it when an account is banned or retired, or Unassign it back to your stock. The days left always travel with the licence, and moving it is free. #### Auto-renew, so nothing stops With Auto-renew on, an account gets a new licence when its days run out: from your stock first, or a single licence at $19 from your balance. Expiring within 7 days and the Expiring soon filter show what is coming. An expired account shows a red Expired badge and Renew brings it back in one click. #### How it works 1. Create the bot: In @BotFather, send /newbot, turn on Secretary Mode and copy the token. 2. Add the account: Press Add account, pick the creator, name the account and paste the token. 3. Go live: Add the bot in the account's Chat Automation settings with Manage Messages on, and give the account a licence. #### FAQ ### Do you need the account's password? No. You give the bot's username and token. We never ask for a phone number, password or login code. ### What happens if I remove an account here? Lana stops answering it. The Telegram account is not deleted, the bot, the fans and the history are kept, and Restore brings it back. ### Do licences expire in my stock? Never. Only the 30 days of a licence assigned to an account count down. ### AI Brain URL: https://lanachat.ai/features/ai-brain/ Lana chats like her and sells like your best chatter. Lana answers every fan in the creator's voice and language, sells media at the price you set and follows up when a fan goes quiet. Your team can take over at any moment. #### Lana answers every fan Fans write at any hour, and Lana replies through the bot linked to the creator's account, in the language the fan writes in. Your team reads every conversation in Live Convs and can take one over at any moment: Lana pauses for that fan until you hand it back. #### The persona says who she is The creator's Persona holds her life, her voice, a Phrase bank of ready answers, her memories and her boundaries. Set her date of birth and pick one of six Persona modes, and the empty fields fill with values that fit her, marked Suggested until you keep or change them. Turn on Use Mimic and Lana copies the real lines she would send. #### Sales tone, gentle to proactive The AI Brain says how she chats and sells. Pick Gentle, Balanced or Proactive, then fine-tune Flirt tendency and Sales tendency, how many interested replies come before an offer and how much space she leaves between two offers. You can also let clear interest in content open a sale on its own, while a compliment alone never counts as a purchase. #### KYC: she gets to know him The KYC tab lists the questions she asks a new fan, in order: his first name, where he lives, what he does, what he likes. Everything he says is kept in his memory, and your team reads it under Fan details. Start from a sample such as Girlfriend (long game) or Closer (direct), or import a KYC script you already wrote. #### Your scripts, at the right moment On the Scripts tab, each script gets a schedule in her time zone, a priority from 0 to 100 and keywords that let the fan's own words pick it. On a paid step, closing rules decide what happens next: payment received, too expensive, a short or long silence, an unopened media. Each answer can use Objections, trigger Follow-ups, offer a media bundle or discount the offer to a price you set, and you can cap every discount with a ceiling from 0 to 60%. #### Objections, answered six ways Six kinds of objection are covered: too expensive, wants free content, trust concerns, not now, looking elsewhere, stopped replying. For each, write answers with different angles (Value, Gentle guilt, Humour, Comparison, Urgency, Counter-offer) and let her use the best performing one or the one that fits the context. Turn on Avoid repeating responses so a fan never reads the same line twice. #### Follow-ups when he goes quiet Follow-up rules say when to write again: no reply for a while, a media left unopened, an offer turned down, a first-timer or a returning buyer gone quiet. Each rule draws from a library of up to 5,000 messages (import your own as CSV) and ends with a last attempt: wait for him, pause sales for 48 hours or mark the fan as lost. Start from a preset such as Beginner, gentle or Seller, fast. [Guide: Follow-ups that bring back fans who went quiet](https://lanachat.ai/guides/follow-ups/) #### Leads and house rules In General, the Timewaster agent flags fans who negotiate again and again, and the Qualifier spots fans who can pay from a declared budget, a clear statement of means or verified purchases. Each agent adds the fans it finds to a fan list you can target with Message+. Formatting rules (emojis per reply, spacing) and Conversation settings (reply length, questions, one message or several) apply to every reply. #### How it works 1. Write her persona: Set her date of birth, pick a Persona mode, then adjust what makes her unique. 2. Link an AI Brain: Create one per creator, or duplicate one you like to another creator. Every tab starts on default settings. 3. Test, then go live: Chat with her in the Playground, then switch her brain to Active and watch the first conversations in Live Convs. #### FAQ ### Can I test before fans see it? Yes. The Playground lets you write as a fan and see her real replies, simulate a purchase without spending Stars and compare two brains side by side, and nothing goes to Telegram. ### Can Lana give discounts? Lana never invents a discount. She only uses the reduced prices you wrote in your scripts, and you can cap them with a discount ceiling in AI Brain (0 to 60%). ### Can I keep some creators manual? Yes. A Paused AI Brain does not reply to fans, and your team can also take over a single conversation from Live Convs while Lana keeps the others. ### Scripts URL: https://lanachat.ai/features/scripts/ Write the sequences that sell, once. A script is a sequence of messages and media Lana sends to sell, step by step. Your best lines stop depending on who is on shift. #### Step by step, with delays Each step has a name, a message or a caption, media from the Vault and a delay before it is sent, from Immediately to After 24 h. Drag steps to reorder them, duplicate a step that works, and drop files from your computer straight into a step: they are saved to the Vault on the way. Write the Script goal on top so everyone knows what the sequence is for. [Guide: Build a first-purchase script, step by step](https://lanachat.ai/guides/first-purchase-script/) #### One price per step Unlock price applies to the whole step: keep each item's Vault price, make it free, or set one Paid price in Stars (1 to 25,000) for everything in the step. A paid step holds 1 to 10 photos or videos, and the fan unlocks them with one payment. #### Preview before it goes out Switch from Edit to Preview to see what the fan receives as chat bubbles, with the delays applied. The page warns you, without blocking, about an empty message, a paid step with no caption, more than 10 media, a caption over 1,024 characters, a paid voice note or a media deleted from the Vault. #### Folders, first script, import Group scripts in folders, star the first script a new fan receives, and turn each script on or off with its Active switch. Duplicate a script to start from one that works, and check the copy is off before you leave it in the folder. Import a JSON export from another workspace, and move around with keyboard shortcuts: N for a new script, F for a new folder. #### Pick the accounts that send it By default a script can go out from every Telegram account of the creator. Choose Only these to keep it on the accounts you tick, for example a VIP account with its own offers. New accounts are never added to a restricted script by surprise. #### Lana starts it at the right time You write scripts once, then the creator's AI Brain decides when each one can start: anytime, daytime, night or your own weekly schedule, in her time zone. When several could start, the higher priority wins, and keywords from the fan pick a matching script first. If the fan drifts away, a return opener steers him back without restarting the sequence. #### Your team runs it from Live Convs A chatter can press Run script on any conversation in Live Convs. Lana pauses for that fan until the last step, then takes the conversation back, and the chatter can pause, resume or drop a step into the reply box to edit it first. Sales made by any script step count at the lower commission rate: 4%, 3% or 2% of net sales instead of 12%, 10% or 8%. #### See which scripts sell Statistics has a Scripts tab with sends, replies, reply rate, sales and revenue for each script. Duplicate a winner to try another opener or entry media, and move the star only when the new version beats the old one. #### How it works 1. Write it: Pick the creator, press New script, write the goal and the steps with their media and delays. 2. Price it: Set the unlock price of each step and choose which Telegram accounts can send it. 3. Attach it: In the creator's AI Brain, decide when each script can start, then test it in the Playground. #### FAQ ### Do scripts run on their own? Yes, once they are attached in the creator's AI Brain, which decides when each one can start: a schedule, a priority, keywords from the fan. Your team can also run a script on any conversation from Live Convs. ### Can Lana lower the price of a step? Lana never invents a discount. She only uses the reduced prices you wrote in your scripts, and you can cap them with a discount ceiling in AI Brain (0 to 60%). ### Is my work saved? Everything saves as you type, and the Saved chip confirms it. Deleting a script keeps its media in the Vault. ### Vault and paid media URL: https://lanachat.ai/features/vault-and-paid-media/ Her media, priced and described, ready to sell. The Vault holds everything a creator can send. Each item has a price in Telegram Stars and a short description, so Lana picks the right one at the right moment. #### Free, teaser or paid Set each item to Free, Teaser or Paid. Free media goes out when it fits the conversation, a Teaser is kept for the lead-in to paid content, and Paid items are sent blurred and unlock with Telegram Stars, from 1 to 25,000. A script step can keep these Vault prices or set one price for the whole step. #### Paid in Telegram Stars Fans unlock media right in the chat, in Stars, and the Stars land on the creator's bot or account, never with LanaChat. Telegram holds them for 21 days, then pays withdrawals in TON to the bot owner's wallet. Agency settings shows the Telegram balance: total available, pending and withdrawn this month, creator by creator. #### Your own payment links too Add your own payment links (FanGate, Dropp Fans and others) in Agency settings, with a label, an optional creator and a switch to turn each one off. Lana sends the link when the conversation is ready for it, and your team can send it by hand from Live Convs. The provider collects the payment under its own terms. [Guide: Connect FanGate or Dropp payment links](https://lanachat.ai/guides/connect-fangate-or-dropp/) #### What Lana knows about each media Each item has a description, when to send it, a mood and a time of day, and Lana uses them to pick the right media and stay consistent with what she sent. Items with no description show a Describe badge. Describe with AI drafts the empty fields (a video is read from six frames, without sound), never overwrites your text and marks its draft for review. #### Folders, uploads, sorting Each creator has her own Vault with nested folders. Upload images, videos and audio up to 2 GB per file, and resume a dropped upload by adding the same file again within 47 hours. Filter by photos, videos or voice messages, sort by recent, name, type or pricing, and let Sort by set suggest one folder per photo set when a folder gets crowded. #### Edit videos in the browser Edit video lets you split, trim, mute, reorder and export clips without leaving LanaChat, from a source up to 256 MB. The results are saved next to the original, which never changes. Capture frame turns a still into a Teaser in one click. #### Ready on Telegram before the sale Telegram preparation sends each media to Telegram once per bot, ahead of time, and every account connected to that bot reuses the prepared file. You can also keep each original as a separate Telegram document. Retry errors resends anything that failed. #### Refunds stay with your team When a fan asks for a refund, Lana stops on that conversation until someone on your team presses Resume AI. Lana never decides a refund: you refund with Telegram or the payment provider, and the sale shows as Refunded in your sales logs. If the refund is confirmed within 7 days, LanaChat's share on that sale comes back to your balance. #### How it works 1. Upload: Drop her photos, videos and voice messages into folders. 2. Price and describe: Pick Free, Teaser or Paid and write what Lana should know, or let Describe with AI draft it. 3. Sell: Lana and your scripts send the right media at the price you set, paid in Stars or through your links. #### FAQ ### Can Lana change a price? Lana never invents a discount. She only uses the reduced prices you wrote in your scripts, and you can cap them with a discount ceiling in AI Brain (0 to 60%). ### Does LanaChat touch the money fans pay? No. Stars go to the creator's bot or account and payment links pay you through the provider; LanaChat only counts a share of net sales, with each Star worth $0.013. ### What if I delete a media? It becomes unavailable in every script that used it, and the Scripts page warns you. ### CRM URL: https://lanachat.ai/features/live-convs/ Every conversation, live, with the fan next to it. The CRM (Live Convs in the console) is where your team reads what Lana says, replies by hand, runs a script on a fan or schedules a message. Fan profile, lists and spend sit next to every chat. #### Find the right conversation Pick a creator, or All creators, then the Telegram account you work from: each one shows its status dot and how many fans wait for a reply. Search fan names and @usernames, or switch to words inside the messages. Sort by Most recent, Waiting longest or Biggest spenders, and narrow down with the quick filters (All, Awaiting reply, Human, AI, Script running, Unread) or one chip per fan list. #### Rows that tell you who comes first Each row shows what the fan spent, his score from 0 to 3 dots, and how long he has waited (grey from 10 minutes, orange from 1 hour, red from 24 hours). Badges flag what matters: ready to close, minor · do not sell, opted out, AI stopped with its reason, or where he came from. Follow up now, at the top of the list, names the fans to write to first: ready to buy, buyers gone quiet after your message, top fans gone silent. #### Up to 9 chats side by side Click a row to add it to Multi-chat and follow up to 9 conversations at once. Pin one as a focus tab, or drag a row onto the tab bar. The Sales bell lists the latest sales of the creators in view, and one click opens the fan. #### Take over, hand back While Lana holds a conversation, the box says so: press Take over manually and she pauses for that fan only. Hand back to AI when you are done. A strip warns you when a colleague is already replying, so two people never answer the same fan. [Guide: AI sale or manual sale?](https://lanachat.ai/guides/ai-sale-or-manual-sale/) #### Translate, search, check delivery Auto-translate shows the fan's messages in English, with his original text under it and its language. Search inside the conversation with Ctrl + F, blur every media with SFW, and read under each bubble who sent it (your first name, AI or Script). Not confirmed, Failed to send · Resend and Unsent tell you exactly where each message stands. #### Everything you need to reply Your message goes out from the creator's real Telegram account, with her quick emojis, Macros sorted in folders (Openers, Selling, Objections, Aftercare), GIFs and the fan's first name in one click. Send up to 10 photos and videos from the Vault, free or paid in Stars, and see which ones he already received or bought. Write a voice note, listen to it, then send, or schedule the message for later. #### Run a script on this fan Open Scripts above the box to see the creator's scripts with their steps, waits and prices. Insert one step to edit it before sending, or press Run script to send the whole sequence to this fan. Pause, resume or stop it from the same bar: stopping gives the conversation back to Lana. #### The whole fan, one click away The fan panel has three tabs. Insights holds his lists, where he came from, the other creators he talks to, what was collected from the conversation, and your tags and notes (only your team sees them). Sales shows his purchases, highest and lowest price paid and his spending week by week, and Creator shows her persona and rules with a link to her AI Brain. #### How it works 1. Find the conversation: Pick the creator and account, then search, sort or filter by list. 2. Read or reply: Let Lana handle it, or take over and write, send media or run a script. 3. Hand it back: Press Hand back to AI when you are done, and Lana picks up where you left off. #### FAQ ### Does the fan see "typing"? Yes. While you type, the fan sees "typing…" on Telegram, as with any reply from the creator. ### Are sales from Live Convs billed differently? Yes. A paid offer sent by your team or by a script step is a manual sale at 4%, 3% or 2%, and a line under every offer says who sent it and the tier. ### Can every teammate reply? Only with the right permission: Reply manually to write and take over, Send media from the Vault and Send paid media for media and offers. A greyed control says which one is missing. ### Mass DM and nudges URL: https://lanachat.ai/features/mass-dm-and-nudges/ Write it once, reach every fan. Message+ sends a short sequence of messages and media to all fans of a creator, or to one of your lists: now, at a set time or every week. A fan who replies is never interrupted. #### A sequence, not a blast Write up to 16 messages, each with a wait of 0 to 60 minutes after the one before. Insert the fan's first name, his username, the creator's name or a variation such as {Hi|Hey|Hello}, so every fan gets a slightly different text. Nothing reads like a broadcast, because no two fans get exactly the same words. #### Media, packs and Stars prices Add media or pack opens the Vault: up to 10 photos or videos, a whole folder sent as a pack, or one voice message on its own. Each message can be free or paid, from 1 to 25,000 Stars, and fans pay right inside Telegram. #### Presets you reuse Save any sequence as a preset and load it again next week instead of rewriting it. Rename or delete a preset at any time, or discard your changes to go back to the saved version. #### The right fans, and only them Send to all fans of the creator or to one of your fan lists: VIPs, fans to win back, or a list that fills itself from a rule such as total spent above an amount. Before you press send, the count shows who can be messaged now, who is outside Telegram's 24-hour reply window and who is excluded. #### Now, once or every week Send now, schedule it once at a date and time, or repeat it every day or on the days you pick, in your computer's time zone. Press Launch sequence or Schedule sequence and confirm. Sends run on our servers and keep going when the Console is closed. #### The weekly plan at a glance The Weekly plan tab lays every repeating send of the creator on a Monday to Sunday grid, with how many days of the week are covered. Press + on an empty day to plan a new weekly Mass DM right there, so no evening goes without a message. [Guide: The weekly plan, never miss an evening](https://lanachat.ai/guides/weekly-plan/) #### Follow every send, stop any time Scheduled and recent lists each send with its counts: sent, pending, paused after reply, failed. Open View recipients to see who got it, or press Stop sequence to cancel everything that has not gone out yet. #### Stops when the fan replies Stop when the fan replies is on by default: a fan who answers gets no more messages from the sequence, and the conversation carries on as usual. From the recipients list, Reactivate puts him back in the sequence, or Resume next scheduled run includes him again in the next weekly send. Nudge, a message sent when a fan comes online, is coming soon. #### How it works 1. Write the sequence: Pick the creator, write the messages, add media and a price if you want. 2. Choose the audience: All fans or one fan list. The count tells you who will receive it. 3. Choose when: Now, once or on a schedule. Follow each send in Scheduled and recent, and stop it at any moment. #### FAQ ### How many fans can one send reach? Up to 800 fans per send. Above that, pick a fan list to narrow the audience. ### Who is skipped? Fans who have not written in the last 24 hours, because Telegram only lets a bot reply within that window, and fans you excluded. ### Can I see who received it? Yes. Each send shows its counts (sent, pending, paused after a reply, failed) and the list of recipients. ### Analytics URL: https://lanachat.ai/features/analytics/ See what sells, and what to fix. The Dashboard is the live picture of today; Statistics tells you how a period went. Revenue, fans, conversations and scripts, per creator and per source, compared with the period before. #### Six tiles, then the detail The Overview opens on six tiles: new conversations, active fans, messages sent with the share written by the AI Brain, revenue, paying fans and median first reply. Each one shows how it moved against the period of the same length just before, and a faster first reply shows in green. Below, new conversations per day, revenue per day and messages by hour, in your local time. [Guide: Reading your numbers](https://lanachat.ai/guides/reading-your-numbers/) #### Every creator side by side The Creators tab gives one row per creator: revenue, sales, average sale, new conversations, buyers, conversion and AI replies, with the change in revenue when Compare is on. Sort any column, and click a row to switch the whole page to that creator. With All creators selected, the rows add up to the revenue of the Overview. #### From click to repeat buyer The Funnel follows the fans who started a conversation in the period through five steps: clicks on your tracking links, new conversations, engaged fans (3 messages or more), paying fans and repeat buyers. Each step shows its share of the previous one and of the total. The same five figures exist for each traffic source and for each tracking link, with conversion and revenue. #### Revenue, split the way you think Revenue per day comes in two parts: what the AI Brain closed on its own and what your team closed by hand. Five tiles add paying fans, ARPPU, average sale and refunds, shown apart because revenue is already net of them. Then revenue by creator and by traffic source, your top 10 fans with their purchases, and lifetime value by week of arrival to see whether newcomers pay sooner than older fans. #### When your fans write The Conversations tab maps messages by weekday and hour, with the busiest and the quietest hour of the week, and one switch shows new conversations instead. Next to it: AI and human messages per day, handovers to a human, the slowest 10% of first replies and how many messages each conversation got. Fan languages come from the market of the Telegram account each fan arrived on. #### The scripts and Brains that sell Scripts vs AI Brain shows the share of revenue closed by a script and the share the AI Brain closed on its own. For each script: sends, replies, reply rate, sales, revenue, revenue per send and the last 7 days of sends, one click away from the script itself. For each AI Brain: the new conversations it handled, its conversion, its revenue and the messages it takes to reach the first sale. #### The Dashboard, live The Dashboard is the picture of right now and refreshes on its own every minute: revenue, confirmed sales, new conversations, buyer rate and the conversations the AI stopped for safety. Pick a period from the last 24 hours to a custom range, filter by creator, or press Compare two creators to put two creators or two periods side by side. The agency owner can switch the charts between lines and bars and rearrange the cards in Layout mode. #### Every sale on record The Sales logs table lists every sale of the period, newest first, with the date, creator, content, fan, net earnings and status. Hover an amount to see what the fan paid. In Billing, Activity records each sale with its commission and whether Lana or your team sent the offer, and exports to CSV for your accountant. #### How it works 1. Pick a period: The last 30 days by default, Today, This month, All time or any custom range of up to 93 days. Turn on Compare with previous period. 2. Pick a creator: One creator or All creators for the whole agency. Every tab follows. 3. Read, then act: Open a top fan in Live Convs or a script from its row, and export the tab you need to CSV. #### FAQ ### What is the difference with the Dashboard? The Dashboard shows the live picture and refreshes every minute. Statistics looks back over a period, splits it by creator, source, fan and script, and compares it with the period before. ### How are traffic sources counted? From the Telegram account the fan arrived on, and from the tracking link he clicked if there was one. Fans who came without a link count in their source, not in any link. ### Can I read the figures in dollars? Yes. Switch Display currency in your account menu: dollars are an estimate at about $0.013 per Star, and Statistics exports carry both Stars and dollars. ### Tracking links URL: https://lanachat.ai/features/tracking-links/ Know which link brings the revenue. Every ad, story and bio gets its own link. Lana follows each new conversation from the first click to the last sale, per source and per creator. #### One link per source Press New link, name it, pick the domain and a slug generated from the name, then the traffic source: Instagram, TikTok, Snapchat, Meta, Google, Reddit, X or your own. Add the campaign name your ads team uses, and the UTM source, medium and campaign are filled in for you. Give every ad set its own link and you know which one to cut. [Guide: Track a new ad campaign from click to sale](https://lanachat.ai/guides/track-a-new-ad-campaign/) #### One account or the whole pool The Telegram destination is one precise account or the creator's Telegram pool, which spreads new conversations across her accounts automatically. Only connected accounts with a username can be picked. Before a big campaign, Pool load in Telegram Accounts shows how close each account is to its ceiling of 2,000 messages an hour. #### Clicks to revenue, per link The Links tab adds up clicks, conversations, buyers and revenue for the creator you filter on, with the lifetime value per fan. The table gives the same numbers for each link, next to its destination and source. Search by URL, slug, name, source or destination. #### An Analytics tab of its own Pick 7, 30 or 90 days to see the daily trend of clicks, conversations and buyers, and a funnel from click to started conversation, first message and buyer. Clicks and revenue are split by source, next to your top 10 links with their conversion, buyers and revenue. Export CSV downloads the day by day numbers of every link for your ads report. #### Your own domains In the Domains tab, add a subdomain you own, copy the CNAME and TXT records to your DNS provider, then press Check DNS. Each domain reads Verified, Pending DNS or Error, and the SSL certificate is issued automatically once it is verified. The star sets the default domain for new links, and the LanaChat domain is always there. #### Pixels for your ads Connect a Meta, TikTok, Snap or Google Ads pixel once in Pixels & events, then switch it on for each link. It reports the first Telegram message, confirmed purchases or both back to your ad platform, server to server. Only new events are sent, and messages, media and usernames never leave LanaChat. #### Custom events Press Add custom event to send your own signal: a fan's Nth message, a sale above an amount you set, or a tag added to the fan. Name it and pick the networks it goes to: it is sent server to server, like the automatic events. A test event code lets you check delivery before you spend. #### Test it, archive it Open the link from a Telegram account that is not a fan and write a message: its row counts the click and the conversation. Press the pencil to edit a link, or Archive it when the ad set stops. Archiving stops new clicks, keeps the attribution and revenue in your reports, and Restore brings the link back. #### How it works 1. Create a link: Pick the domain, the source and the account or pool it leads to, with or without pixels. 2. Share it: Put the full link in the ad, the story or the bio, never the bare t.me address. 3. Read the results: See which link and which source bring conversations, buyers and revenue. #### FAQ ### How is a sale attributed? To the first link the fan clicked, with verified Telegram Stars purchases. Totals will not match your ads manager exactly, because each network has its own attribution windows: compare trends. ### Can I use my own domain? Yes, a subdomain you own, such as go.youragency.com, not a root domain. The LanaChat domain is always available too. ### What does archiving a link do? It stops new clicks. Existing attribution and revenue stay in your reports, and you can restore the link later. ### API and MCP URL: https://lanachat.ai/api/ Plug your own tools in. A REST API for creators, accounts, Vault, scripts, conversations, tracking and billing, and an MCP server so an AI assistant can work in your workspace with the access you give it. #### A REST API for the whole workspace Everything your team does in the Console, your code can do too: creators, Telegram accounts, AI Brains, scripts, the Vault, fans and conversations, tracking, billing and your team. It is plain JSON over HTTPS, one URL per resource, with the same permissions as the Console. The API is not live yet, and the docs are already published as the contract it is built from. #### Built for scripts that run alone Every list answers one page and a cursor to the next one. Send an Idempotency-Key on each POST and a retry never does the work twice, even after a network error. Errors always carry the same body with a stable code to branch on and a plain sentence you can show to a person. #### One token, the permissions you pick In Users, API & MCP, press Create token, name it after the tool that will use it, then choose Workspace setup or tick Custom permissions one by one. The token is shown once: copy it, or copy a ready client configuration for your assistant. Only the workspace owner and agency owners can create tokens, and each one can be edited, rotated or revoked at any time. #### An MCP server for your assistant MCP is an open standard that lets an AI assistant use tools in an app on your behalf. Add the LanaChat server to Claude Code, Cursor, Claude Desktop or VS Code with your workspace URL and a token. Web connectors that only offer an OAuth sign-in cannot connect yet. #### Tools follow the token The assistant only sees the tools its token allows, and a tool it cannot use is not listed at all. It can read creators and accounts, sort the Vault, draft scripts with steps, media and Stars prices, edit a brain draft and test it in the Playground, read fans, conversations and sales. No tool sends a message to a fan, and publishing a brain needs the Publish AI Brain drafts permission: leave it off to keep the last word. #### Ask it like a colleague Ask which creators have an unfinished setup, or which tracking link brought the most buyers this week. Ask for a three-step win-back script with a paid set at 250 Stars, left inactive for you to review. The safest habit: let it work in drafts, test, and show you the result before anything is published. #### Webhooks on your server Instead of asking the API every minute, let LanaChat call you when a fan writes for the first time, buys or is refunded, when a media is ready or an account loses its connection. Every delivery is signed with HMAC-SHA256 so you can check it came from LanaChat. A failed delivery is retried 8 times over about 24 hours. #### What agencies build first Sync fans, conversations and what each fan bought into the CRM your team already uses. Read revenue per creator, per link and per source every hour in your own reports, or add a creator, connect her accounts, upload her Vault and write her first script in one run. Create one tracking link per ad from your ad tools, then read clicks, conversations and buyers per link. #### How it works 1. Create a token: In Users, API & MCP, pick its permissions and copy it once. 2. Connect: Call https://api.lanachat.ai/v1 from your server, or add the MCP endpoint to your assistant. 3. Build: Sync creators, draft scripts, read sales and receive webhooks for your reports. #### FAQ ### Can the assistant message fans? No. The MCP server never sends a message to a fan. The API will be able to, with the Chat with fans permission, which is planned and not available yet. ### Which workspace does a token act on? The one it was created in. A token of an owner workspace can act on one of its agencies with the LanaChat-Workspace header. ### When can I use it? The API and the MCP server are not live yet. The full reference is already in the guides, under API, so you can build against it today. ### Team and roles URL: https://lanachat.ai/features/team-and-roles/ Your whole team, each with the right access. Add chatters and managers, or create roles of your own. Roles decide what each person sees and does, branches group your team, and traffic is shared fairly between chatters. #### Add a member in one window Press Add member, fill in a first name and an e-mail, pick a role card and tick the creators they work on. Nothing is created until you press Add member, and Cancel leaves the team as it was. Then press Create access key and share it privately: each teammate signs in with their own key. #### Owner, Manager, Chatter In the permission table, each column is a role and each row a permission, grouped by area: Dashboard, Creators, AI Brain, Conversations, Vault, Scripts, Playground, Telegram and Employees. Owner always has every permission, from Send paid media to View and transfer Stars. Manager and Chatter are built in, and you can change what they allow with one tick, applied at once to every member who has them. #### Roles of your own Press New custom role, give it a name and a colour, and start from an existing role or from No permissions. Rename it or delete it from the menu at the top of its column. Rights on conversations, creator profiles and the Vault only ever apply to the creators assigned to each member. [Guide: Custom roles and the permission table](https://lanachat.ai/guides/custom-roles/) #### One exception, one person For a one-off exception, press Override for this member and flip only the switches you need. That person no longer follows the role, and Use role permissions puts them back on it. Only the agency owner can change access and permissions. #### Branches for your structure Agency structure groups your team in branches: a city, a shift, a site. Each card shows its manager, its members, its creators and its 30-day earnings. Press Add branch, then drag a member onto a card or use Move to. #### Traffic share between chatters When several chatters work on the same creator, set each one's Traffic share from their profile. The split is set per creator, across the Telegram accounts that chatter works on. #### The whole team in one table The table opens on Active members: switch to All or Disabled, search by name, and sort by Revenue, 30 days or Last active. Press a name to open their profile with identity, access, role, creators and traffic share. Turn off Active to cut access at once while keeping their role and creators, or Delete them to unassign their creators. #### Who closed the sale Whoever sends the paid offer makes the sale: an offer sent by your team from Live Convs, or by a script step, is a manual sale at 4%, 3% or 2%, while an offer Lana sends herself is an AI sale at 12%, 10% or 8%. A line under every paid offer says who sent it, so taking over a conversation never costs you more. In Billing, Activity filters sales by Sent by AI or Sent by human. #### How it works 1. Add a member: Type their first name and e-mail, pick a role and tick their creators. 2. Share the key: Create their access key and send it privately. Put them in a branch if you use branches. 3. Adjust: Edit the role, set traffic shares, or override one switch for one person. #### FAQ ### Do I pay per seat? No. You pay a licence per Telegram account and a commission on net sales. Teammates are not billed. ### Can I make my own roles? Yes. Create a role, copy the permissions of an existing one or start from none, then tick what it needs. ### Can a chatter see revenue? Only if their role has View revenue. Agency settings is open to the agency owner only. ## Comparisons ### LanaChat vs OnlyChat: which AI chatter for Telegram agencies? URL: https://lanachat.ai/compare/lanachat-vs-onlychat/ · updated 2026-10-23 Both tools put an AI on the creator's own Telegram account and sell locked media paid in Telegram Stars. OnlyChat runs on OnlyFans and Telegram with one AI and one set of scripts, at $20 per creator per month plus 15% of what the AI sells on Telegram. LanaChat is built for Telegram only, at $19 per account per month plus 12%, 10% or 8% of what Lana sells, the rate dropping as your agency's monthly sales grow. Every figure below comes from each product's own website, checked on October 22, 2026. Prices change: check both pricing pages before you decide. #### LanaChat and OnlyChat side by side | | LanaChat | OnlyChat | |---|---|---| | Telegram native | Yes, Telegram only. An account connects with its @username and the token of a bot linked through Telegram's business connection. | Yes, since March 2026, through a BotFather bot linked with Telegram Business. Also runs on OnlyFans; MYM is shown as "Soon". | | Telegram Stars | Locked media paid in Stars, in the chat. Payment links are supported too. | Locked media paid in Stars, in the chat. Droppfans payment links are supported too. | | Price on Telegram | $19 per account per month, or packs of 10, 25 and 50 for $170, $375 and $650. | $20 per creator per month for the Telegram licence (OnlyFans: $20 or $70 per month). | | Commission on AI sales | 12% of Lana's net sales up to $30,000 of monthly agency sales, 10% up to $100,000, 8% above. | 15% of AI net revenue on Telegram (10% on OnlyFans). | | Sales sent by your chatters | 4%, 3% or 2%, on the same monthly tiers. | 4% when sent by hand on a fan whose AI has been off for more than 30 minutes, 15% otherwise. | | Human chatters | Take over any conversation from Live Convs, roles per teammate, no per-seat fee. | Pause the AI on any fan and step in, no seat price for team members. | | Discounts | Never invented by the AI: only the reduced prices written in your scripts, which a discount ceiling in the AI Brain (0 to 60%) can cap. | Negotiates inside the limits you set. | | API | REST API and MCP server, documented, not live yet (every endpoint Planned). | "MCP / API access" listed on its pricing page. | | Languages | Lana writes in the languages set for each creator; the console is in 10 languages. | "Multilingual, human-like AI". | | Billing | Prepaid balance in USDT or USDC. | Prepaid balance by card, bank transfer or cryptocurrency. | | Trial | Sign-up is open at app.lanachat.ai/signup. Every new agency is reviewed before activation, no free trial. | No free trial, according to its own documentation. | #### What it costs on the same month Take 5 Telegram accounts and $10,000 of net sales closed by the AI in a month, at the prices published on October 22, 2026. LanaChat: 5 x $19 = $95 of licences, plus 12% of $10,000 = $1,200, so $1,295. OnlyChat: 5 x $20 = $100 of licences, plus 15% of $10,000 = $1,500, so $1,600. Each tool defines net sales in its own terms (LanaChat: what the fan paid minus Telegram's share, processor fees and refunds; OnlyChat: AI revenue net of platform fees), so treat this as an order of magnitude. #### Who should pick OnlyChat - Agencies that run the same creators on OnlyFans and on Telegram and want one AI and one set of scripts for both. - Teams that want the OnlyFans extras of its Premium plan: welcome messages, nudges when a fan comes back online, fan notes. - Agencies that prefer to top up by card or bank transfer. - Buyers who want a product with a long public help center, live on OnlyFans since May 2025. #### Who should pick LanaChat - Agencies whose fans pay on Telegram first, and who want a console built only for Telegram. - Agencies that sell more than $30,000 a month: the rate on Lana's sales drops to 10%, then 8% above $100,000. - Teams whose chatters still close many sales: those are charged 4%, 3% or 2%, whatever Lana was doing a minute earlier. - Agencies with many accounts: licences go down to $13 each in packs of 50. - Developers who want to drive the workspace later from a documented REST API or an AI assistant through MCP (not live yet, every endpoint Planned). #### FAQ ##### Is LanaChat or OnlyChat cheaper on Telegram? At the prices published on October 22, 2026, LanaChat charges $19 per account and 12%, 10% or 8% on AI sales; OnlyChat charges $20 per creator and 15% on AI sales on Telegram. On the same AI sales, LanaChat's commission is lower at every volume. ##### Do both sell in Telegram Stars? Yes. Both send locked media that the fan unlocks in the chat with Stars, from the creator's own account, and both also accept payment links. ##### Can my chatters take over a conversation? Yes, in both. In LanaChat a teammate takes over from Live Convs and the sales they send are charged 4%, 3% or 2%. In OnlyChat you pause the AI on a fan; a sale sent by hand is charged 4% once the AI has been off for that fan for more than 30 minutes. ##### Can I try LanaChat? Yes: sign-up is open at [app.lanachat.ai/signup](https://app.lanachat.ai/signup/). Every new agency is reviewed before activation, and there is no free trial. News and updates are on the Telegram channel [t.me/lanachatai](https://t.me/lanachatai). #### Sources - OnlyChat pricing: [only-chat.ai/pricing](https://only-chat.ai/pricing), checked October 22, 2026. - OnlyChat plans and commission: [docs.only-chat.ai/payments/plans-and-commission](https://docs.only-chat.ai/payments/plans-and-commission), updated September 12, 2026, checked October 22, 2026. - OnlyChat on Telegram: [only-chat.ai/telegram](https://only-chat.ai/telegram) and [docs.only-chat.ai/getting-started/welcome](https://docs.only-chat.ai/getting-started/welcome), checked October 22, 2026. - LanaChat: [pricing](https://lanachat.ai/#pricing), [API](https://lanachat.ai/api/) and the [public guides](https://lanachat.ai/guides/). ### LanaChat vs Supercreator: which AI chatter for Telegram agencies? URL: https://lanachat.ai/compare/lanachat-vs-supercreator/ · updated 2026-10-23 Supercreator and LanaChat work on different channels. Supercreator is an AI chatter (Izzy) and CRM built for OnlyFans, billed per account with a subscription that follows the account's earnings, plus 5% of Izzy's net sales on its Super AI plan. LanaChat is built for Telegram: Lana sells locked media paid in Telegram Stars, for $19 per account per month plus 12%, 10% or 8% of her net sales. Every figure below comes from each product's own website, checked on October 22, 2026. Prices change: check both pricing pages before you decide. #### LanaChat and Supercreator side by side | | LanaChat | Supercreator | |---|---|---| | Telegram native | Yes, Telegram only. An account connects with its @username and the token of a bot linked through Telegram's business connection. | Not published. The product is presented as built for OnlyFans. | | Telegram Stars | Locked media paid in Stars, in the chat. Payment links are supported too. | Not published. Izzy sells OnlyFans PPVs. | | Subscription | $19 per account per month, or packs of 10, 25 and 50 for $170, $375 and $650. | CRM Lite free up to 10 accounts (no AI). CRM Premium from $15 per account per month, 500 AI messages. Super AI from $99 per account per month, price and included messages set by the account's earnings. | | Commission on AI sales | 12% of Lana's net sales up to $30,000 of monthly agency sales, 10% up to $100,000, 8% above. | 5% of Izzy's net sales, after the OnlyFans cut. | | Pay per message | No: messages are not counted. | Every Izzy reply is one AI message; extra messages from $0.03 each on Super AI. | | Human chatters | Take over any conversation from Live Convs, roles per teammate, no per-seat fee; sales your chatters send are charged 4%, 3% or 2%. | Izzy passes hot conversations to a chatter; unlimited team members, chatter analytics. | | API | REST API and MCP server, documented, not live yet (every endpoint Planned). | Not published. | | Languages | Lana writes in the languages set for each creator; the console is in 10 languages. | Izzy "chats fluently in every language". | | Trial | Sign-up is open at app.lanachat.ai/signup. Every new agency is reviewed before activation, no free trial. | 14-day free trial, no credit card. | #### Who should pick Supercreator - Agencies whose fans pay on OnlyFans: Izzy, the CRM and the analytics are built around the OnlyFans inbox. - Creators who want to start with a free CRM (up to 10 accounts) and add AI later. - Teams that want a 14-day trial before they commit. - Agencies that want a low commission (5%) and accept paying for AI messages. #### Who should pick LanaChat - Agencies that sell on Telegram, where fans pay in Stars without leaving the chat. - Agencies with busy accounts: LanaChat does not count messages, it charges on sales only, on top of the $19 licence. - Teams that keep human chatters: their sales are charged 4%, 3% or 2%. - Developers who want a documented REST API and MCP server to drive the workspace later (not live yet, every endpoint Planned). Many agencies run both: Supercreator on the OnlyFans side, LanaChat on the creators' Telegram accounts. #### FAQ ##### Does Supercreator work on Telegram? Supercreator's site presents it as an AI chatter and CRM for OnlyFans and does not publish Telegram support (checked October 22, 2026). LanaChat works on Telegram only. ##### Which one is cheaper? They price differently. Supercreator's Super AI starts at $99 per account per month plus 5% of Izzy's net sales and a message allowance; LanaChat is $19 per account per month plus 12%, 10% or 8% of Lana's net sales, with no message count. The cheaper one depends on your sales per account and your channel. ##### Can I use Supercreator and LanaChat together? Yes. They connect to different platforms: Supercreator to OnlyFans accounts, LanaChat to Telegram accounts. Nothing stops an agency from running both. ##### Can I try LanaChat? Yes: sign-up is open at [app.lanachat.ai/signup](https://app.lanachat.ai/signup/). Every new agency is reviewed before activation, and there is no free trial. News and updates are on the Telegram channel [t.me/lanachatai](https://t.me/lanachatai). #### Sources - Supercreator pricing: [supercreator.app/pricing](https://www.supercreator.app/pricing), checked October 22, 2026. - Supercreator pricing FAQ: [help.supercreator.app](https://help.supercreator.app/en/articles/11960779-pricing-faq), published August 10, 2026, checked October 22, 2026. - Izzy and AI pricing: [help.supercreator.app](https://help.supercreator.app/en/articles/11993412-ai-pricing), published July 28, 2026, and [supercreator.app/ai-chatter](https://www.supercreator.app/ai-chatter), checked October 22, 2026. - LanaChat: [pricing](https://lanachat.ai/#pricing), [API](https://lanachat.ai/api/) and the [public guides](https://lanachat.ai/guides/). ### LanaChat vs Infloww: which AI chatter for Telegram agencies? URL: https://lanachat.ai/compare/lanachat-vs-infloww/ · updated 2026-10-23 Infloww and LanaChat do different jobs. Infloww is a CRM where your human chatters work the inboxes of OnlyFans, Fansly, MYM and Fanvue, at a flat $40 or $50 per creator profile per month with no commission. LanaChat is an AI chatter for Telegram: Lana replies to fans and sells locked media paid in Telegram Stars, for $19 per account per month plus 12%, 10% or 8% of her net sales. Every figure below comes from each product's own website, checked on October 22, 2026. Prices change: check both pricing pages before you decide. #### LanaChat and Infloww side by side | | LanaChat | Infloww | |---|---|---| | Telegram native | Yes, Telegram only. An account connects with its @username and the token of a bot linked through Telegram's business connection. | Not published. Its pricing page lists OnlyFans, Fansly, MYM and Fanvue. | | Telegram Stars | Locked media paid in Stars, in the chat. Payment links are supported too. | Not published. | | Who chats | Lana, the AI, in each creator's voice; your team takes over when it wants. | Your human chatters; an AI Copilot (in beta) helps them on the OnlyFans plan. | | Price | $19 per account per month, or packs of 10, 25 and 50 for $170, $375 and $650. | From $40 per creator profile per month on OnlyFans and Fansly, $50 on MYM and Fanvue. | | Commission | 12%, 10% or 8% of Lana's net sales by monthly agency sales; 4%, 3% or 2% on sales your chatters send. | None published: a flat monthly price per profile. | | Human chatters | Take over any conversation from Live Convs, roles per teammate, no per-seat fee. | The core of the product: shared inbox, scripts, split inbox, roles and employee reports. | | API | REST API and MCP server, documented, not live yet (every endpoint Planned). | Infloww API, listed as in beta. | | Languages | Lana writes in the languages set for each creator; the console is in 10 languages. | AI Translator, real-time translation across 30+ languages. | | Trial | Sign-up is open at app.lanachat.ai/signup. Every new agency is reviewed before activation, no free trial. | Free trial, no credit card required. | #### Who should pick Infloww - Agencies that run a human chat team on OnlyFans, Fansly, MYM or Fanvue and want one workspace for all of it. - Agencies that prefer a flat monthly price per profile with no share of sales. - Teams that need shift scheduling, split inboxes and employee reports for many chatters. - Buyers who want a free trial before they move their roster. #### Who should pick LanaChat - Agencies that sell on Telegram, where fans pay in Stars without leaving the chat. - Agencies that want an AI to answer every fan at any hour instead of staffing every shift, with humans kept for the conversations that need them. - Agencies that prefer to pay mostly when something sells: the licence is $19, the rest is a share of net sales. - Developers who want a documented REST API and MCP server to drive the workspace later (not live yet, every endpoint Planned). The two can sit side by side: Infloww for your chatters on OnlyFans and the other platforms, LanaChat for the creators' Telegram accounts. #### FAQ ##### Is Infloww an AI chatter? Not as published on October 22, 2026: Infloww is a CRM for human chat teams, with an AI Copilot in beta on its OnlyFans plan and an AI translator. LanaChat's AI, Lana, answers fans and sells on her own, and your team can take over. ##### Does Infloww support Telegram? Its pricing page lists OnlyFans, Fansly, MYM and Fanvue, not Telegram (checked October 22, 2026). LanaChat works on Telegram only. ##### Which one is cheaper? Infloww is a flat $40 or $50 per creator profile per month, and you also pay your chatters. LanaChat is $19 per account per month plus a share of the sales: 12%, 10% or 8% on Lana's, 4%, 3% or 2% on your chatters'. What you save on chat staff decides which is cheaper. ##### Can I try LanaChat? Yes: sign-up is open at [app.lanachat.ai/signup](https://app.lanachat.ai/signup/). Every new agency is reviewed before activation, and there is no free trial. News and updates are on the Telegram channel [t.me/lanachatai](https://t.me/lanachatai). #### Sources - Infloww pricing: [infloww.com/pricing](https://infloww.com/pricing), checked October 22, 2026. - Infloww home page and features: [infloww.com](https://infloww.com/), checked October 22, 2026. - Infloww API (beta) and AI Translator: [es.infloww.com/infloww-vs-onlymonster](https://es.infloww.com/infloww-vs-onlymonster), checked October 22, 2026. - LanaChat: [pricing](https://lanachat.ai/#pricing), [API](https://lanachat.ai/api/) and the [public guides](https://lanachat.ai/guides/). ### LanaChat vs Telestars: which AI chatter for Telegram agencies? URL: https://lanachat.ai/compare/lanachat-vs-telestars/ · updated 2026-10-23 Telestars and LanaChat are both built for Telegram: an AI replies from the creator's account and sells locked media paid in Telegram Stars. Telestars prices each bot on a plan, from a free plan at a 20% AI sales fee to Pro at $59.90 per month and 10%. LanaChat charges $19 per account per month plus 12%, 10% or 8% of Lana's net sales, the rate set by your whole agency's monthly sales. Every figure below comes from each product's own website, checked on October 22, 2026. Prices change: check both pricing pages before you decide. #### LanaChat and Telestars side by side | | LanaChat | Telestars | |---|---|---| | Telegram native | Yes, Telegram only. An account connects with its @username and the token of a bot linked through Telegram's business connection. | Yes. A BotFather bot linked to the Telegram Business profile (Secretary Mode). | | Telegram Stars | Locked media paid in Stars, in the chat. Payment links are supported too. | Locked media paid in Stars, in the chat; Dropfans payments added in October 2026. | | Price | $19 per account per month, or packs of 10, 25 and 50 for $170, $375 and $650. | Per bot per month: Free $0, Starter $29.90, Pro $59.90. | | Fee on AI sales | 12% of Lana's net sales up to $30,000 of monthly agency sales, 10% up to $100,000, 8% above. | 20% on Free, 15% on Starter, 10% on Pro. | | Fee on manual sales | 4%, 3% or 2%, on the same monthly tiers. | 7% on Free, 5% on Starter, 2.5% on Pro. | | Human chatters | Take over any conversation from Live Convs, roles per teammate, no per-seat fee, on every account. | Pause the AI and reply yourself; Hybrid Mode, team and employee statistics are on Pro. | | API | REST API and MCP server, documented, not live yet (every endpoint Planned). | API and MCP announced in its October 21, 2026 product update. | | Languages | Lana writes in the languages set for each creator; the console is in 10 languages. | Detects the fan's language, or locks replies to one supported language. | | Extras | Tracking links, mass DMs and nudges, AI Brain rules, Vault. | TeleFans storefront, channel and join-request flows, welcome DM. | | Trial | Sign-up is open at app.lanachat.ai/signup. Every new agency is reviewed before activation, no free trial. | A free plan per bot. | #### Who should pick Telestars - Creators and small teams who want to start at $0 per bot and pay only a sales fee. - Agencies that want channel automations: join requests, welcome DMs and a TeleFans storefront. - Agencies with a few very large accounts on Pro, where the AI fee is 10% from the first dollar. #### Who should pick LanaChat - Agencies with many Telegram accounts: licences go down to $13 each in packs of 50, and the rate follows the whole agency's sales, not each bot's plan. - Teams that need takeover, roles and per-teammate access on every account, with no higher plan to unlock them. - Agencies selling more than $100,000 a month, where Lana's rate drops to 8%. - Developers who want a documented REST API and MCP server to drive the workspace later (not live yet, every endpoint Planned). #### FAQ ##### What is the difference between Telestars and LanaChat? Both sell in Telegram Stars with an AI on the creator's account. Telestars sets the price and the fees per bot through three plans; LanaChat has one licence per account and a commission that drops as the agency's monthly sales grow. ##### Which one has the lower fee on AI sales? It depends on the plan and the volume. Telestars charges 20%, 15% or 10% by plan; LanaChat charges 12% up to $30,000 of monthly agency sales, 10% up to $100,000 and 8% above. ##### Can my chatters take over in both? Yes. In Telestars you pause the AI on a fan and reply yourself, and Hybrid Mode and team tools are on Pro. In LanaChat any teammate with access takes over from Live Convs on every account. ##### Can I try LanaChat? Yes: sign-up is open at [app.lanachat.ai/signup](https://app.lanachat.ai/signup/). Every new agency is reviewed before activation, and there is no free trial. News and updates are on the Telegram channel [t.me/lanachatai](https://t.me/lanachatai). #### Sources - Telestars home page and plans: [telestars.io](https://telestars.io/), checked October 22, 2026. - Telestars plans per bot: [docs.telestars.io](https://docs.telestars.io/docs/choose-a-plan-for-each-bot), updated July 31, 2026, checked October 22, 2026. - Telestars AI chatting and product updates: [docs.telestars.io](https://docs.telestars.io/docs/collections/ai-chatting) and [docs.telestars.io/docs](https://docs.telestars.io/docs), checked October 22, 2026. - LanaChat: [pricing](https://lanachat.ai/#pricing), [API](https://lanachat.ai/api/) and the [public guides](https://lanachat.ai/guides/). ### The best AI chatters for Telegram in 2026, compared URL: https://lanachat.ai/best-ai-chatter-for-telegram/ · updated 2026-10-22 **Short answer:** for an agency that sells on Telegram, LanaChat ranks first: built for Telegram only, sales in Telegram Stars, $19 per account per month and a fee on AI sales that drops from 12% to 8% as the agency grows. Telestars is the cheapest way to start, with a free plan per bot. OnlyChat suits agencies that want one AI on OnlyFans and Telegram; Supercreator and Infloww are built for OnlyFans and the other fan platforms, not Telegram. #### How we ranked them One job: an AI that chats with fans on the creator's own Telegram account and sells. Criteria, by weight: 1. **Telegram native.** A tool that does not publish Telegram support ranks below every tool that does. 2. **Sales in Telegram Stars**, inside the chat. 3. **What it costs an agency:** the entry price plus the fee on AI sales, for one account and for many. 4. **Human takeover** of any conversation. 5. **Languages and API.** #### The five tools side by side | | LanaChat | Telestars | OnlyChat | Supercreator | Infloww | |---|---|---|---|---|---| | Telegram native | Yes, Telegram only | Yes, built for Telegram | Yes, since March 2026, also OnlyFans | Not published, built for OnlyFans | Not published, OnlyFans, Fansly, MYM, Fanvue | | Telegram Stars | Yes, plus payment links | Yes, plus Dropfans | Yes, plus Droppfans links | Not published | Not published | | Entry price | $19 per account per month, $13 in packs of 50 | $0 per bot on Free, $29.90 Starter, $59.90 Pro | $20 per creator per month on Telegram | Super AI from $99 per account per month | From $40 per creator profile per month | | Fee on AI sales | 12%, 10%, 8% by monthly agency sales | 20%, 15%, 10% by plan | 15% on Telegram | 5% of Izzy's net sales | None: no AI chatter, flat price | | Languages | The fan's language, in each creator's voice | Detects the fan's language | "Multilingual, human-like AI" | "Every language" | AI Translator, 30+ languages | | Human takeover | Any conversation, every account, no seat fee | Pause the AI; team tools on Pro | Pause the AI on any fan | Izzy hands hot chats to a chatter | The core: human chat teams | | API | REST API and MCP server, documented | API and MCP announced | "MCP / API access" listed | Not published | API in beta | #### The ranking ##### 1. LanaChat **Best for:** agencies that sell on Telegram and run several creators' accounts. LanaChat is built for Telegram alone. An account connects with its @username and the token of a bot linked through Telegram's business connection: no phone number, password or login code. Lana replies in each fan's language, in the creator's voice, and sells locked media paid in Telegram Stars or through your own payment links (FanGate, Dropp Fans and more). The price is $19 per account per month, or $170, $375 and $650 for packs of 10, 25 and 50. On top, a share of net sales on one ladder for the whole agency: 12% of what Lana sells up to $30,000 a month, 10% up to $100,000, 8% above, and 4%, 3% or 2% on what your chatters sell. Above $100,000 a month, 8% is the lowest rate on AI sales among the three Telegram-native tools in this list. Lana makes discounts, within the limit the agency sets: only the reduced prices written in your scripts, capped by a discount ceiling of 0 to 60% in the AI Brain. She never invents one. Any teammate with access takes over a conversation from Live Convs, on every account, with no per-seat fee. Developers get a REST API and an MCP server. **Limits:** Telegram only, so OnlyFans needs another tool. No free trial: every new agency is reviewed before activation. Prepaid balance in USDT or USDC only; some API endpoints are still Planned. ##### 2. Telestars **Best for:** a creator or a small team that wants to start at $0. Telestars is also built for Telegram: a BotFather bot linked to the Telegram Business profile, locked media paid in Stars, plus join requests, a welcome DM and a TeleFans storefront. It meets the first two criteria and its free plan costs nothing per month. **Limits:** plans are priced per bot. The AI fee is 20% on Free and 15% on Starter; it reaches 10% only on Pro, at $59.90 per bot per month, so 20 bots on Pro cost $1,198 a month before fees, where 20 LanaChat licences cost $340 in two packs of 10. Team tools are on Pro only; the API and MCP were announced on October 21, 2026. ##### 3. OnlyChat **Best for:** agencies that run the same creators on OnlyFans and Telegram and want one AI for both. OnlyChat sells locked media in Stars from the creator's account since March 2026, with no seat price for team members. **Limits:** 15% of AI sales on Telegram at every volume. A sale your chatter sends is charged 4% only once the AI has been off for that fan for more than 30 minutes, 15% otherwise. No free trial. With 5 accounts and $10,000 of AI sales in a month, OnlyChat costs $1,600 and LanaChat $1,295. ##### 4. Supercreator **Best for:** agencies whose fans pay on OnlyFans. Its AI chatter, Izzy, sells OnlyFans PPVs for 5% of its net sales, with a CRM and a 14-day free trial. **Limits:** Telegram and Stars are not published. Super AI starts at $99 per account per month, and extra AI messages cost from $0.03 each. ##### 5. Infloww **Best for:** human chat teams on OnlyFans, Fansly, MYM and Fanvue. A CRM for human chatters (shared inbox, roles, employee reports) at a flat $40 or $50 per creator profile per month, no commission. **Limits:** it is not an AI chatter (an AI Copilot is in beta on its OnlyFans plan), Telegram is not listed, and you still pay your chatters. #### Read the full comparisons Tool by tool: [LanaChat vs Telestars](https://lanachat.ai/compare/lanachat-vs-telestars/), [LanaChat vs OnlyChat](https://lanachat.ai/compare/lanachat-vs-onlychat/), [LanaChat vs Supercreator](https://lanachat.ai/compare/lanachat-vs-supercreator/) and [LanaChat vs Infloww](https://lanachat.ai/compare/lanachat-vs-infloww/). LanaChat's prices and estimator: [pricing](https://lanachat.ai/#pricing). #### FAQ ##### What is the best AI chatter for Telegram? For an agency selling on Telegram, LanaChat: Telegram only, sales in Stars, takeover on every account, $19 per account per month plus 12%, 10% or 8% of AI net sales. Telestars is the cheapest start. ##### Which AI chatter for Telegram has the lowest fee on AI sales? Among the Telegram-native tools, at the prices published on October 22, 2026: LanaChat charges 12% up to $30,000 of monthly agency sales, 10% up to $100,000 and 8% above; Telestars 20%, 15% or 10% by plan; OnlyChat 15%. Supercreator takes 5%, but on OnlyFans. ##### Do Supercreator and Infloww work on Telegram? Neither publishes Telegram support, checked on October 22, 2026. Supercreator is built for OnlyFans; Infloww lists OnlyFans, Fansly, MYM and Fanvue. ##### Can my chatters take over from the AI? In the three AI chatters, yes. In LanaChat any teammate takes over from Live Convs on every account, their sales charged 4%, 3% or 2%. Telestars keeps team tools for Pro. Supercreator and Infloww are tools for human chatters, so there is no AI to take over from. ##### Is this ranking independent? No. LanaChat publishes this page and ranks itself first, on the criteria stated at the top. Every competitor figure comes from that product's own website, linked and dated below. Prices change: check before you decide. #### Sources Competitor pages checked on October 22, 2026. - Telestars: [telestars.io](https://telestars.io/), [plans per bot](https://docs.telestars.io/docs/choose-a-plan-for-each-bot) and [product updates](https://docs.telestars.io/docs). - OnlyChat: [pricing](https://only-chat.ai/pricing), [plans and commission](https://docs.only-chat.ai/payments/plans-and-commission) and [Telegram](https://only-chat.ai/telegram). - Supercreator: [pricing](https://www.supercreator.app/pricing) and [AI pricing](https://help.supercreator.app/en/articles/11993412-ai-pricing). - Infloww: [pricing](https://infloww.com/pricing), [home page](https://infloww.com/) and [Infloww vs OnlyMonster](https://es.infloww.com/infloww-vs-onlymonster) for the AI Translator and the API beta. - LanaChat: [pricing](https://lanachat.ai/#pricing), [API](https://lanachat.ai/api/) and the [public guides](https://lanachat.ai/guides/). ## Alternatives ### OnlyChat alternative for Telegram agencies: LanaChat URL: https://lanachat.ai/alternatives/onlychat-alternative/ · updated 2026-10-23 **Short answer:** LanaChat is an OnlyChat alternative built for Telegram only. Its AI, Lana, replies from the creator's own Telegram account and sells locked media paid in Telegram Stars, for $19 per account per month plus 12%, 10% or 8% of her net sales. OnlyChat charges $20 per creator per month and 15% of AI net revenue on Telegram (prices checked on October 22, 2026). #### Why agencies look for an OnlyChat alternative OnlyChat went live on OnlyFans in May 2025 and added Telegram in March 2026, through a BotFather bot linked with Telegram Business. It runs one AI and one set of scripts across both platforms, which suits agencies that sell on OnlyFans and Telegram at once. Agencies whose fans pay on Telegram first compare it on three points. - **The rate on AI sales.** OnlyChat publishes 15% of AI net revenue on Telegram, whatever your volume. On LanaChat the rate follows your agency's total monthly net sales: 12% up to $30,000, 10% up to $100,000, 8% above. - **Sales sent by hand.** OnlyChat charges 4% on a manual sale only once the AI has been off for that fan for more than 30 minutes, and 15% otherwise. LanaChat charges 4%, 3% or 2% on every sale your team sends from Live Convs or a script step, whatever Lana was doing a minute earlier. - **How you pay.** OnlyChat is topped up by card, bank transfer or cryptocurrency. LanaChat runs on a prepaid balance in USDT or USDC, with no per-seat fee. #### What LanaChat does differently - **Telegram only, no login.** An account connects with its @username and the token of a bot linked through Telegram's business connection: no phone number, password or login code. See [Telegram accounts](https://lanachat.ai/features/telegram-accounts/). - **Discounts are never invented.** Lana only uses the reduced prices written in your scripts, and a discount ceiling in the AI Brain (0 to 60%) can cap them. See [AI Brain](https://lanachat.ai/features/ai-brain/). - **A CRM built for takeover.** Your team reads every conversation in Live Convs, follows up to 9 chats side by side and takes over one fan in one click. See [CRM](https://lanachat.ai/features/live-convs/). - **Scripts with one price per step.** Write the sequences that sell, with media and a Stars price on each step, then see which scripts sell. See [Scripts](https://lanachat.ai/features/scripts/). - **A documented REST API and MCP server.** The contract to drive creators, accounts, Vault, scripts, conversations, tracking and billing is published; the API is not live yet. See [API](https://lanachat.ai/api/). #### OnlyChat and LanaChat side by side | | LanaChat | OnlyChat | |---|---|---| | Telegram native | Yes, Telegram only. An account connects with its @username and the token of a bot linked through Telegram's business connection. | Yes, since March 2026, through a BotFather bot linked with Telegram Business. Also runs on OnlyFans; MYM is shown as "Soon". | | Telegram Stars | Locked media paid in Stars, in the chat. Payment links are supported too. | Locked media paid in Stars, in the chat. Droppfans payment links are supported too. | | Price on Telegram | $19 per account per month, or packs of 10, 25 and 50 for $170, $375 and $650. | $20 per creator per month for the Telegram licence (OnlyFans: $20 or $70 per month). | | Commission on AI sales | 12% of Lana's net sales up to $30,000 of monthly agency sales, 10% up to $100,000, 8% above. | 15% of AI net revenue on Telegram (10% on OnlyFans). | | Sales sent by your chatters | 4%, 3% or 2%, on the same monthly tiers. | 4% when sent by hand on a fan whose AI has been off for more than 30 minutes, 15% otherwise. | | Human chatters | Take over any conversation from Live Convs, roles per teammate, no per-seat fee. | Pause the AI on any fan and step in, no seat price for team members. | | Discounts | Never invented by the AI: only the reduced prices written in your scripts, which a discount ceiling in the AI Brain (0 to 60%) can cap. | Negotiates inside the limits you set. | | API | REST API and MCP server, documented, not live yet (every endpoint Planned). | "MCP / API access" listed on its pricing page. | | Languages | Lana writes in the languages set for each creator; the console is in 10 languages. | "Multilingual, human-like AI". | | Billing | Prepaid balance in USDT or USDC. | Prepaid balance by card, bank transfer or cryptocurrency. | | Trial | Sign-up is open at app.lanachat.ai/signup. Every new agency is reviewed before activation, no free trial. | No free trial, according to its own documentation. | Every figure comes from each product's own website, checked on October 22, 2026. The full comparison, with a cost example on the same month and who each tool suits, is on [LanaChat vs OnlyChat](https://lanachat.ai/compare/lanachat-vs-onlychat/). #### FAQ ##### Is LanaChat a good OnlyChat alternative on Telegram? If your fans pay on Telegram, yes: LanaChat is built for Telegram only and sells locked media paid in Stars from the creator's own account. If you need one AI for OnlyFans and Telegram together, OnlyChat covers both, and LanaChat does not work on OnlyFans. ##### Is LanaChat cheaper than OnlyChat on Telegram? At the prices published on October 22, 2026, yes: $19 per account against $20 per creator, and 12%, 10% or 8% on AI sales against 15%. Each tool defines net sales in its own terms, so compare on your own numbers. ##### Is there a free trial? No. Sign-up is open, every new agency is reviewed by the LanaChat team before activation, and there is no free trial. OnlyChat does not offer a free trial either, according to its own documentation. ##### How do I get started with LanaChat? Press [Get started](https://lanachat.ai/signup/) to create your agency's account. Questions go to the chat on this site or to the Telegram channel [t.me/lanachatai](https://t.me/lanachatai). #### Sources - OnlyChat pricing: [only-chat.ai/pricing](https://only-chat.ai/pricing), checked October 22, 2026. - OnlyChat plans and commission: [docs.only-chat.ai/payments/plans-and-commission](https://docs.only-chat.ai/payments/plans-and-commission), updated September 12, 2026, checked October 22, 2026. - OnlyChat on Telegram: [only-chat.ai/telegram](https://only-chat.ai/telegram) and [docs.only-chat.ai/getting-started/welcome](https://docs.only-chat.ai/getting-started/welcome), checked October 22, 2026. - LanaChat: [pricing](https://lanachat.ai/#pricing), [API](https://lanachat.ai/api/) and the [public guides](https://lanachat.ai/guides/). ### Supercreator alternative for Telegram agencies: LanaChat URL: https://lanachat.ai/alternatives/supercreator-alternative/ · updated 2026-10-23 **Short answer:** LanaChat is a Supercreator alternative for agencies that sell on Telegram. Supercreator's AI chatter, Izzy, and its CRM are built for OnlyFans and do not publish Telegram support. LanaChat is built for Telegram only: Lana sells locked media paid in Telegram Stars for $19 per account per month plus 12%, 10% or 8% of her net sales, and messages are never counted (checked on October 22, 2026). #### Why agencies look for a Supercreator alternative Supercreator is a strong fit for an OnlyFans inbox: a free CRM up to 10 accounts, Izzy on top, a 5% commission on Izzy's net sales and a 14-day free trial. Agencies look elsewhere when their fans move to Telegram. - **The channel.** Supercreator's site presents the product as built for OnlyFans. Telegram support and Telegram Stars are not published. - **Paying per message.** On the Super AI plan, from $99 per account per month, the price and the included messages follow the account's earnings, and extra messages cost from $0.03 each. CRM Premium, from $15 per account per month, includes 500 AI messages. A busy account pays for its volume. - **Plugging in your own tools.** Supercreator does not publish an API. LanaChat documents a REST API and an MCP server, not live yet. To be fair to it: Supercreator's 5% commission is lower than LanaChat's rate, and it has a free trial where LanaChat has none. #### What LanaChat does differently - **Sales in Telegram Stars, in the chat.** Each Vault item has a price in Stars and a short description, so Lana picks the right one at the right moment. Your own payment links work too. See [Vault and paid media](https://lanachat.ai/features/vault-and-paid-media/). - **No message count.** You pay $19 per Telegram account per month and a share of net sales. Fans' messages cost nothing, and Lana's replies are not metered. - **Your chatters stay in the loop.** Any teammate takes over a conversation from Live Convs, and the sales they send are charged 4%, 3% or 2%. See [CRM](https://lanachat.ai/features/live-convs/). - **Mass DMs that stop when a fan replies.** Message+ sends a short sequence to all fans of a creator or one list, now, once or every week. See [Message+](https://lanachat.ai/features/mass-dm-and-nudges/). - **Revenue per source.** Every ad, story and bio gets its own tracking link, followed from the first click to the last sale. See [Tracking links](https://lanachat.ai/features/tracking-links/). #### Supercreator and LanaChat side by side | | LanaChat | Supercreator | |---|---|---| | Telegram native | Yes, Telegram only. An account connects with its @username and the token of a bot linked through Telegram's business connection. | Not published. The product is presented as built for OnlyFans. | | Telegram Stars | Locked media paid in Stars, in the chat. Payment links are supported too. | Not published. Izzy sells OnlyFans PPVs. | | Subscription | $19 per account per month, or packs of 10, 25 and 50 for $170, $375 and $650. | CRM Lite free up to 10 accounts (no AI). CRM Premium from $15 per account per month, 500 AI messages. Super AI from $99 per account per month, price and included messages set by the account's earnings. | | Commission on AI sales | 12% of Lana's net sales up to $30,000 of monthly agency sales, 10% up to $100,000, 8% above. | 5% of Izzy's net sales, after the OnlyFans cut. | | Pay per message | No: messages are not counted. | Every Izzy reply is one AI message; extra messages from $0.03 each on Super AI. | | Human chatters | Take over any conversation from Live Convs, roles per teammate, no per-seat fee; sales your chatters send are charged 4%, 3% or 2%. | Izzy passes hot conversations to a chatter; unlimited team members, chatter analytics. | | API | REST API and MCP server, documented, not live yet (every endpoint Planned). | Not published. | | Languages | Lana writes in the languages set for each creator; the console is in 10 languages. | Izzy "chats fluently in every language". | | Trial | Sign-up is open at app.lanachat.ai/signup. Every new agency is reviewed before activation, no free trial. | 14-day free trial, no credit card. | Every figure comes from each product's own website, checked on October 22, 2026. The full comparison, with who each tool suits, is on [LanaChat vs Supercreator](https://lanachat.ai/compare/lanachat-vs-supercreator/). #### FAQ ##### Does Supercreator work on Telegram? Supercreator's site presents it as an AI chatter and CRM for OnlyFans and does not publish Telegram support (checked on October 22, 2026). LanaChat works on Telegram only. ##### Which one is cheaper? They price differently. Supercreator's Super AI starts at $99 per account per month plus 5% of Izzy's net sales and a message allowance. LanaChat is $19 per account per month plus 12%, 10% or 8% of Lana's net sales, with no message count. Your sales per account and your channel decide. ##### Can I use Supercreator and LanaChat together? Yes. They connect to different platforms: Supercreator to OnlyFans accounts, LanaChat to Telegram accounts. Nothing stops an agency from running both. ##### How do I get started with LanaChat? Press [Get started](https://lanachat.ai/signup/) to create your agency's account. Every new agency is reviewed before activation, and there is no free trial. Questions go to the chat on this site or to the Telegram channel [t.me/lanachatai](https://t.me/lanachatai). #### Sources - Supercreator pricing: [supercreator.app/pricing](https://www.supercreator.app/pricing), checked October 22, 2026. - Supercreator pricing FAQ: [help.supercreator.app](https://help.supercreator.app/en/articles/11960779-pricing-faq), published August 10, 2026, checked October 22, 2026. - Izzy and AI pricing: [help.supercreator.app](https://help.supercreator.app/en/articles/11993412-ai-pricing), published July 28, 2026, and [supercreator.app/ai-chatter](https://www.supercreator.app/ai-chatter), checked October 22, 2026. - LanaChat: [pricing](https://lanachat.ai/#pricing), [API](https://lanachat.ai/api/) and the [public guides](https://lanachat.ai/guides/). ### Infloww alternative for Telegram agencies: LanaChat URL: https://lanachat.ai/alternatives/infloww-alternative/ · updated 2026-10-23 **Short answer:** LanaChat is an Infloww alternative for agencies that want an AI to chat on Telegram. Infloww is a CRM where your human chatters work the inboxes of OnlyFans, Fansly, MYM and Fanvue, from $40 per creator profile per month. LanaChat puts Lana, an AI, on the creator's Telegram account to reply and sell locked media paid in Telegram Stars, for $19 per account per month plus a share of net sales (checked on October 22, 2026). #### Why agencies look for an Infloww alternative Infloww does a different job well: a shared inbox, scripts, split inboxes, roles and employee reports for a human chat team, at a flat monthly price per profile with no commission, plus a free trial and an AI translator across 30+ languages. Agencies look for an alternative for three reasons. - **Telegram.** Infloww's pricing page lists OnlyFans, Fansly, MYM and Fanvue, not Telegram, and Telegram Stars are not published. - **Who does the chatting.** On Infloww your chatters write the messages; its AI Copilot, listed in beta on the OnlyFans plan, helps them. Every shift still needs a person. - **The API.** The Infloww API is listed as in beta. LanaChat documents a REST API and an MCP server, not live yet. #### What LanaChat does differently - **An AI that answers every fan, day and night.** Lana replies in each creator's voice and in the language each fan writes in, sells media at the price you set and never invents a discount. See [AI Brain](https://lanachat.ai/features/ai-brain/). - **Humans for the conversations that need them.** Your team reads every chat in Live Convs and takes over one fan in one click; sales your chatters send are charged 4%, 3% or 2%. See [CRM](https://lanachat.ai/features/live-convs/). - **Follow-ups when a fan goes quiet.** Lana writes again to fans who stopped answering, following the rules you set. See [AI Brain](https://lanachat.ai/features/ai-brain/). - **Roles, branches and no seat price.** Add chatters and managers, or roles of your own, and share traffic fairly between chatters. See [Team and roles](https://lanachat.ai/features/team-and-roles/). - **Numbers per creator and per source.** Revenue, fans, conversations and scripts over any period, compared with the one before. See [Analytics](https://lanachat.ai/features/analytics/). #### Infloww and LanaChat side by side | | LanaChat | Infloww | |---|---|---| | Telegram native | Yes, Telegram only. An account connects with its @username and the token of a bot linked through Telegram's business connection. | Not published. Its pricing page lists OnlyFans, Fansly, MYM and Fanvue. | | Telegram Stars | Locked media paid in Stars, in the chat. Payment links are supported too. | Not published. | | Who chats | Lana, the AI, in each creator's voice; your team takes over when it wants. | Your human chatters; an AI Copilot (in beta) helps them on the OnlyFans plan. | | Price | $19 per account per month, or packs of 10, 25 and 50 for $170, $375 and $650. | From $40 per creator profile per month on OnlyFans and Fansly, $50 on MYM and Fanvue. | | Commission | 12%, 10% or 8% of Lana's net sales by monthly agency sales; 4%, 3% or 2% on sales your chatters send. | None published: a flat monthly price per profile. | | Human chatters | Take over any conversation from Live Convs, roles per teammate, no per-seat fee. | The core of the product: shared inbox, scripts, split inbox, roles and employee reports. | | API | REST API and MCP server, documented, not live yet (every endpoint Planned). | Infloww API, listed as in beta. | | Languages | Lana writes in the languages set for each creator; the console is in 10 languages. | AI Translator, real-time translation across 30+ languages. | | Trial | Sign-up is open at app.lanachat.ai/signup. Every new agency is reviewed before activation, no free trial. | Free trial, no credit card required. | Every figure comes from each product's own website, checked on October 22, 2026. The full comparison, with who each tool suits, is on [LanaChat vs Infloww](https://lanachat.ai/compare/lanachat-vs-infloww/). #### FAQ ##### Is Infloww an AI chatter? Not as published on October 22, 2026: Infloww is a CRM for human chat teams, with an AI Copilot in beta on its OnlyFans plan and an AI translator. LanaChat's AI, Lana, answers fans and sells on her own, and your team can take over. ##### Does Infloww support Telegram? Its pricing page lists OnlyFans, Fansly, MYM and Fanvue, not Telegram (checked on October 22, 2026). LanaChat works on Telegram only. ##### Which one is cheaper? Infloww is a flat $40 or $50 per creator profile per month, and you also pay your chatters. LanaChat is $19 per account per month plus a share of the sales: 12%, 10% or 8% on Lana's, 4%, 3% or 2% on your chatters'. What you save on chat staff decides. ##### How do I get started with LanaChat? Press [Get started](https://lanachat.ai/signup/) to create your agency's account. Every new agency is reviewed before activation, and there is no free trial. Questions go to the chat on this site or to the Telegram channel [t.me/lanachatai](https://t.me/lanachatai). #### Sources - Infloww pricing: [infloww.com/pricing](https://infloww.com/pricing), checked October 22, 2026. - Infloww home page and features: [infloww.com](https://infloww.com/), checked October 22, 2026. - Infloww API (beta) and AI Translator: [es.infloww.com/infloww-vs-onlymonster](https://es.infloww.com/infloww-vs-onlymonster), checked October 22, 2026. - LanaChat: [pricing](https://lanachat.ai/#pricing), [API](https://lanachat.ai/api/) and the [public guides](https://lanachat.ai/guides/). ### Telestars alternative for Telegram agencies: LanaChat URL: https://lanachat.ai/alternatives/telestars-alternative/ · updated 2026-10-23 **Short answer:** LanaChat is a Telestars alternative for agencies with many Telegram accounts. Both sell locked media paid in Telegram Stars from the creator's account. Telestars prices each bot on a plan, from Free at a 20% AI sales fee to Pro at $59.90 per month and 10%. LanaChat charges $19 per account per month plus 12%, 10% or 8% of Lana's net sales, the rate set by your whole agency's monthly sales (checked on October 22, 2026). #### Why agencies look for a Telestars alternative Telestars is built for Telegram, like LanaChat, and it is easy to start with: a free plan per bot, channel automations such as join requests and welcome DMs, and a TeleFans storefront. Agencies that grow past a handful of bots compare it on three points. - **Plans per bot.** The fee on AI sales depends on each bot's plan: 20% on Free, 15% on Starter at $29.90, 10% on Pro at $59.90. With many accounts, you manage a plan per bot. - **Team tools behind a plan.** Hybrid Mode, team and employee statistics are on Pro. In LanaChat, takeover, roles and per-teammate access work on every account. - **Manual sales.** Telestars charges 7%, 5% or 2.5% on manual sales by plan. LanaChat charges 4%, 3% or 2% on the sales your team sends, on the same monthly tiers as Lana's. Telestars announced an API and an MCP server in its October 21, 2026 product update; LanaChat's REST API and MCP server are documented, not live yet. #### What LanaChat does differently - **One licence per account.** $19 per Telegram account per month, or packs of 10, 25 and 50 for $170, $375 and $650, down to $13 each. Licences move between accounts for free. See [Telegram accounts](https://lanachat.ai/features/telegram-accounts/). - **Pools that share the load.** Accounts with the same market and traffic source form a pool, and Pool load shows each account against a ceiling of 2,000 messages an hour. See [Telegram accounts](https://lanachat.ai/features/telegram-accounts/). - **Takeover and roles on every account.** Owner, Manager, Chatter or roles of your own, with no higher plan to unlock them. See [Team and roles](https://lanachat.ai/features/team-and-roles/). - **Tracking links with your own domains.** One link per ad, story or bio, pixels for your ads, and revenue per source and per creator. See [Tracking links](https://lanachat.ai/features/tracking-links/). - **A documented REST API and MCP server.** The contract to drive creators, accounts, Vault, scripts, conversations, tracking and billing is published; the API is not live yet. See [API](https://lanachat.ai/api/). #### Telestars and LanaChat side by side | | LanaChat | Telestars | |---|---|---| | Telegram native | Yes, Telegram only. An account connects with its @username and the token of a bot linked through Telegram's business connection. | Yes. A BotFather bot linked to the Telegram Business profile (Secretary Mode). | | Telegram Stars | Locked media paid in Stars, in the chat. Payment links are supported too. | Locked media paid in Stars, in the chat; Dropfans payments added in October 2026. | | Price | $19 per account per month, or packs of 10, 25 and 50 for $170, $375 and $650. | Per bot per month: Free $0, Starter $29.90, Pro $59.90. | | Fee on AI sales | 12% of Lana's net sales up to $30,000 of monthly agency sales, 10% up to $100,000, 8% above. | 20% on Free, 15% on Starter, 10% on Pro. | | Fee on manual sales | 4%, 3% or 2%, on the same monthly tiers. | 7% on Free, 5% on Starter, 2.5% on Pro. | | Human chatters | Take over any conversation from Live Convs, roles per teammate, no per-seat fee, on every account. | Pause the AI and reply yourself; Hybrid Mode, team and employee statistics are on Pro. | | API | REST API and MCP server, documented, not live yet (every endpoint Planned). | API and MCP announced in its October 21, 2026 product update. | | Languages | Lana writes in the languages set for each creator; the console is in 10 languages. | Detects the fan's language, or locks replies to one supported language. | | Extras | Tracking links, mass DMs and nudges, AI Brain rules, Vault. | TeleFans storefront, channel and join-request flows, welcome DM. | | Trial | Sign-up is open at app.lanachat.ai/signup. Every new agency is reviewed before activation, no free trial. | A free plan per bot. | Every figure comes from each product's own website, checked on October 22, 2026. The full comparison, with who each tool suits, is on [LanaChat vs Telestars](https://lanachat.ai/compare/lanachat-vs-telestars/). #### FAQ ##### What is the difference between Telestars and LanaChat? Both sell in Telegram Stars with an AI on the creator's account. Telestars sets the price and the fees per bot through three plans; LanaChat has one licence per account and a commission that drops as the agency's monthly sales grow. ##### Which one has the lower fee on AI sales? It depends on the plan and the volume. Telestars charges 20%, 15% or 10% by plan; LanaChat charges 12% up to $30,000 of monthly agency sales, 10% up to $100,000 and 8% above. ##### Can my chatters take over in both? Yes. In Telestars you pause the AI on a fan and reply yourself, and Hybrid Mode and team tools are on Pro. In LanaChat any teammate with access takes over from Live Convs on every account. ##### How do I get started with LanaChat? Press [Get started](https://lanachat.ai/signup/) to create your agency's account. Every new agency is reviewed before activation, and there is no free trial. Questions go to the chat on this site or to the Telegram channel [t.me/lanachatai](https://t.me/lanachatai). #### Sources - Telestars home page and plans: [telestars.io](https://telestars.io/), checked October 22, 2026. - Telestars plans per bot: [docs.telestars.io](https://docs.telestars.io/docs/choose-a-plan-for-each-bot), updated July 31, 2026, checked October 22, 2026. - Telestars AI chatting and product updates: [docs.telestars.io](https://docs.telestars.io/docs/collections/ai-chatting) and [docs.telestars.io/docs](https://docs.telestars.io/docs), checked October 22, 2026. - LanaChat: [pricing](https://lanachat.ai/#pricing), [API](https://lanachat.ai/api/) and the [public guides](https://lanachat.ai/guides/). ## What's new URL: https://lanachat.ai/changelog/ ### 2026-10-23 - New pages for agencies comparing tools: [Alternatives](https://lanachat.ai/alternatives/) to OnlyChat, Supercreator, Infloww and Telestars, a [facts and figures](https://lanachat.ai/facts/) page you can quote, and this changelog. - The help center grows to 80 guides, with 20 new ones: your first week, follow-ups, sales tone, when Lana should not answer, the go-live checklist and what to do when Lana does not reply. Guides now show real screenshots of the console, and you can tell us whether a guide helped. - Contact goes through one place: the chat on this site, in the console and in the guides. News stays on the Telegram channel. - Pricing now lives in one section of the home page, with the monthly estimator next to the table. ### 2026-10-22 - Sign-up is open to every agency. Each new agency is reviewed by the LanaChat team before activation, and there is no free trial. - Simpler pricing: $19 per Telegram account per month, 12%, 10% or 8% on Lana's sales and 4%, 3% or 2% on your team's, on one monthly counter for the whole agency. - New sign-in and sign-up pages. - Comparison pages: LanaChat vs OnlyChat, Supercreator, Infloww and Telestars, and a ranking of the best AI chatters for Telegram. - Public developer docs: an API page, a quick start in curl, JavaScript and Python, eight complete recipes, and every webhook event documented. - Solution pages for agencies, creators and chatting teams, and an All features page. - The home page, the API page and the feature pages are available in 10 languages, each language at its own address. - Scripts: Duplicate from the script editor creates a copy that stays off until you switch it on. ### 2026-10-21 - 13 new guides on money: balance, licences, the share of sales, refunds, fan payments and the affiliate program. - Telegram Accounts: accounts are grouped by pool inside each creator card. - The guides are available in 10 languages. ### 2026-10-20 - Every feature has a short demo video, with Lana's voice-over behind a Sound button. - The help center is redesigned around one search bar and collections of guides. - Full legal pages: Terms, Privacy, Cookies, Acceptable Use and the Data Processing Agreement. ### 2026-10-16 - Live Convs: pick the Telegram account you reply from, or All accounts, grouped by creator. - A persona per Telegram account: change a creator's persona fields on one account only, with suggested values to start from. ## Solutions ### Every creator, every chatter, one console. URL: https://lanachat.ai/for/agencies/ LanaChat for agencies: Lana chats with the fans of every creator on Telegram, your team takes over when it counts. $19 per account, no seats. ##### Can I run several brands or agencies from one workspace? Yes. An owner workspace can manage several agencies. Group your team in branches by city, brand or shift, give each member access only to the creators and screens their role allows, and pay everything from one balance. ##### Do I pay for each chatter or manager? No. You pay a licence per Telegram account and a commission on net sales. Teammates are never billed, however many you add. ##### Can some creators stay fully manual? Yes. Each creator has a response mode, and Lana can be switched off for any single conversation from Live Convs. Sales your team sends by hand are billed at the manual rate: 4%, 3%, then 2%. ##### Who receives the fans' money? Your agency does. Fans pay in Telegram Stars on the creator's bot or through your own payment links, such as FanGate or Dropp Fans. LanaChat never receives or holds fan money: our share is taken from your prepaid balance. ### Your fans get an answer at 3am. You get to sleep. URL: https://lanachat.ai/for/creators/ LanaChat for creators who sell on Telegram: Lana replies to your fans in your voice, sells your media at your prices, and you take over anytime. ##### Do I have to give my Telegram password? No. You give your @username and the token of the bot linked to your account. LanaChat never asks for a phone number, a password or a login code. ##### Can Lana give discounts on my content? Lana never invents a discount. She only uses the reduced prices you wrote in your scripts, and you can cap them with a discount ceiling in AI Brain (0 to 60%). ##### Where does the money go? To you. Fans pay in Telegram Stars on your bot or through your own payment links, such as FanGate or Dropp Fans. LanaChat never receives or holds fan money: its share comes out of your prepaid balance. ##### Is it safe for my Telegram account? Lana works through Telegram's official API, and LanaChat caps every account at about 2,000 messages an hour, slowing down well before that. Minors are banned outright: no one under 18 in any content, conversation or persona. ### More conversations per chatter, not longer shifts. URL: https://lanachat.ai/for/chatting-teams/ LanaChat for chatting teams: Lana answers every fan your chatters are not on, they take over in one click and sell with shared scripts. No seat fees. ##### Does a sale count as the chatter's or Lana's? Who sent the paid offer decides. Sent by a teammate from Live Convs, or by a script step (whoever started the script, Lana included), it is a manual sale at 4%, 3%, then 2%. Sent by Lana in her own words, an AI sale at 12%, 10%, then 8%, on the same monthly counter. ##### What does the fan see when a chatter takes over? The same conversation. While the chatter types, the fan sees typing on Telegram, as with any reply, and Lana stays paused for that fan until she is switched back on. ##### Can several chatters work on the same creator? Yes. Set each one's traffic share per creator. Each chatter sees only the creators and conversations their role allows. ##### Can Lana give discounts the team did not approve? No. Lana never invents a discount. She only uses the reduced prices you wrote in your scripts, and you can cap them with a discount ceiling in AI Brain (0 to 60%). ## API docs The API reference, one page per resource (the same content as the API guides below, laid out as a reference): - [LanaChat API documentation](https://lanachat.ai/docs/): LanaChat API reference for developers: base URL, authentication, permissions, errors, pagination, rate limits and every resource. - [Creators API](https://lanachat.ai/docs/creators/): LanaChat Creators API: list, create, pause and archive creators, read and replace her identity, edit her persona pages and setup progress. - [Telegram accounts API](https://lanachat.ai/docs/telegram-accounts/): LanaChat Telegram accounts API: add and check accounts, pool settings, hourly caps, the pool log and stories, with cURL, JavaScript and Python. - [Fans and conversations API](https://lanachat.ai/docs/conversations/): LanaChat API for fans and conversations: fans, fan lists, purchases, messages, reactions, takeover, scripts and history import. - [Scripts API](https://lanachat.ai/docs/scripts/): LanaChat Scripts API: list, create, replace, duplicate and delete scripts and their steps, manage folders and run a script in a conversation. - [AI Brains API](https://lanachat.ai/docs/ai-brains/): LanaChat AI Brains API: brains, drafts, publishing, versions and the Playground, with cURL, JavaScript and Python examples. - [Billing API](https://lanachat.ai/docs/billing/): LanaChat Billing API: balance, ledger and CSV export, deposit addresses, licences, auto-renew, affiliate withdrawals and statements. - [Team and access tokens API](https://lanachat.ai/docs/team/): LanaChat Team API: members, personal access keys, roles and access tokens (create, rotate, revoke), with cURL, JavaScript and Python. - [MCP server for AI assistants](https://lanachat.ai/docs/mcp/): Connect Claude Code, Cursor, VS Code or Claude Desktop to LanaChat through MCP: the endpoint, the configuration and the tools it opens. - [API recipes](https://lanachat.ai/docs/recipes/): Eight complete LanaChat API recipes in cURL and JavaScript: add a creator, read sales, message a fan, take over, track links, webhooks. ## Blog ### How to write a creator persona an AI chatter can follow URL: https://lanachat.ai/blog/how-to-write-a-creator-persona-for-ai-chatting.html · 2026-10-22 A creator persona is the written profile an AI chatter reads before every reply: who the creator is, how she writes, what she remembers and what she never does. Write it short, concrete and in her own words, test it in a safe chat, and the AI sounds like her instead of like a generic chatbot. Most agencies get the sales side right on day one: prices, scripts, follow-ups. The persona is where they lose fans, because a fan who chats every night notices quickly when the voice drifts. This post walks through what a good persona contains, page by page, and how to check it before any fan sees it. #### What is a creator persona, and what is it not? The persona answers **who she is**. It is not the sales plan. In LanaChat the split is explicit: the persona says who she is, and the [AI Brain](../features/ai-brain/) says how she chats and sells, with a sales tone, the questions she asks, the scripts that can start and the follow-ups after a silence. Keeping the two apart matters. If you write sales rules inside the persona ("always push the video bundle"), the AI reads them as part of her personality and the conversation starts to feel like a pitch. Put who she is in the persona, and put what to sell, when and at what price in the brain, the scripts and the Vault. #### What should a persona contain? A useful persona covers eight areas. In LanaChat they are the eight pages of the Persona tab, filled in order; the Setup card counts the persona complete from 60%. | Page | What to write | Common mistake | |---|---|---| | Appearance and location | How she looks, where she lives, her reply language | A city she never mentions on her public accounts | | Life | Work, family, relationships, a normal day | A life so busy she could never be chatting | | Voice | How she writes, plus a Phrase bank of ready reactions | Describing her voice instead of showing it | | Mimic | Real lines she would send, by category | Lines written by the agency, not by her | | Personality | Her traits and the behavior sliders | Every slider at the maximum | | Memory | Anecdotes and questions with answers she can recall | Stories that contradict her posts | | Boundaries | What she never does, how a relationship progresses | Leaving it empty | | Examples | Example replies, plus operations notes | Long replies no one sends in a chat | #### How do you capture her voice? Voice is the page that decides whether fans believe the chat. Three habits make the difference. - **Show, do not describe.** "Playful and flirty" tells the AI almost nothing. Ten real lines tell it everything: how long her messages are, whether she uses capitals, which emojis she uses, how she laughs in text. - **Use her real writing.** Copy lines from her own replies, captions and stories into Mimic, sorted by category (greeting, teasing, thanks, goodnight). Then turn on Use Mimic so the AI copies her style, not ours. - **Prepare the hard questions.** The Phrase bank holds ready answers for the moments that come up in every conversation, including what she says when a fan asks "Are you a bot?". Decide it once with the creator, so the answer is the same at noon and at 3 AM. If she writes in several languages, keep the persona in one language and set the reply language separately: the AI answers each fan in the language he writes in, and each Telegram account can have its own reply language. The [creator settings guide](../../guides/creator-settings/) lists where each language setting lives. #### How much detail is enough? Less than you think. A persona is not a biography. The AI reads all of it before each reply, so every line competes with every other line for attention. A good rule: if a fan would never ask about it, cut it. Keep the details that come up in chat (her city, her pets, her favourite series, what she did today) and the ones that protect her (what she never shares, what she never does). LanaChat warns you when a profile gets too long; when it does, remove repeated details first. Two shortcuts save most of the setup time: 1. **Fill the date of birth first.** Empty voice fields then get a suggested value that fits her age, marked Suggested, and you keep the last word on each one. 2. **Pick a persona mode.** Six ready-made personalities (Girl next door, Playful student, Dreamy artist, Sporty and direct, Mature and classy, Cozy homebody) fill the empty voice and personality fields in one go. Then adjust the two or three fields that make her unique. The [suggested values and persona modes guide](../../guides/persona-defaults/) shows both in the console. #### Why do boundaries matter as much as personality? Fans test limits. A persona with no boundaries lets the AI improvise, and improvisation is where an agency gets in trouble: a promise to meet, a custom the creator never agreed to, a personal detail she wants private. Write boundaries as plain rules, one per line: what she never sends, never says and never agrees to, and how a relationship with a fan is allowed to progress. Agree them with the creator before going live, and update them when she changes her mind. LanaChat is 18+ only: no one under 18 in any content, conversation or persona. #### Should each Telegram account have its own persona? Usually not. One creator, one persona, shared by all her accounts, keeps the story consistent. When an account serves a different market, adjust only what has to change: in LanaChat each account can override her hobbies, punctuation, reply language and city, and the rest stays shared. #### How do you test a persona before fans see it? Chat with her yourself. In the [Playground](../../guides/playground/), the AI answers for real, with her persona and her AI Brain, but nothing reaches Telegram. Run the same short test every time you change the persona: 1. Open with a plain "hey, how was your day?" and check that the answer sounds like her Mimic lines. 2. Ask about her city, her pets and her plans: the answers must match her Memory page. 3. Ask "are you a bot?" and check her Phrase bank answer comes back. 4. Push past one of her boundaries and check that she holds it. 5. Ask for a discount and check that she keeps the price, or stays within the discount ceiling you set. Prices come from the Vault and the script steps, never from the persona. Change one page at a time, then test again. You will see what each change does. #### FAQ ##### How long should a creator persona be? As short as possible while still answering what fans really ask. Real lines in her voice are worth more than paragraphs describing her. ##### Can I reuse one persona for several creators? You can start from a persona mode, but each creator needs her own details, voice and boundaries. Fans compare notes more often than agencies expect. ##### Does the persona set prices? No. In LanaChat prices come from the Vault and from script steps, and any discount from the ceiling you set in the AI Brain. The AI never goes beyond it. ##### Where do sales rules go if not in the persona? In the AI Brain: sales tone, the questions she asks, which scripts can start and when, and how she answers objections. Ready to see what Lana would cost for your agency? The [pricing page](../#pricing) has the full breakdown and a monthly estimate. ### Is it safe to connect an AI chatbot to a Telegram account? URL: https://lanachat.ai/blog/is-it-safe-to-connect-an-ai-to-telegram.html · 2026-10-22 Connecting an AI chatbot to a Telegram account is safe when the bot goes through Telegram's official Business connection, never asks for the account's login, and keeps each account on a paced sending rhythm. The risks agencies worry about, a lost account, a spam limit, a leaked session, come from tools that skip one of those three rules. This post explains how a Business chatbot works, what can actually get an account limited, and the checks to run before you let any AI reply for a creator. #### How does an AI chatbot reply from a Telegram account? Telegram lets a business account hand its private chats to a bot. Telegram describes this in its [Telegram Business announcement](https://telegram.org/blog/telegram-business): a chatbot connected to the account can process and answer messages on its behalf. The fan writes to the creator's account as usual and sees the reply in the same chat. On the account side, the setup lives in the Telegram app: Settings, Telegram Business, Chat Automation. You add the bot, choose which chats it handles, and tick the permissions it gets. To reply, the bot needs Manage Messages; managing the profile, stories or gifts and Stars are separate permissions you can leave off. What matters for safety is what you do **not** hand over. The account keeps its own phone number, password and two-step verification. The bot gets the rights listed on Telegram's screen, nothing more, and you can remove it from the same screen in a few seconds. #### Why is sharing a login the real risk? Some tools ask for the phone number and the login code, then run the account from their own servers as if they were the creator's phone. That is a different thing from a Business chatbot, and it carries risks a bot does not: - **The tool holds a full session.** Whoever holds it can read every chat, change the profile and lock the creator out. - **A new session runs somewhere else.** The creator sees an extra active session in her Telegram settings, on a server she does not control. - **You cannot limit what it does.** A session has every right the creator has. In LanaChat an account is connected with an @username and the token of the bot linked through Telegram's Business connection. No phone number, no password and no login code are shared with anyone. The token is checked once, then never shown again, and bot tokens are encrypted at rest and in transit. The [Telegram accounts feature](../features/telegram-accounts/) shows the setup, and the [connection guide](../../guides/connect-telegram/) walks through every screen, from BotFather to Chat Automation. #### What gets a Telegram account limited? Telegram limits accounts for two reasons: users reporting spam, and sending patterns that look automated. **Spam reports.** Telegram's [spam FAQ](https://telegram.org/faq_spam) is clear: when users press Report spam, moderators review the messages, and if they agree, the account can lose the right to message people who did not write first. The fix is behavioural, not technical: - message fans who wrote to the creator, never cold lists; - never use bought contact lists; - stop a sequence as soon as a fan replies, so he is not buried under messages. **Sending speed.** LanaChat caps each account at about 2,000 messages an hour, well below the pace that draws attention. Reaching that cap pauses the chatting until the next hour, and paused chatting means fans who wait and sales that do not happen. #### How do you keep accounts safe at scale? Three habits keep a busy creator safe. 1. **Pace every account.** LanaChat measures each account's messages every hour against the 2,000 ceiling. From 80% the account is slowed; from 95% it pauses until the next hour. The Pool load tab shows the bar for every account. 2. **Spread new fans over several accounts.** A big campaign pointed at one account concentrates every new conversation there. Point the tracking link at a pool instead, and new fans spread across the creator's accounts. We explain it in [what a pool is and why your links need one](what-is-a-pool.html). 3. **Keep mass messages inside the rules.** A mass DM in LanaChat only reaches fans who wrote in the last 24 hours, one send is capped at 800 fans, and a fan who replies is never interrupted by the next message. More in [how to send a mass DM without spamming fans](telegram-mass-dm-without-spamming.html). #### What should you check before connecting a tool? Run this list on any AI chatbot, ours included. | Check | Safe answer | Red flag | |---|---|---| | How is the account connected? | A bot through Telegram Business | Phone number and login code | | What can the tool do? | The permissions you ticked in Telegram | Everything the creator can do | | Can you cut it off yourself? | Remove the bot in Chat Automation | Only by asking the vendor | | Does it pace messages? | A per-account limit you can see | No answer | | Who on your team sees what? | Roles and personal access you can revoke | One shared password | | What does it refuse? | Spam, bought lists, anyone under 18 | Nothing written down | #### What about the team side? An account is only as safe as the people who can reach it. In LanaChat each teammate signs in with a personal access key you can revoke, and a role decides which creators and conversations they see. A chatter does not need billing, and a media editor does not need to read conversations. Two more habits help when something goes wrong. Pause any account in one click, and the AI stops replying on it until you resume. Removing an account in LanaChat keeps the bot, the fans and the history, and never deletes the Telegram account itself. #### What does LanaChat refuse? Spam, bulk unsolicited messages and bought contact lists are not allowed. LanaChat is 18+ only: no one under 18 in any content, conversation or persona. The AI also stops on its own when a conversation needs a person, such as a fan in distress, an illegal request or a fan who asks to stop, and your team sees the reason on the fan. #### FAQ ##### Can an AI chatbot get my Telegram account banned? A Business chatbot that messages fans who wrote first, at a paced rate, uses Telegram the way it was designed. Accounts get limited for spam reports and for sending patterns that look automated, so avoid cold messages and keep each account on LanaChat's paced rhythm. ##### Do I need to share the creator's phone number or password? No. A Business chatbot is added from the account's own Telegram settings. LanaChat never asks for a phone number, a password or a login code. ##### What happens if an account sends too many messages in an hour? LanaChat slows the account from 80% of its hourly ceiling and pauses it from 95%, until the next hour. The Pool load tab shows it in amber, then red, so you can spread the traffic over other accounts. Fans wait in the meantime. ##### Can I disconnect the bot without the vendor? Yes. Remove the bot in Settings, Telegram Business, Chat Automation, on the account itself. Sign-up is open: create your agency's account from Get started, and our team reviews every agency before activation. There is no free trial. New releases are announced first in [our Telegram channel](https://t.me/lanachatai). ### How to choose an AI chatbot for a creator agency: 8 checks URL: https://lanachat.ai/blog/how-to-choose-an-ai-chatbot-for-creator-agencies.html · 2026-10-21 The right AI chatbot for a creator agency replies from the creator's own account, in her voice and language, sells only at the prices you set, and lets your team take over any conversation in one click. It also stops on its own when a conversation must not continue, follows your scripts, and tells you which traffic source and which script brought each sale. If a tool fails one of these checks, it will cost you fans, money or both. Below are the eight checks we would run before trusting any AI chatter with a creator's fans, and the questions to ask the vendor for each one. (Image: A checklist of eight checks for an AI chatbot for creator agencies) #### 1. Does it reply from the creator's own account? Fans buy from a person, not from a generic bot with a different name. The AI must answer inside the conversation the fan already has with the creator's account, so nothing changes on his side. On Telegram this is possible through [Telegram Business](https://telegram.org/blog/telegram-business): a bot linked to an account can read and answer its private chats on its behalf. Ask the vendor how an account is connected, and refuse any setup that asks for the account's phone number, password or login code. In LanaChat, an account connects with an @username and the token of a bot linked through Telegram's business connection, as the [connection guide](../../guides/connect-telegram/) shows step by step. #### 2. Does it sound like her, in every language? A chatbot that answers in the same flat tone for every creator will feel wrong to her regular fans within a few messages. Look for: - a persona per creator: who she is, how she writes, her limits, what she remembers about each fan - replies in the language the fan writes in, not only the creator's own language - short replies, one message at a time, like a real chat, never a wall of text Ask to test it in a sandbox with your own creator's profile before any fan sees it. #### 3. Who sets the prices? This is the check that is easiest to skip, and the one that hurts most. An AI that negotiates on its own will learn that a discount closes the sale, and every fan will learn to ask for one. The prices must come from you: a price on each media, or one price per script step. The AI may explain why a media is worth it, but it should never lower the price on its own. Lana, the AI in LanaChat, sells at the price set on the media or the step, and never invents a discount: she only uses the reduced prices written in your scripts, which you can cap with a discount ceiling in the AI Brain (0 to 60%). Beyond that, only a person on your team can change a price. #### 4. Can your team take over in one click? Some conversations need a human: a big spender, a custom request, a fan who is upset. Your chatters must be able to read every conversation live and take over instantly, with the AI pausing for that fan until they hand it back. Ask how the handover works, whether the fan sees anything change, and whether sales sent by a human are counted separately. In LanaChat, takeover is one click in Live Convs, and sales sent by hand are billed at a much lower manual rate. #### 5. Does it stop when it must? An AI that chats with fans at scale will meet conversations where the only right move is to stop selling: a fan who appears to be underage, a fan in distress, a request that is illegal, a fan who asks to be left alone. Ask the vendor three direct questions: - What does the AI do when a fan seems to be a minor? - What happens when a fan says he wants to stop? - Who on my team is told, and where? The answer you want is a hard stop, a clear status on the fan and a person in charge. In LanaChat, the fan list shows a status for each case: OFF for underage, crisis or distress, coercion, illegal request or asked to stop, Review when the age is unclear, and paused statuses when a person is in charge. Those fans are not to be restarted. #### 6. Does it follow your scripts? Your best chatters have sequences that sell. A good AI does not replace them with improvisation; it runs them. Check that you can write scripts with steps, media and one price per step, decide when each script may start (night, priority, keywords from the fan), and see which script brought each sale. Our post on [chatting scripts that sell](onlyfans-chatting-scripts-that-sell.html) shows how to write them. #### 7. Can you see which source brings the money? If you buy traffic, you need to know which ad, story or bio brought each buyer, not just the total. Ask for tracking links per source, attribution of every purchase to the link the fan first clicked, and pixels for your ad platforms. Without this, the AI may sell well while your ad budget goes to the wrong places. The [tracking links feature](../features/tracking-links/) covers this side in LanaChat. #### 8. How is it priced? Three pricing structures are common: a fixed fee per seat or account, a share of sales, or a mix. Each one says something about the vendor. - A **fixed fee only** costs the same whether the AI sells or not. - A **share of sales only** aligns the vendor with you, but check what "sales" means: gross, or net after the platform's share and refunds. - A **mix** usually covers the vendor's running costs with the fee and rewards performance with the share. Ask for the full grid in writing, with the tiers. LanaChat charges $19 per Telegram account per month, plus a commission on net sales: 12% of AI sales up to $30,000 of monthly net sales, 10% up to $100,000 and 8% above, and 4%, 3% and 2% for sales your team sends by hand. The details are on the [pricing page](../#pricing). (Image: The AI Brain page in the LanaChat console: a sales tone from gentle to proactive, with flirt and sales tendency sliders) #### How to run the test Once a vendor passes the checklist on paper, test it the way you would test a new chatter. 1. Fill in one creator's persona and connect one account. 2. Chat with her yourself in the sandbox, playing the difficult fans: the one who asks for free content, the one who says it is too expensive, the one who goes quiet. 3. Switch her on for a small share of new fans and read every conversation for a week. 4. Compare her numbers with your human team on the same creator: first reply time, share of paying fans, net sales. If you are still deciding how much to hand to the AI, our comparison of [AI chatter vs human chatters](ai-chatter-vs-human-chatters.html) helps decide what to automate first. #### FAQ ##### What is the most important check? Prices. An AI that gives discounts on its own trains every fan to ask for one. Make sure prices, and any discount limit, come from you. ##### Do I need the creator's Telegram password to connect an AI chatbot? No. On Telegram, a bot linked through Telegram Business answers the account's private chats. No phone number, password or login code is needed. ##### Can I keep some creators or some fans manual? In LanaChat, yes. Each creator has a response mode, and the AI can be switched off for any single conversation. ##### What should an AI chatbot do with a fan who may be underage? Stop. It should end the sales conversation, mark the fan clearly and leave the decision to a person on your team. ##### Should I pay per seat or a share of sales? It depends on your volume. Compare the full grid of each vendor on your real numbers, and check whether the share is counted on gross or on net sales. ### How to handle fan objections in chatting: 6 replies that work URL: https://lanachat.ai/blog/how-to-handle-fan-objections.html · 2026-10-21 A fan objection is the moment a fan hesitates to buy: the price feels high, he wants something for free, he does not trust the offer, or he simply goes quiet. The way to handle it is not to drop the price, but to answer the real worry with the right angle: value, a little guilt, humour, a comparison, urgency or a different offer. Agencies that write these answers down, and test which ones work, close more sales without training fans to wait for discounts. This post lists the six objections we see in creator chats every day, the six angles that answer them, and example lines you can adapt to each creator's voice. #### Why do objections matter so much in chatting? Most fans who reach the moment of an offer are interested. They opened the chat, they flirted, they asked for more. The objection is not a no; it is a question. The fan is checking whether the media is worth it, whether the creator is real, whether now is the right time. A chatter who answers with a lower price teaches the fan one thing: push back and the price drops. The next offer gets the same objection, and the creator's whole price list loses its meaning. A chatter who answers the worry itself keeps the price, and often the fan buys more because he feels understood. #### What are the six fan objections? Every objection we have read in creator conversations fits into one of six kinds: 1. **Too expensive.** "That's a lot for one video." 2. **Wants free content.** "Send me something first." 3. **Trust concerns.** "How do I know it's really you?" 4. **Not now.** "Maybe later, I'm busy." 5. **Looking elsewhere.** "Other girls send more for less." 6. **Stopped replying.** The fan read the offer and went silent. Naming them matters. Once your team knows which objection it faces, the reply stops being improvised. #### What are the six angles that answer them? Each objection can be answered from several angles. Here are the six we use, with an example line written the way a creator would say it. - **Value.** Show what he gets, not what it costs. "It's the one I filmed for you last night, almost four minutes, I didn't send it to anyone else." - **Gentle guilt.** Remind him of the effort, softly. "I spent the whole afternoon on this one, I was hoping you'd be the first to see it." - **Humour.** Take the tension down. "You negotiate harder than my landlord. Still worth it though." - **Comparison.** Put the price next to something familiar. "It's less than the drink you'd buy me if we met, and this one lasts longer." - **Urgency.** Give a real reason to decide now. "I'm only keeping it in my private set until tonight." - **Counter-offer.** Offer a different item, never the same one cheaper. "If that one's too much right now, I have a shorter one from the same shoot. Want that instead?" Comparison works because of what psychologists call the [anchoring effect](https://en.wikipedia.org/wiki/Anchoring_effect): the first reference point a person hears shapes how a price feels. Use urgency only when it is true. A fan who sees the same "only tonight" every week stops believing anything the creator says. (Image: Grid of the six fan objections and the angles that answer them best: value, gentle guilt, humour, comparison, urgency and counter-offer) #### Which angle fits which objection? There is no single right answer, but some pairs work more often than others: - **Too expensive** → Value first, then Comparison. If the fan still hesitates, a Counter-offer with a smaller item at its own price. - **Wants free content** → Humour, then Value. A free teaser can be part of a script, but it is a step you planned, not a reaction to pressure. - **Trust concerns** → Value, with something personal: his name, a detail he mentioned earlier. Never an argument. - **Not now** → Urgency if there is a real one, otherwise Gentle guilt and a follow-up later. - **Looking elsewhere** → Comparison and Humour. Do not criticize other creators; talk about what makes this one different. - **Stopped replying** → a follow-up a few hours or a day later, light and without pressure. Our post on [follow-up scripts that reopen silent fans](follow-up-scripts-silent-fans.html) has five ready to adapt. #### Why should a counter-offer never be a discount? Because the price of a media is a promise to every fan who already paid it. If the same video costs less for the fan who complained, the fans who paid full price were the losers, and the next fan learns to complain first. A counter-offer changes the item, not the price: a shorter video, a single photo instead of a set, a smaller pack. Each one keeps its own price. In LanaChat, Lana works this way by default: she sells at the price set on the media or on the script step, never invents a discount, and only uses the reduced prices written in your scripts, which you can cap with a discount ceiling for each creator. See [Vault and paid media](../features/vault-and-paid-media/) for how each item gets its price, and [how we price media so fans actually buy](how-we-price-media.html) for building the ladder that makes counter-offers possible. #### How do you pick the right reply every time? Writing good replies is half the job. The other half is choosing which one to send. Two approaches work: - **Best performing.** Send the reply that has converted best so far for this objection. Simple, and it improves on its own as data comes in. - **Context.** Pick the reply that fits this conversation: his mood, what he said before, the time of day. And when the first reply does not work, you need a rule for the next step: take the next reply on your list, or let the AI write its own answer. Whatever you choose, never send the same line twice to the same fan. A fan who reads the same sentence a second time knows he is talking to a script. In LanaChat, all of this lives in the creator's AI Brain, in the Objections tab: you write replies for each of the six objections with the angle of each one, choose between Best performing and Context, set what happens when a reply does not work, and turn on Avoid repeating responses. The [KYC and objections guide](../../guides/kyc-and-objections/) walks through each setting. #### How do you test and improve your replies? Treat your objection replies like ads: write several, measure, keep the winners. - **Start with two or three replies per objection**, each from a different angle. - **Read real conversations every week.** Look for objections that keep coming back with no sale after them. - **Rewrite the weakest reply**, not all of them at once, so you know what changed. - **Keep the creator's voice.** A reply that converts for one creator can sound wrong for another. Adapt the words, keep the angle. #### FAQ ##### What is a fan objection in chatting? It is the moment a fan hesitates before buying: the price, wanting something free, trust, timing, other creators, or silence after an offer. ##### Should a chatter ever lower the price to close a sale? No. Offer a different item at its own price instead. Lowering the price teaches fans to push back on every offer. ##### Can an AI handle objections? Yes, if you give it the replies and the rules. Lana uses the replies written in the creator's AI Brain, chooses by performance or by context, and avoids repeating the same line. ##### How many replies should I write per objection? Start with two or three from different angles, then add more as you see what converts for each creator. ##### What if the fan stops replying after an offer? Wait, then send a light follow-up without pressure. A silent fan is often busy, not lost. ### How to run an OnlyFans agency on Telegram in 2026 URL: https://lanachat.ai/blog/how-to-run-an-onlyfans-agency-on-telegram.html · 2026-10-21 Running an OnlyFans agency on Telegram means moving the part of the job that makes the money, the private conversation with each fan, into Telegram. Fans arrive from your traffic, talk to the creator's Telegram account, and buy locked media paid in Telegram Stars without leaving the chat. The agency's work does not change: bring traffic, keep every fan talking, sell at the right price, and know which source pays. This guide walks through the setup we see work for creator agencies in 2026, step by step, from the accounts to the numbers you read every morning. (Image: The six steps of a creator agency on Telegram: traffic, tracking link, account pool, chatting, locked media, numbers) #### Why are agencies adding Telegram to their stack? Three reasons come up again and again when agencies explain the move. - **The conversation is the product.** On Telegram, the fan writes to an account that feels personal, with voice notes, photos and replies at any hour. That is the same intimacy that sells on subscription platforms, in an app the fan already uses every day. - **Payment happens in the chat.** Telegram sells digital goods in Stars, its in-app currency. The fan taps a blurred media, pays, and it unlocks right there. There is no checkout page where buyers drop off. - **You own the traffic map.** Every fan reaches Telegram through a link you control, so you can measure which ad, story or bio brought him, and what he spent. #### Step 1: connect the creator's Telegram accounts Each creator usually runs several Telegram accounts: one per market, per language or per traffic source. A team can only reply at scale if every account is reachable from one place. Telegram's Business features let a bot answer private chats on behalf of an account. Telegram describes this in its [Telegram Business announcement](https://telegram.org/blog/telegram-business): a business account can connect a chatbot that processes and answers messages for it. In LanaChat, that is how an account is connected: an @username and the token of a bot linked through Telegram's business connection. No phone number, no password and no login code are shared with anyone. Name each account so the team can read it at a glance, for example *Emma FR Meta Ads 2*: creator, market, traffic source, number. The [Telegram accounts feature](../features/telegram-accounts/) lists every account with its status, its language and the AI Brain it uses, and the [step-by-step connection guide](../../guides/connect-telegram/) covers the BotFather part. #### Step 2: give every traffic source its own link If ten ads all point to the same @username, you know how many fans arrived, not which ad paid for itself. The fix is one tracking link per source: one per ad set, one per story, one for the bio. A click on the link opens the conversation, and every later purchase from that fan is attributed back to the link he first clicked. If you buy ads, connect your Meta, TikTok, Snap or Google Ads pixel to the link so the ad platform learns from real conversations and purchases. Our [tracking links feature](../features/tracking-links/) does this per creator, on your own subdomain. When a creator has several accounts, point the link to a pool instead of a single account. New fans then spread over the accounts of the pool, so no account takes every new conversation of a big campaign. We explain the idea in [what a pool is and why your links need one](what-is-a-pool.html). #### Step 3: decide who answers, and when On Telegram, fans write at any hour, often late at night in their own time zone. An agency has three ways to cover that. 1. **Human chatters only.** Shifts around the clock, a manager per team, and a quality gap between your best and your newest chatter. 2. **AI only.** Every fan gets an answer in seconds, in the creator's voice and language, at the same quality at 3 AM as at noon. 3. **AI first, humans on the conversations that matter.** The AI handles every chat; your chatters read along and take over a big spender, a delicate fan or a custom request. In our experience, the third option works best. In LanaChat the AI is Lana: she replies in each creator's voice, sells at the prices you set (she never invents a discount; any reduced price comes from your scripts, capped by the ceiling you set in AI Brain), and any teammate can take over a conversation in one click from Live Convs. We compare both sides in detail in [AI chatter vs human chatters](ai-chatter-vs-human-chatters.html). #### Step 4: write the scripts once Your best chatter has a sequence that works: a warm opener, a free teaser, a first paid media at an entry price, then a premium one for the fans who bought. Write it down as a script, with the media and the price of each step, so it stops depending on who is on shift. A good library for one creator starts small: - a **first-purchase script** for new fans, with a low entry price - a **night script** for late conversations - a **follow-up script** for fans who went quiet after two days - a **VIP script** for fans who already bought several times Scripts run the same way whether the AI or a chatter sends them, and you can see which one brings the most sales. Our post on [follow-up scripts that reopen silent fans](follow-up-scripts-silent-fans.html) gives five you can adapt. #### Step 5: price locked media in Stars Every photo, video and voice note the creator can sell goes into a vault with a price in Telegram Stars and a short description, so the right media goes out at the right moment. Set prices as a ladder (entry, mid-range, premium) rather than one flat price, and keep the same price for the same media across chatters. Telegram's own [documentation on payments for digital goods](https://core.telegram.org/bots/payments-stars) explains that sales of digital goods inside Telegram are made in Stars. How a Star converts into dollars, and how withdrawals work, is set by Telegram and changes over time. Read [Telegram Stars explained for creator agencies](telegram-stars-explained-for-agencies.html) before you build your price list. #### Step 6: set up the team Even with an AI on every chat, an agency needs people: a manager per creator, chatters who take over, someone who uploads media and writes scripts. Give each person a role that shows only the creators and tools they work on. A chatter does not need billing, and a media editor does not need to read conversations. #### Step 7: read the numbers every morning Five numbers tell you whether the Telegram side of the agency is healthy: - **New conversations per source**: is the traffic arriving? - **Paying fans**: the share of active fans who bought at least once. - **Net sales**: what is left after Telegram's share and refunds, per creator and per account. - **First reply time**: how long a new fan waits for an answer. - **Sales per script**: which sequences sell and which ones to rewrite. If one source brings many conversations and few buyers, fix the ad or the opener. If replies are slow at night, that is the hour the AI should own. #### What does it cost to run the Telegram side? Your costs are the traffic, the team, and the tools. LanaChat costs $19 per Telegram account per month, with packs of 10, 25 and 50 accounts for less, plus a commission on net sales: 12% of AI sales up to $30,000 of monthly net sales in the workspace, 10% up to $100,000, 8% above, and 4%, 3% and 2% for sales your team sends by hand. The full breakdown is on our [pricing page](../#pricing). #### FAQ ##### Do I need Telegram Premium to connect a bot to an account? No. The bot works through the Business chatbot settings in the Telegram app. Our connection guide lists every step. ##### Can one creator have several Telegram accounts? Yes. Agencies usually run one account per market or traffic source, and group them in a pool so new fans spread across them. ##### Will the AI sell at a lower price to close a sale? Only if your scripts say so. Lana never invents a discount: she sells at the price set on the media or the reduced price you wrote on a script step, and you can cap those reductions with a discount ceiling in each creator's AI Brain (0 to 60%). ##### Can my chatters still work on Telegram conversations? Yes. Every conversation is live in the console. A chatter takes over in one click, and the AI pauses for that fan until the conversation is handed back. ##### How do I know which ad brought a sale? Give each ad its own tracking link. Sales are attributed to the first link the fan clicked, with verified Telegram Stars purchases. ### How to withdraw Telegram Stars and turn them into dollars URL: https://lanachat.ai/blog/how-to-withdraw-telegram-stars.html · 2026-10-21 When a fan pays for a locked media in Telegram Stars, the Stars land on the balance of the bot that sold it. Telegram has announced that bot owners can withdraw those Stars in Toncoin through Fragment, and the Toncoin can then be exchanged for dollars. The rate, Telegram's share and the withdrawal conditions are all set by Telegram, and they change over time. This post follows a Star from the fan's pocket to your books, and lists what an agency should check before it counts Stars as revenue. (Image: The path of Telegram Stars: the fan buys Stars, unlocks media, Stars land on the bot balance, then a withdrawal via Fragment) #### Where do Telegram Stars come from? Stars are Telegram's in-app currency for digital goods and services. According to Telegram's [documentation on payments for digital goods](https://core.telegram.org/bots/payments-stars), users get Stars through the standard Apple and Google in-app purchases, or through @PremiumBot. They then spend them on things sold by bots and mini apps, such as a paid photo or video. The same page describes Telegram's own payment flow for bots: when a bot sells digital goods and services inside Telegram apps, the transaction is made in Stars. That is why a locked media unlocked in the chat is paid in Stars. Agencies can also be paid through their own payment links, on their provider's terms: we compare both in [Telegram payment links vs Telegram Stars](telegram-payment-links-vs-stars.html). #### Where do the Stars go after a fan pays? They are credited to the balance of the bot that made the sale. Telegram's [Stars terms of service](https://telegram.org/tos/stars) describe it this way: when users pay in Stars for goods and services, developers or creators see a separate balance on the page of the bot or channel. In LanaChat, each Telegram account of a creator is connected through a bot linked with Telegram's business connection. When a fan unlocks a paid media in that account's chat, the Stars are credited to the balance of the bot that runs the account. That is also why naming accounts and bots clearly pays off later: when you withdraw, you withdraw per bot. Our guide on [connecting Telegram accounts](../../guides/connect-telegram/) shows how the bot and the account fit together. #### How do you withdraw Telegram Stars? Telegram announced, when it launched Stars, that developers would be able to withdraw the Stars earned by their bots in Toncoin via Fragment. In practice, the owner of the bot starts the withdrawal from Telegram, the Stars are converted at Telegram's rate, and the Toncoin arrives on Fragment. From there, Toncoin can be exchanged for dollars or another currency through the service of your choice. We deliberately do not quote a rate, a minimum or a waiting period here. Telegram sets all three and has changed its rules since launch, so any number we wrote would age badly. Check the current conditions inside Telegram and on Fragment before each withdrawal. Three practical points for agencies: - **The bot owner withdraws.** Make sure the agency controls the Telegram account that owns each bot, and that more than one trusted person knows where that access sits. - **Withdrawals are per bot.** A creator with ten accounts may have ten balances. Plan who withdraws, how often, and how the amounts are recorded. - **Exchange costs are separate.** Converting Toncoin into dollars goes through a third party with its own fees and rules. Count them in your numbers. #### What can reduce what you actually receive? Gross Stars are not revenue. Several things sit between the price a fan paid and the dollars you can use. - **Telegram's share.** Telegram keeps part of each payment, under its own terms. - **Refunds.** A seller can refund a Stars payment through the Bot API method refundStarPayment, and Telegram expects sellers to handle payment disputes and answer the /paysupport command. Every refund comes off your sales. - **The conversion rate.** The value of a Star in Toncoin, and of Toncoin in dollars, moves over time. - **Exchange fees.** Charged by the service you use to sell the Toncoin. This is why LanaChat reports net sales: the amount after Telegram's share and refunds, per creator and per account. The commission on sales is computed on that net amount, not on gross Stars. Read [Telegram Stars explained for creator agencies](telegram-stars-explained-for-agencies.html) for how fans buy and spend Stars, and [reading your numbers](../../guides/reading-your-numbers/) for how the console shows them. #### How should you price media in Stars? Because the Star to dollar value can move, price from the dollar amount you want, then convert: 1. Decide the dollar price of each tier of your ladder: entry, mid-range, premium. 2. Convert each into Stars at the current rate, and round to a price that looks natural. 3. Revisit the list when Telegram changes its rates or rules. In the Vault, each paid item can cost from 1 to 25,000 Stars, and the AI sells at the price you set: it never invents a discount, it only uses the reduced prices written in your scripts. Our [Vault and paid media feature](../features/vault-and-paid-media/) explains how items are priced and described. #### Can you spend Stars instead of withdrawing them? Stars on a bot's balance belong to the seller side, and the ways they can be used are defined by Telegram. Stars a person buys for himself are a different thing: Telegram's terms say Stars in a personal balance can only be used for the purposes Telegram lists, and cannot be sold or withdrawn. Do not mix the two when you plan your cash. #### FAQ ##### Can I withdraw Telegram Stars straight to a bank account? Telegram has announced withdrawals in Toncoin via Fragment. Turning Toncoin into dollars on a bank account goes through an exchange service of your choice. ##### What is the Telegram Stars to USD rate? Telegram sets it and it changes over time, so we do not quote one. Check the current rate inside Telegram before you build or update a price list. ##### Who can withdraw the Stars a creator's account earned? The owner of the bot that made the sale. In LanaChat, Stars are credited to the balance of the bot that runs each account. ##### Does a refund reduce my Stars balance? Yes. A refunded payment is taken off your sales. LanaChat counts net sales after Telegram's share and refunds. ##### Is the LanaChat commission charged on gross Stars? No. It is charged on net sales, after Telegram's share and refunds. ### OnlyFans chatter salary: how agencies pay chatters URL: https://lanachat.ai/blog/onlyfans-chatter-salary.html · 2026-10-21 An OnlyFans chatter salary is usually built from one of three pieces: an hourly rate, a commission on the sales the chatter closes, or a base plus a commission. There is no single market rate, because it depends on the language, the hours, the experience and how much the agency sells. The useful question for an agency is not "what is the going rate" but "what does each dollar of net sales cost me in chatting". This post walks through the pay structures agencies use, what each one rewards, and a simple way to compare them, including an AI paid on commission. (Image: Four pay structures for chatting compared: hourly, commission, base plus commission, AI on commission) #### What does an OnlyFans chatter do? A chatter writes to fans on behalf of a creator. The job is part conversation, part sales: keep the fan talking, learn what he likes, send the right media at the right moment, and close the sale at the price the agency set. On Telegram, the same job happens in the private chats of the creator's accounts, with locked media paid in Telegram Stars. The work runs around the clock. Fans write late at night in their own time zone, on weekends and on holidays. That is why chatter pay is never only a question of a rate: it is a question of coverage, quality and who closes the sale. #### How are OnlyFans chatters paid? Agencies mostly pick one of the structures below, or mix them across teams. ##### Hourly pay The chatter is paid for the hours on shift. It is easy to plan and it rewards presence: someone is always there when a fan writes. The weak side is that the cost stays the same on a slow night as on a busy one, and nothing in the pay pushes a chatter to sell more. ##### Commission on sales The chatter earns a share of the sales he or she closes. It rewards selling, and it scales down on its own when sales drop. The weak side shows up in the conversations: some chatters push too hard, fans feel it, and two chatters may argue over who closed a sale that started on one shift and ended on the next. A commission only works if every sale is attributed to a person without doubt. ##### Base plus commission A smaller fixed part for the hours, plus a share of the sales. This is the most common middle ground because it pays for coverage and rewards results at the same time. It also means two numbers to follow per chatter: hours worked and net sales closed. ##### An AI on commission The newest option is to let an AI answer every fan and pay for it the way you would pay a chatter on commission. The AI covers every hour at the same quality, and your human chatters focus on the conversations that matter most: big spenders, custom requests, delicate fans. We compare both sides in [AI chatter vs human chatters](ai-chatter-vs-human-chatters.html). #### How do you compare the real cost of chatting? Rates are hard to compare across structures. One number makes them comparable: the chatting cost per dollar of net sales. 1. **Add up everything you pay for chatting in a month**: hourly pay, commissions, bonuses, the time managers spend checking conversations, the tools. 2. **Take the net sales of the same month**: what is left after the platform's share and refunds. 3. **Divide the first by the second.** The result is how many cents of chatting each dollar of net sales costs you. Run it per team, per creator and per shift. A night shift with a low hourly cost can still be the most expensive one if it sells little. A commission chatter with a high share can be the cheapest if he sells a lot. Without the division you are comparing rates, not results. Two other numbers belong next to it: - **First reply time.** A fan who waits loses interest. If the cost per dollar looks good but new fans wait long for a first answer, you are paying for it in sales you never see. - **Sales per conversation.** It tells you whether a chatter sells, or just keeps fans busy. #### What does an AI on commission cost? To make the comparison concrete, here is LanaChat's public pricing. Each connected Telegram account costs $19 per month, with packs of 10, 25 and 50 accounts for less. On top, a commission on net sales: 12% of AI sales up to $30,000 of monthly net sales in the workspace, 10% up to $100,000, and 8% above. Sales your team sends by hand are billed at 4%, 3% and 2% on the same tiers. There is no fee per seat, so adding a chatter to the console costs nothing. The details are in our [pricing page](../#pricing), and the reasoning behind it in [the pricing we wished we had](the-pricing-we-wished-we-had.html). Put that into the same division as your chatters: the commission plus the account fees, divided by the net sales the AI made. You now have one cost per dollar for the AI and one for each human team, on the same scale. #### Should chatters be contractors or employees? Many agencies work with chatters as independent contractors, often in other countries. Whether someone is a contractor or an employee is not a choice of words in a contract: it depends on how the work is actually controlled and paid, and the rules differ by country. In the United States, the IRS explains the factors it looks at in its page on [independent contractor or employee](https://www.irs.gov/businesses/small-businesses-self-employed/independent-contractor-self-employed-or-employee). Take advice from a local professional before you settle on a structure; this post is not legal or tax advice. #### How do you keep pay fair between chatters? Fair pay starts with clean data. Three habits help: - **One login per person.** Every message and every sale is tied to the person who sent it. Give each chatter a role that shows only the creators they work on; our [team and roles feature](../features/team-and-roles/) does this per agency. - **Attribute each sale once.** Decide the rule (the person who sent the paid media, for example) and stick to it. - **Separate AI sales from human sales.** When an AI covers part of the conversations, you need to know which sales came from your team. In LanaChat, sales sent by hand from Live Convs are counted and billed apart from AI sales. #### FAQ ##### Is there a standard OnlyFans chatter salary? No. Pay depends on the structure, the language, the hours and how much the agency sells. Compare structures by the chatting cost per dollar of net sales, not by the rate alone. ##### Is commission better than hourly pay? It depends on what you want more of. Hourly pay rewards coverage, commission rewards selling, and base plus commission rewards both with more to track. ##### Can an AI replace all my chatters? In our experience, the setup that works keeps people for big spenders, custom requests and delicate conversations, and lets the AI answer every other fan at any hour. ##### How is a sale sent by a chatter billed in LanaChat? A sale sent by hand from Live Convs is billed at the manual rate: 4%, 3% or 2% of net sales depending on the monthly tier. ##### Do I pay per chatter seat in LanaChat? No. You pay per connected Telegram account and a commission on net sales. Adding teammates costs nothing. ### OnlyFans chatting scripts that sell: how to write them URL: https://lanachat.ai/blog/onlyfans-chatting-scripts-that-sell.html · 2026-10-21 A chatting script that sells is a short sequence of messages and media, written once, that walks a fan from hello to a paid unlock. It has an opener, one or two free steps that build the mood, a teaser, and a paid step with a clear caption and a fixed price. The best scripts are short, priced as a ladder, and tested against each other with real numbers. This guide shows how to write them, step by step, whether your chatters send them by hand or an AI sends them for you. #### Why write scripts at all? Every agency has one chatter whose sales are far above the rest. Ask what she does and the answer is rarely magic: she has a sequence she trusts, she sends the right media at the right moment, and she always says what the fan unlocks. A script turns that sequence into something the whole team can use. - **Consistency.** A new chatter on the night shift sells with the same lines as your best one. - **Speed.** Nobody searches the vault for the right photo while a fan waits. - **Measurement.** When every sale comes from a named script, you can see which sequence earns and which one to rewrite. - **Fixed prices.** The price is written in the script, so it does not drift from chatter to chatter. #### What does a script that sells look like? Most scripts that convert follow the same shape. Four steps are enough for a first-purchase script. 1. **The opener.** A personal message that invites a reply. No media, no price. Its only job is to start a conversation. 2. **The free step.** A casual photo or a voice note, sent free. It rewards the fan for answering and makes the chat feel real. 3. **The teaser.** A message that hints at what comes next, sometimes with a teaser media. The fan should want to see more before you name a price. 4. **The paid step.** A blurred media with a caption that says exactly what he unlocks, at a fixed price. (Image: A four-step chatting script: opener, free step, teaser, paid step with a price in Stars) Keep each message short. Fans on Telegram read on their phone, between other chats. One line that sounds like her beats a paragraph that sounds like a sales page. #### How should you price the paid steps? Price is part of the script, not something a chatter decides in the moment. Two rules help. **One price per step.** If a step holds three photos, decide whether the fan pays once for the whole step, or whether each item keeps its own price. Mixing both in the same message confuses the fan and your numbers. **A ladder, not a flat price.** Write an entry script with a low first unlock, then a second script for fans who already bought, with a higher price. The first price a fan sees becomes his reference point for everything after it, a bias psychologists call the [anchoring effect](https://en.wikipedia.org/wiki/Anchoring_effect). A small, easy first purchase sets the habit of paying; the premium content comes once trust is there. What a ladder is not: a discount. If the fan says "too expensive", the answer is a reason to buy (what he gets, why it is worth it), never a lower price for the same media. Lowering prices on request teaches every fan to ask. Our post on [how we price media so fans actually buy](how-we-price-media.html) goes deeper into setting the levels. #### How long should you wait between steps? Delays make a script feel human. A reply that arrives a second after the fan's message, followed by three more in a row, reads like a machine. Leave a short pause before a casual message and a longer one before the paid step, so the teaser has time to work. A few guidelines that hold up across creators: - a few seconds between two short lines of the same thought - a minute or more before a media, as if she was taking or choosing it - a longer gap, up to an hour, before a follow-up when the fan has not answered In LanaChat each step has its own delay, from immediately to 24 hours, and the preview shows the fan's view with the delays applied. #### Which scripts does a creator need first? Start with four, then add more as you learn. - **First script for new fans.** The one every new conversation receives first, ending with a low entry price. - **Night script.** Softer, slower, for late conversations, often with a voice note. - **Follow-up script.** For a fan who stopped answering, with no pressure and no price in the first message. Our [follow-up scripts that reopen silent fans](follow-up-scripts-silent-fans.html) gives five ready to adapt. - **Second-purchase script.** For fans who bought once, with the next level of your price ladder. Group them in folders by moment (night, follow-ups, VIP) so the team finds the right one in seconds. #### How do you know which script sells? Write two versions of the same script and change one thing: the opener, the teaser media, or the price of the paid step. Send each to a comparable group of fans for a week, then compare the share of fans who unlocked and the net sales per script. Keep the winner, rewrite the loser, and test again. Two mistakes to avoid while testing: - changing several things at once, so you cannot tell what made the difference - judging on a handful of sales; wait until each version has reached enough fans to compare #### Who sends the script: the AI or the chatter? Both, and that is the point of writing it down. In LanaChat, a script is written once in the [Scripts feature](../features/scripts/): steps, media from the Vault, delays and one price per step. Your chatters can run it on a conversation from Live Convs. The AI Brain decides when Lana can start each script on her own: at night, by priority, or when the fan uses certain words. Lana sells at the price written on the step, never invents a discount (a reduced price only comes from your script, and a discount ceiling in the AI Brain can cap it), and the [Scripts guide](../../guides/scripts/) covers every setting. (Image: The Scripts page of the LanaChat console, with scripts grouped in folders, steps and prices in Stars) #### A quick checklist before a script goes live - Does the opener sound like her, in her language? - Does every paid step have a caption that says what the fan unlocks? - Is the price set on the step, and is it the right rung of your ladder? - Are the delays natural, with no burst of messages? - Is it attached to the right accounts and the right moment? #### FAQ ##### How many steps should a chatting script have? Three to five is enough for most scripts. A first-purchase script usually needs an opener, one free step, a teaser and one paid step. ##### Should a script ever lower the price when a fan hesitates? No. Answer the hesitation with a reason to buy. Lowering the price for the same media teaches fans to wait for a discount. ##### Can the same script be used by the AI and by human chatters? Yes. In LanaChat a chatter runs it from Live Convs, and the AI Brain decides when Lana can start it. Both send the same steps at the same prices. ##### How do I price a script in Telegram Stars? Set one price for the whole paid step, or keep the price of each media from the Vault. Paid steps range from 1 to 25,000 Stars. ##### How often should I rewrite my scripts? When the numbers say so. Compare the share of fans who unlock and the net sales per script every week, and rewrite the weakest one first. ### Telegram fan management: VIP lists and segments for agencies URL: https://lanachat.ai/blog/telegram-fan-management-vip-lists.html · 2026-10-21 Telegram fan management is how an agency keeps track of thousands of fans across its creators: who spends, who is new, who went quiet, and who the AI must not talk to. The core tool is the fan list, a group of fans built by hand or by rules such as total spent above an amount, that you then use to filter conversations and to target messages. Done well, it lets a small team give the right attention to the right fans every day. This post explains which lists an agency needs, how to build them with rules that update themselves, and what to do with each one. #### Why do agencies need fan lists on Telegram? Telegram gives each account a chat list, sorted by the last message. That works for one person with a few dozen chats. It does not work for an agency with several creators, several accounts per creator, and fans writing at every hour. Without lists, the team treats every fan the same. The fan who has bought ten times waits behind a fan who has never bought anything. A mass message about a new set goes to everyone, including the fan who bought it yesterday. And nobody notices that a good buyer has not written in two weeks. Lists fix this by answering one question per group: what should we do with these fans? #### Which fan lists should an agency start with? A short set of lists covers most of the work. These are the ones we see agencies build first: - **VIP**: fans who have spent the most. They get the fastest replies, the most personal attention and first access to new media. - **High potential**: fans who talk a lot and have bought once or twice. They are one good conversation away from becoming VIPs. - **Weekend buyers** or **Night owls**: fans who buy at a specific time. Useful for scheduling sends. - **Cold leads**: fans who stopped writing. They need a follow-up, not a sales pitch. - **Timewasters**: fans who chat a lot and never buy. They still get answers, but your best chatters spend their time elsewhere. Start with three or four. A list nobody uses is noise in the filters. (Image: Conversation filters in the LanaChat console: All, Awaiting reply, Human, AI, Script running, Unread, then fan lists such as VIP, High potential, Timewasters, Weekend buyers, Night owls and Cold leads) #### How do you build lists that update themselves? A list you fill by hand is out of date by the end of the week. The better way is rules. A fan joins the list when he matches the conditions, and leaves it (or stays, your choice) when he no longer does. Marketers have used this idea for a long time under the name [RFM analysis](https://en.wikipedia.org/wiki/RFM_%28market_research%29): sort customers by recency (when did they last buy), frequency (how often) and monetary value (how much). You do not need the full method. Two or three conditions per list are enough: - **VIP**: total spent above an amount you choose. - **High potential**: total spent above zero, and a recent last message. - **Cold leads**: no message for a number of days you choose. For each list you also choose whether a fan must match **all conditions** or **any condition**, and what happens **when a fan stops matching**: remove him, or keep him. Keeping is useful for VIPs (a big spender who pauses for a month is still a VIP); removing is right for lists like Cold leads, which should empty as fans come back. (Image: Diagram of a fan list rule: conditions such as total spent and last message, the all or any choice, then the list, then what happens when a fan stops matching) In LanaChat, you create a list with New list, add fans by hand, or turn on Add fans automatically and set the conditions. Fans added by hand, or added by the AI Brain, are never removed by the rules. The [fans guide](../../guides/fans/) covers each option step by step. #### What do you do with each list? A list is only worth something if it changes what the team does. Three uses come back every day. **Filter the inbox.** In Live Convs, each list appears as a filter next to the conversations, with its count. A chatter starting a shift opens VIP first, then High potential, then the rest. See the [Live Convs feature](../features/live-convs/) for how the fan profile, lists and spend sit next to each chat. **Target a message.** A list can be the audience of a mass message: a new set for VIPs only, a light hello for Cold leads, a late-night message for Night owls. Fans who replied stop receiving the rest of the sequence. Our [Message+ feature](../features/mass-dm-and-nudges/) explains the audience count before each send. **Work with the AI.** An AI Brain can use your lists, and can add fans to a list itself. A list still used by an AI Brain cannot be deleted, so nothing breaks by accident. Deleting a list never deletes fans or conversations. #### What do fan statuses tell you? Lists are groups you design. Statuses are different: they tell you why the AI is or is not talking to a fan, and they are part of fan management too. - **OFF**: the AI stopped for a serious reason, such as Underage, Crisis or distress, Coercion, Illegal request, or Asked to stop. Do not restart the conversation. An underage fan is never sold to, by anyone. - **Review**: something needs a human look, for example Age unclear. - **Paused** or **Awaiting staff**: a person is in charge of the conversation. - **OFF · Converted** or **OFF · Lost**: the conversation reached its end. Check the Review statuses every day. They are the conversations where a quick human decision protects the creator and the agency. #### How often should you review your lists? In our experience, once a week is enough: - **Check the thresholds.** If your VIP list holds half of all fans, the bar is too low. - **Look at Cold leads.** If it keeps growing, your follow-ups need work. Our post on [follow-up scripts that reopen silent fans](follow-up-scripts-silent-fans.html) can help. - **Delete lists nobody uses.** Fewer, sharper lists make the filters faster to read. #### FAQ ##### What is a fan list in a Telegram CRM? A group of fans you name, such as VIP or Cold leads, filled by hand or by rules. You use it to filter conversations and to target messages. ##### Can fans join a list automatically? Yes. Turn on automatic rules, set conditions such as total spent above an amount, and choose whether a fan must match all conditions or any of them. ##### What happens when a fan no longer matches a rule? You choose: remove him from the list, or keep him. Fans added by hand are never removed by the rules. ##### Does deleting a list delete fans? No. Deleting a list never deletes fans or conversations. A list still used by an AI Brain cannot be deleted. ##### Should I restart the AI on a fan marked OFF? No. An OFF status means the AI stopped for a good reason, such as an underage fan or a request to stop. ### How to send a mass DM on Telegram without spamming fans URL: https://lanachat.ai/blog/telegram-mass-dm-without-spamming.html · 2026-10-21 To send a mass DM on Telegram without spamming, write to fans who talked to the creator recently, keep the audience to a list that fits the message, make every text slightly different, and stop the sequence the moment a fan replies. Telegram limits what a bot can send and punishes accounts that users report as spam, so a mass DM has to look and feel like a personal message. Done this way, it is one of the best tools an agency has to wake up a creator's fans. This guide explains the rules Telegram sets, how to choose the audience, and how to write a sequence fans answer instead of reporting. #### What counts as spam on Telegram? Telegram's [spam FAQ](https://telegram.org/faq_spam) is short and clear: when users press Report spam, moderators review the messages, and if they agree the account becomes limited for a while. A limited account can still reply to anyone who writes first, but it can no longer start chats freely. For an agency, that means a creator account that cannot reach out to her own fans. So the real question is not "how many messages can I send" but "will this fan be glad to get it". A fan who wrote to the creator yesterday and gets a warm message tonight does not report it. A fan who never talked to her and gets a sales pitch might. #### What is the 24-hour window? When an account answers fans through a bot linked with Telegram Business, the bot can only send messages in private chats that had an incoming message in the last 24 hours. Telegram spells this out in the [Bot API reference](https://core.telegram.org/bots/api), in the description of a business connection. In practice: - a fan who wrote to the creator within the last 24 hours can receive your mass DM - a fan whose last message is older than that is skipped until he writes again - the window is counted per fan, from his own last message (Image: The 24-hour reply window: a fan's message opens it, the bot can write until it closes, then waits for his next message) This rule is a gift in disguise. It means your mass DM only reaches fans who are already in a conversation, which is exactly the audience least likely to see it as spam. #### How do you choose the audience? "All fans" is rarely the right answer. A message that works for a big spender can annoy a fan who never bought, and the other way around. Build lists and send to the list that fits the message. - **VIPs**: fans whose total spend is above an amount you choose. Send them early access and premium media. - **Recent buyers**: fans who bought in the last days. Send them the next rung of your price ladder. - **Night owls**: fans who mostly write late. Schedule their messages for their evening, not yours. - **Cold leads**: fans who chat but never bought. Send them something free first. In LanaChat, a list can fill itself with rules, for example total spent above an amount, and you pick it as the audience of a send. Before you press send, the count shows how many fans can be messaged now, how many are outside the 24-hour window and how many are excluded. The [fans guide](../../guides/fans/) shows how to build the lists. #### How do you write a mass DM fans answer? The best mass DMs do not look like mass DMs. Four habits make the difference. 1. **Use variables.** Insert the fan's first name, and use a variation such as {Hi|Hey|Hello} so every fan gets a slightly different text. Twenty fans comparing notes should not find the same line. 2. **Ask something.** A question invites a reply, and a reply reopens the conversation, which is worth more than any single message. 3. **Keep it short.** Two or three short messages with a pause between them read like a real chat. A wall of text reads like an advert. 4. **Lead with value.** A free photo or a voice note before any paid media. If you include a paid media, the caption says exactly what the fan unlocks. #### Why stop when the fan replies? Because the goal of a mass DM is a conversation. If a fan answers the first message and then receives the second and third messages of your sequence anyway, the creator looks like a robot at the very moment he became interested. A good tool stops the rest of the sequence for every fan who replies, and lets the normal conversation take over: the AI or a chatter answers him like any other fan. In LanaChat, **Stop when the fan replies** is on by default. #### When should you send it? Timing matters as much as the text. - **Send in the fan's evening.** Most fans write after work. A message that lands at 4 AM in his time zone is ignored, or worse. - **Space your sends.** One good message a few times a week beats a daily blast. Watch the replies and the reports, not just the sales. - **Schedule repeats.** A weekly message for VIPs on the same evening becomes something they expect. #### How Message+ handles it In LanaChat, mass DMs live in [Message+](../features/mass-dm-and-nudges/). You write a sequence of up to 16 messages, each with a wait of up to an hour after the one before, with media from the Vault sent free or paid in Stars, from 1 to 25,000. You pick all fans of a creator or one of your lists, up to 800 fans per send, then send now, once at a set time, every day, or weekly on the days you choose. Sends run on our servers and keep going when the console is closed, and each one shows how many messages were sent, pending, paused after a reply or failed. Fans outside the 24-hour window are skipped, and the sequence stops for every fan who replies. Nudge, a message sent the moment a quiet fan comes back online, is coming next. For fans who went silent, our [follow-up scripts that reopen silent fans](follow-up-scripts-silent-fans.html) are often a better first move than a mass DM. #### FAQ ##### Can a Telegram bot message every fan of an account at once? Only the fans who wrote in the last 24 hours. Telegram lets a business bot send messages only in private chats with an incoming message in that window. ##### How many fans can one mass DM reach in LanaChat? Up to 800 fans per send. For a larger audience, pick a fan list to narrow it down. ##### What happens if a fan replies in the middle of a sequence? With Stop when the fan replies on, he receives nothing more from that sequence, and the conversation continues normally. ##### Can I include paid media in a mass DM? Yes. Media can be sent free or paid in Telegram Stars, from 1 to 25,000. Say in the caption what the fan unlocks. ##### How do I avoid my account being limited for spam? Write only to fans who talked to the creator recently, send to a list that fits the message, vary the text, and stop as soon as a fan answers. ### Telegram payment links vs Telegram Stars: which to use URL: https://lanachat.ai/blog/telegram-payment-links-vs-stars.html · 2026-10-21 Agencies on Telegram get paid two ways. Telegram Stars are the native payment: the fan unlocks a media in the chat and pays without leaving the conversation. A payment link sends the fan to a checkout run by your own payment provider (Dropp Fans, Fangate and others), on your provider's terms. Both work with LanaChat: Lana sends a locked media in Stars or a payment link at the right moment of the conversation, and both are counted in the same numbers. Here is how the two compare, and how we recommend choosing. (Image: Telegram Stars and payment links compared: where the fan pays, details to enter, who sets the terms, what Lana sends, refunds, net sales) #### How does a Stars payment work for the fan? 1. The fan sees a blurred media in the chat, with a price in Stars. 2. He taps to unlock. If he has no Stars, Telegram offers to buy them through the usual in-app purchase or @PremiumBot. 3. Telegram takes the payment and the media unlocks in the conversation. 4. The Stars are credited to the balance of the bot that runs the creator's account. The fan types no card number, no name and no address. That is the main commercial argument for Stars: the fewer steps between "I want it" and "I have it", the fewer buyers you lose on the way. We cover the full selling setup in [how to sell locked media on Telegram with Stars](sell-locked-media-telegram-stars.html). #### What does Telegram say about Stars? Telegram's [documentation on payments for digital goods](https://core.telegram.org/bots/payments-stars) describes its own payment flow for bots: when a bot sends an invoice for digital goods and services inside Telegram apps, the transaction is made in Telegram Stars. Telegram explains this by the rules of the Apple and Google app stores. The same page lets the seller refund a Stars payment with the refundStarPayment method and asks bots to answer the /paysupport command. Stars also come with Telegram's terms on everything that happens after the sale: Telegram's share, how a Star converts, and how the balance is withdrawn. Our post on [how to withdraw Telegram Stars](how-to-withdraw-telegram-stars.html) goes through that part. #### What is a payment link? A payment link is a URL to a checkout page run by a payment provider. The fan opens it, pays on the provider's page, and comes back to the conversation. The money settles on the provider's side, on its schedule, with its fees and its refund process. For an agency, the appeal is control: - **Your processor, your conditions.** You pick the provider, and its fees, payout schedule and currency are the ones you negotiated. - **Money outside the Stars balance.** Payouts follow your provider, not Telegram's withdrawal rules. - **One habit for fans who already pay that way.** Some fans prefer a card checkout they know. The limits are just as concrete. The fan leaves the chat, fills in a form and has to come back, so some buyers drop off on the way. Refunds and disputes go through your provider. And every provider has its own terms on what can be sold and how: read them, and read Telegram's terms for your setup, before you scale a link. #### Stars or payment link: how do they compare? - **Where the fan pays.** Stars: in the chat. Link: on the provider's page. - **Friction.** Stars: one tap once the fan has Stars. Link: a checkout form and a return trip to Telegram. - **Who sets the terms.** Stars: Telegram (rate, share, withdrawals). Link: your processor (fees, payouts, conditions). - **Refunds and disputes.** Stars: through Telegram's bot payments. Link: through the provider. - **What Lana sends.** Stars: a locked media at the price set in the Vault. Link: your payment link, at the moment the conversation calls for it. #### How are both counted in your numbers? An agency needs one revenue figure, whatever the payment method. In LanaChat that figure is net sales. - For a **Stars** payment, net sales are what is left after Telegram's share and refunds. - For a **payment link**, net sales are counted on the amount the link actually settled, not on the price shown to the fan. Both feed the same reports per creator, per account and per tracking link, and the commission on sales is computed on net sales in both cases. A sale counts as an AI sale when Lana sent the paid offer, whether that offer was a locked media or a payment link. The [Vault and paid media feature](../features/vault-and-paid-media/) shows how Stars prices are set per item, from 1 to 25,000 Stars. #### Which should your agency use? In our experience, the best setup uses both, each where it is strongest: 1. **Stars for impulse buys in the chat.** A teaser that unlocks in one tap converts on the spot. 2. **Payment links where your processor serves you better.** Bigger bundles, fans who prefer paying by card, or creators whose payouts you want with your own provider. 3. **Track both the same way.** Same tracking links, same net sales, so you can see what each method really brings per source and per creator. Whatever the mix, keep prices fixed by the agency. Lana sends the media or the link at the price you set, and never invents a discount: she only uses the reduced prices written in your scripts, which you can cap with a discount ceiling in the AI Brain. #### FAQ ##### Can Lana send payment links? Yes. Lana sends a locked media paid in Stars or one of your payment links (Dropp Fans, Fangate and others) at the right moment of the conversation. ##### Why do Stars often convert better than links? The fan pays inside the conversation, with no checkout page to open and no card form to fill in. ##### How does LanaChat count a sale paid through a payment link? On the amount the link actually settled. For Stars, net sales are counted after Telegram's share and refunds. ##### Who handles refunds? For Stars, the seller refunds through Telegram's bot payments. For a payment link, the refund goes through your payment provider. ##### Does LanaChat hold the fans' money? No. Fan payments, in Stars or through a payment link, go to the agency or the creator under Telegram's or the provider's terms. LanaChat is not a payment service. ### Telegram tracking links with a Meta Pixel: how it works URL: https://lanachat.ai/blog/telegram-tracking-link-with-meta-pixel.html · 2026-10-21 A Meta Pixel cannot run inside Telegram, because Telegram does not load your code in a private chat. The way to connect a Telegram funnel to Meta is a tracking link: the fan clicks a web link you own, lands in the creator's Telegram account, and the events that happen later in the chat (the first message, a confirmed purchase) are reported back to Meta from the server side. Set up that way, your ads learn from fans who talk and buy, not only from clicks. This post explains the mechanics, what each event means, and how to set it up per ad without breaking your numbers. #### Why can't a pixel sit inside Telegram? On a website, a pixel is a small script that runs in the visitor's browser. It sees the page view, the add to cart, the purchase, because all of that happens on pages you control. A Telegram funnel is different. The fan leaves the ad, opens Telegram, and from that point everything happens inside the Telegram app: the chat, the voice notes, the locked media, the payment in Stars. You cannot put a script in a private conversation. If you only send fans to a plain t.me link, Meta sees a click and then nothing. That gap has a cost. Ad platforms optimize for the event you give them. If the only event is a click, the algorithm looks for people who click, which is not the same as people who start a conversation, and even less the same as people who pay. #### How does a tracking link close the gap? A tracking link sits between the ad and Telegram. It is a short web address on a domain you own, one per ad or per source, and it does three things: 1. **It counts the click** and keeps the context of the ad (source, campaign, UTM parameters). 2. **It opens the conversation** with the right Telegram account, or with the creator's pool of accounts. 3. **It ties what happens next to that click**, so a first message or a purchase in the chat can be traced back to the link the fan came from. Once a fan's later actions are tied to the link, they can be reported to the ad platform from a server. Meta calls this approach its [Conversions API](https://developers.facebook.com/docs/marketing-api/conversions-api/): events sent from a server rather than from the visitor's browser. TikTok describes the same idea with its [Events API](https://business.tiktok.com/help/article/events-api). (Image: Flow of a tracking link with a pixel: ad click, tracking link, Telegram conversation, first message event, Stars purchase, purchase event sent to the ad platform) #### Which events should you send? In LanaChat, a pixel connected to a link can send two events, alone or together: - **First Telegram message**: the fan did not just click, he wrote to the creator. This is the event to use when a campaign is new and purchases are still rare, because the ad platform needs enough events to learn. - **Confirmed purchases**: the fan paid for a locked media in Telegram Stars, and the payment is verified. This is the event that matches what the agency actually earns. We recommend starting a new campaign on the first message, then moving the optimization to purchases once each ad set sends enough of them. Sending both from the start costs nothing and gives you the data for that switch. A few rules keep the setup clean: - **Only new events after setup are sent.** Connecting a pixel today does not replay last month's purchases. - **No content leaves the chat.** Messages, media and usernames are never sent to the ad platform. The event says that something happened, not what was said. - **Read the pixel status.** Each pixel shows Connected, Needs setup, Delivery failing or Not connected. If it reads Delivery failing, the ad platform is no longer receiving events: fix it before you trust the campaign. #### How do you set it up for one ad? Here is the setup for one Meta ad set, from start to finish. 1. **Create the link.** In Tracking links, press New link, name it after the ad set (for example *Emma Meta FR story test*), pick the domain and the slug, set the traffic source to Meta and add the campaign name. 2. **Choose the destination.** One Telegram account, or the creator's pool if the campaign may bring many fans at once. 3. **Connect the pixel.** Pick your Meta pixel and the events to send: first message, confirmed purchases, or both. 4. **Put the link in the ad.** Use the full tracking link as the ad's destination, never the bare t.me address, or the click will not be counted. 5. **Check the first events.** Send yourself through the link from a test account, write a message, and check that the pixel status stays Connected. The [tracking links feature](../features/tracking-links/) shows the whole flow, and the [tracking guide](../../guides/tracking-links/) lists every field of the link window. (Image: The LanaChat tracking links table: link name, destination account, source, clicks, conversations, buyers and revenue in Stars, with a Meta Pixel connected to the Instagram link) #### Why use your own domain for the links? Ad platforms and fans both read the link. A link on a subdomain you own, such as go.youragency.com, looks consistent across all your ads, and you can move it between tools without changing every ad. In LanaChat you add the subdomain, copy the two DNS records, press Check DNS, and the SSL certificate is issued once the domain is verified. The LanaChat domain stays available if you do not want to manage DNS. #### How are purchases attributed to the ad? A fan belongs to the first link he clicked. If he first came from a Meta story and later clicked a TikTok link, his purchases stay with the Meta story. Purchases count when they are verified Telegram Stars purchases. First-touch is simple and stable, and it is the same rule for every source, so you can compare them fairly. It will not always match what Meta reports in Ads Manager, because Meta has its own attribution windows. Use the tracking link numbers as your record of revenue, and Ads Manager for delivery and cost. Our post on [how to track which link brings Telegram sales](telegram-link-tracking-revenue-per-source.html) covers the attribution side and the numbers to read in more detail. #### Common mistakes - **One link for every ad.** You get one pixel and one number for the whole budget, and no way to cut the ad that does not sell. - **Optimizing on clicks.** The ad platform finds clickers. Send at least the first message event. - **Switching to purchases too early.** With a handful of purchases per week, the algorithm has too little to learn from. Start on first messages. - **Ignoring Delivery failing.** The ads keep running, but the platform stops receiving events and drifts back to clicks. - **Reusing an old link for a new ad.** The two ads then share one set of numbers. Create a new link, and archive the old one: archiving stops new clicks, and the attribution and revenue already recorded stay in your reports. #### FAQ ##### Can I install a Meta Pixel inside a Telegram chat? No. Telegram does not run your code inside a private conversation. The pixel event is sent from the server side when the fan writes or pays, through the tracking link he clicked. ##### Which ad platforms can a LanaChat link report to? Meta, TikTok, Snap and Google Ads. Each link can have its own pixel. ##### Are fan messages sent to Meta? No. Messages, media and usernames are never sent. Only the event itself (a first message or a confirmed purchase) is reported. ##### Will past purchases be sent when I connect a pixel? No. Only new events after the pixel is set up are sent. ##### Why do my Ads Manager numbers differ from LanaChat? Meta uses its own attribution windows. LanaChat attributes each fan to the first link he clicked, with verified Telegram Stars purchases. Compare trends, not exact totals. ### The pricing we wished we had URL: https://lanachat.ai/blog/the-pricing-we-wished-we-had.html · 2026-10-20 The "we" in the title is borrowed: this is the pricing agency owners told us they wished they had. Before Lana, the agencies we work with paid for chatting software like everyone else, and the invoices agency owners describe tell the same story: a fee per seat for chatters who came and went, a fee per message that punished them for selling more, and a rate that never moved no matter how big they got. When we built LanaChat, the pricing was not an afterthought. It was one of the first things we designed with those agency owners, with a simple brief: build the bill they always wanted to receive. #### Two lines, nothing else Lana's pricing fits on two lines. A licence per Telegram account, and a share of what Lana sells. That is the whole bill. - The licence is $19 per Telegram account per month. Buy them one by one, or by pack for less: 10 for $170, 25 for $375, 50 for $650. Unused licences never expire, and moving one to another account keeps the days left. - The share is 12% of the net sales Lana makes. It drops to 10% once your workspace passes $30,000 of net sales in a month, and to 8% above $100,000. Sales a person on your team sends by hand from Live Convs, or that a script step sends, are at 4%, then 3%, then 2% on the same tiers, one counter for the whole workspace. Net means net: what you actually receive after Telegram's share and refunds, never gross. One counter per workspace, all accounts together, reset on the 1st. Every sale in the console shows its rate and why. There is no seat. Your whole team, from the owner to the night-shift chatter, works in the console at no extra cost. There is no message fee, no fee per creator, no fee for the API. You prepay a balance in USDT or USDC, licences and commission come out of it, and when it runs out Lana simply pauses until you top up. No contract. #### Why the price can be this low A share of sales only works if the AI behind it is cheap enough to run on every conversation, including the thousands that never lead to a sale. That is where most of our engineering time went. Running a large language model on every fan message, with the creator's persona, Vault and scripts in context, is expensive if you do it the naive way. We did it that way first, on real shifts with the agencies we work with, then spent months bringing the cost down without touching the quality of the replies. - Not every message needs the same model. A "hey" at 3 am and a fan negotiating a 1,500 Star video are not the same job. Lana routes each turn to the model that handles it best for the least, and reserves the heaviest reasoning for the moments that make or lose a sale. - Context is built, not dumped. Instead of sending a creator's entire persona and history with every message, Lana sends what matters for this fan, this turn. Shorter prompts, faster replies, lower cost. - Everything repeatable is cached. The parts of a conversation that do not change between turns are not paid for twice. - We measure cost per sale, not cost per message. A cheaper reply that loses the fan is the most expensive reply there is, so every optimisation is checked against conversion before it ships. The result is an AI that costs us a fraction of what a generic setup would, at the same or better quality in the chat. We pass that on. The $19 licence and the 12% share are not a promotional price: they are what the product costs to run well, plus a margin we are comfortable with. #### Why the rate drops as you grow Most tools charge big agencies more. More seats, more messages, enterprise tiers. We think that is backwards, for a reason that becomes obvious once you serve agencies of every size. The cost of serving an agency does not grow in line with its sales. Serving the first $30,000 of monthly sales means onboarding, setup, questions, tuning the personas, learning the market. Serving the next $70,000 on the same workspace costs us far less per dollar: the accounts are configured, the scripts are written, the AI Brain knows the creators. It would be dishonest to charge the same rate on both. So the rate tiers down. 12% up to $30,000 of net sales a month, 10% from $30,000 to $100,000, 8% above. The same for manual sales: 4%, 3%, 2%. One counter, all accounts, so a multi-brand agency gets there faster than if each creator were counted alone. There is a second reason, and it is the one we care about most: we want the agencies that grow on Lana to stay on Lana. A rate that drops as you grow means the product gets cheaper exactly when you have the most to lose by switching. That is the deal agency owners told us they wanted from their tools and never got. So we built the pricing agencies asked for. #### What this looks like in practice Take an agency with 20 Telegram accounts doing $4,000 of net sales each per month, 80% of it sold by Lana. That is $80,000 of workspace net sales. Licences: two packs of 10, $340. Commission on Lana's sales: the first $30,000 of the workspace counter at 12%, the rest at 10%, blended on the AI share to about $6,880. Commission on the $16,000 sold by hand, on the same counter at 4% then 3%: about $540. Total around $7,760, or 9.7% of sales all-in, with no seat for the team. The calculator on our [pricing page](../#pricing) does this maths live for your own numbers, and the [AI Brain page](../features/ai-brain/) shows what Lana actually does for that share. Sign-up is open. If you want the bill described above instead of the one you have, create an agency account from [Get started](../../signup/): our team reviews every agency before activation, and there is no free trial. Every release is announced first on [our Telegram channel](https://t.me/lanachatai). #### FAQ ##### Is there a fee per chatter or per seat? No. Your whole team works in the console at no extra cost. You pay a licence per Telegram account and a share of what Lana sells, nothing per person. ##### Why is the commission on manual sales so much lower? Because Lana did not send the offer. When a person on your team sends the paid offer from Live Convs, or a script step sends it, the sale is billed at 4%, 3% or 2% depending on your monthly tier, instead of 12%, 10% or 8%. ##### Does the rate reset every month? Yes. The counter of workspace net sales resets on the 1st. Within the month, every sale is charged at the rate of the tier the counter is in at that moment, and the console shows the rate on each sale. ### AI chatter vs human chatters: what to automate first URL: https://lanachat.ai/blog/ai-chatter-vs-human-chatters.html · 2026-10-19 An AI chatter is software that answers fans in a creator's voice and sells at the price you set. It does not replace your human chatters. The best split is simple: the AI takes volume, first replies and night hours, and your people take the fans who are worth a real conversation. This article is for chatting agencies that already run a team, many coming from OnlyFans-style operations, and want to know what to hand to the AI first and what to keep human. #### What does an AI chatter actually do? In LanaChat, the AI answers every fan in the creator's voice and language, through the bot linked to her Telegram account. It does four jobs: - **Replies fast, at any hour.** Fans write at night and on weekends. The AI answers within seconds. - **Sells at your price.** It picks media from the creator's Vault and sends it at the price you set. It never invents a discount: it only uses the reduced prices written in your scripts, which a discount ceiling can cap. - **Follows up.** The AI Brain decides what to send after a silence, after an unopened media, and how to answer objections. - **Stays inside limits.** The persona holds the creator's boundaries: what she never says and never does. All of this is described on the [AI Brain page](../features/ai-brain/). Nothing the AI sends is hidden: every conversation is kept and readable by your team. #### What are human chatters still better at? Be honest about this, because it decides your margin and your reputation. - **High-value fans.** A fan who spends a lot and wants attention deserves a person who knows him. - **Delicate moments.** Distress, anger, a fan who asks for something the persona does not allow, a possible minor. The console warns you in these cases and a human should decide. - **Pricing exceptions.** The AI only uses the reduced prices written in your scripts, within the discount ceiling if you set one. Any other price change is for a person on your team. - **Judgment on tone.** A person notices when a joke would land badly. An AI chatter is also not a way to deceive anyone. It writes in the creator's voice, your audiences must be adults, and you should never claim that fans cannot tell it is an AI. #### What should you automate first? Start with the work where speed matters more than depth. 1. **Night and weekend coverage.** This is the easiest win. Nobody wants the 4 AM shift, and fans in other time zones write at that hour. 2. **First replies.** The first answer sets the tone. The AI is there in seconds, in the fan's language. 3. **Follow-ups after silence.** Chasing quiet fans is repetitive and easy to forget. See our piece on [follow-up scripts for silent fans](follow-up-scripts-silent-fans.html). 4. **Repetitive questions.** Prices, what is in a set, how to unlock. Scripts and the AI Brain handle those. Keep human, at least at first: your top spenders, any fan flagged by the console, and every conversation where you are testing a new offer. #### How do humans and AI share a conversation? In **Live Convs**, every conversation is live. Your team can read what the AI says, then press **Take over manually**. The AI pauses for that fan until you hand it back. Fans see typing on Telegram while you write, like any normal reply. Some practical habits that work: - Use the **Follow up now** block at the top of the list to see who to write to first: fans ready to buy, buyers who went quiet, top fans gone silent. - Filter by **Human**, **AI** or **Awaiting reply** to see where attention is needed. - Review the night's conversations in the morning, and take over the ones that matter. - Hand a fan back to the AI when you are done, so it can keep the thread going. Auto-translate helps here too. It shows each message in your language and sends your reply in the fan's, so a chatter does not need to speak every language. See the [Live Convs page](../features/live-convs/) for the full inbox. #### How is it billed: AI sales vs manual sales? Billing follows who sent the paid offer the fan unlocked. The commission is on net sales only, after Telegram's share and refunds. - **AI sales:** 12% up to $30,000 of workspace net sales in the month, 10% from $30,000 to $100,000, 8% above. - **Manual sales** (sent by a teammate from Live Convs): 4%, 3% and 2% on the same tiers. On top of this there is a licence of $19 per Telegram account per month, with packs of 10 for $170, 25 for $375 and 50 for $650. There is **no per-seat fee**. Adding a chatter does not change your LanaChat bill. [Team and roles](../features/team-and-roles/) lets you add chatters, managers and custom roles, group them in branches and set each chatter's traffic share on a creator. #### Which is cheaper, then? The commission on a manual sale is lower. That is not the full picture. A human chatter is paid by you, outside LanaChat, and that cost does not appear in our price. The AI does not need a wage, and it covers hours you would otherwise have to staff. A fair way to think about it: pay the AI rate where the AI does the work, and keep humans where their judgment brings in more than the rate difference. If a fan would have bought anyway from a quick, correct reply, the AI is the cheap option. If a fan needs a long, careful conversation to buy, a human may be worth the wage. #### When is the AI not the right choice? - A creator who wants every message to be personally hers. - A new persona you have not tested yet. Test it in the Playground and watch the first conversations in Live Convs before you let it run alone. - Any account where you cannot review conversations regularly. For these, set the creator's response mode and keep the team in charge. Each creator can stay manual, and the AI can be switched off for any single conversation. Sign-up is open: create your agency's account from Get started, and our team reviews every agency before activation. There is no free trial. New releases are announced first in [our Telegram channel](https://t.me/lanachatai). #### FAQ ##### Will an AI chatter replace my human chatters? No, and it should not. It covers volume, nights and follow-ups. Your people handle high-value fans, delicate situations and price decisions. ##### Can the AI give discounts? The AI never invents a discount. It only uses the reduced prices you wrote in your scripts, and you can cap them with a discount ceiling in each creator's AI Brain (0 to 60%). Otherwise, media are sold at the price you set in the Vault or in the script. ##### Do I pay for each chatter? No. LanaChat has no per-seat fee. You pay a licence per Telegram account and a commission on net sales. ##### Why is the manual rate lower than the AI rate? Because a teammate did the selling work, not the AI. A sale sent by a teammate from Live Convs is billed at 4%, 3% or 2%, depending on your monthly tier. ### Looking for an AI sexting bot? What agencies need instead URL: https://lanachat.ai/blog/ai-sexting-bot-alternative.html · 2026-10-19 If you searched for an AI sexting bot, you probably want an AI that talks to fans for you. For an agency, a generic bot is the wrong tool. The better AI sexting bot alternative is a system that writes in one creator's voice, stays inside limits you set, sells at your prices and lets your team read and take over every chat. This article explains what a generic bot gets wrong for agencies and what to look for instead. LanaChat is one option, and we say where it does not fit. #### Why does a generic AI sexting bot fail an agency? A generic bot is built for one person chatting with one character. An agency has different problems. - **No identity.** The bot has a default personality. Your creator has a life, a way of writing and things she would never say. - **No limits you control.** A generic bot goes where the user pushes it. An agency needs a creator who stays inside agreed boundaries, every time. - **No prices.** Selling is not chat. Someone has to decide what media costs and make sure nobody gets a discount by asking nicely. - **No oversight.** If you cannot read what was sent in a creator's name, you cannot manage the account. - **No scale.** One chat window is not a console for many creators and many accounts. None of this is about being prudish. It is about running a business on a creator's name and reputation. #### What makes a good AI sexting bot alternative? Think of the AI as a new chatter you train. A good one needs five things. 1. **A persona.** Who she is, how she talks, what she remembers, what she never does. 2. **A way to sell.** Media with a price, sent locked, unlocked after payment. 3. **Follow-ups.** Fans go quiet. Someone has to write back. 4. **Language.** Fans write in many languages. The reply should match. 5. **Human control.** Your team can read everything and step in at any time. Without the fifth point, the other four are a risk, not a feature. #### How does a creator persona work? In LanaChat, each creator has a persona with eight pages, from appearance to boundaries. Her **AI Brain** then decides *how* she chats and sells: sales tone, the questions she asks to get to know a fan, scripts, objections, follow-ups. Three parts of the persona do most of the work. - **Mimic.** You add real lines she would send, by category. Turn on Use Mimic and the AI copies her writing style. - **Boundaries.** This page lists what she never does and how a relationship with a fan progresses. It is the most important page. Short and precise beats long. - **Memory.** Anecdotes and questions with answers she can recall. A recall test lets you check it before a fan does. Two shortcuts save time. Set her date of birth and the empty tone fields get a value that fits her age. Or pick one of six ready-made persona modes and adjust the two or three fields that make her unique. You keep the last word on every field. The [AI Brain guide](../../guides/what-is-an-ai-brain/) explains the tabs, and [Creators and brands](../features/creators-and-brands/) covers how creators are set up. #### How do you test it before fans see it? Use the Playground. You chat with the creator as if you were a fan. The AI answers for real, with her persona and brain, but nothing goes to Telegram. Test the awkward cases on purpose: - A fan who asks for a discount. - A fan who asks to meet or to call. - A fan who says "too expensive". - A message in another language. - A question she should be able to answer from memory. When she offers paid media you can press Simulate purchase to see what she does after a payment. No Stars are spent. You can also compare two brains side by side. If a reply is marked as held by the safety agent, the message would have been blocked for a real fan too. #### What about discounts, limits and adults only? These are the points where a bad setup costs you most. - **Discounts only from your scripts.** Media is sold at the price you set in the Vault or the script. The AI never invents a discount: a reduced price only comes from a script step, and you can cap it with a discount ceiling in each creator's AI Brain (0 to 60%). - **Limits are written down.** When a fan asks for something outside her boundaries, the AI declines gently and brings the chat back to what she offers on Telegram. - **Adults only.** Your audience must be adults, and your creators must be adults. When a fan appears to be underage, the AI stops for good: the fan is marked Underage and Live Convs shows a "minor, do not sell" badge. Other safety statuses cover distress, coercion, illegal requests and fans who ask to stop. Do not restart the AI on those. - **Tasteful by design.** Your persona decides how suggestive a creator is. The platform rules of Telegram and the law where you operate still apply to you. LanaChat does not claim fans cannot tell they are talking to an AI. The AI writes in the creator's voice and language, and your team can read every conversation. #### How much human oversight is enough? More than none. A practical routine: 1. Read the first conversations in Live Convs after a creator goes live. 2. Watch the fans marked for review or awaiting staff. 3. Take over manually for your biggest spenders. The AI pauses for that fan until you hand it back. 4. Adjust the persona or brain after each pattern you do not like. Our post on [what to automate first](ai-chatter-vs-human-chatters.html) goes deeper on the split between AI and humans. For the AI itself, see [AI Brain](../features/ai-brain/). #### When is this not the right choice? Be honest about fit. - If you want a private character to chat with for yourself, this is not that product. It is a business tool for agencies. - If you only need a few canned replies, scripts alone may be enough. - If a creator wants every message written by hand, keep her on manual mode. Each creator has a response mode. - Sign-up is open: create your agency's account from Get started, and our team reviews every agency before activation. There is no free trial. New releases are announced first in [our Telegram channel](https://t.me/lanachatai). #### FAQ ##### Is there an AI sexting bot for agencies? Generic bots are built for one user and one character. Agencies need a creator persona, limits, set prices and a console where the team can read and take over every chat. That is what LanaChat is built for, on Telegram. ##### Can the AI give discounts? The AI never invents a discount. It only uses the reduced prices you wrote in your scripts, and you can cap them with a discount ceiling in each creator's AI Brain (0 to 60%). Otherwise it sells at the price you set in the Vault or in a script. ##### Can I test the AI before fans talk to it? Yes. The Playground lets you chat as a fan with the creator's real persona and brain. Nothing is sent to Telegram, and no Stars are spent in a test. ##### What stops the AI from crossing a line? The boundaries page of the persona, the AI Brain settings and safety statuses. Your team can read every conversation and take over at any time. ### Manage multiple Telegram accounts from one console URL: https://lanachat.ai/blog/one-console-30-telegram-accounts.html · 2026-10-19 To manage multiple Telegram accounts without chaos, you need three things: a naming habit, one place to see the state of every account, and pools that spread new conversations for you. In LanaChat, every account of every creator lives in one console, with its status, its load and its AI switch on the same row. This article is about the daily work once you have more than a handful of accounts. If you want the idea behind pools first, read [what a pool is](what-is-a-pool.html). Here we cover what the work looks like on a normal Tuesday. #### Why does one creator end up with many Telegram accounts? A single account is a single point of failure. It can be slowed down when too many new fans write at once. It can speak one language only. It cannot serve three traffic sources without mixing them up. So agencies add accounts. One per market, one per traffic source, a few spares. At ten accounts this is manageable in your head. At thirty it is not, unless the tool does the bookkeeping. #### How do you connect an account without anyone's password? LanaChat answers fans through a bot that Telegram's Business chatbot feature attaches to the account. That link is called a business connection. You never give a phone number, a password or a login code. The creator keeps her account. The steps are the same every time: 1. Open **Studio > Telegram Accounts** and press **Add account**. 2. Pick the creator (or create her on the spot). 3. Name the account. Only the name is required. Market and traffic source can come later. 4. Create the bot in BotFather, turn on Secretary Mode, and paste the bot token. The token is checked, then never shown again. 5. On the Telegram account, open Telegram Business, Chat Automation, add the bot and allow it to manage messages. The row appears at once as **Waiting for Telegram** and switches to **Connected** by itself. The [Telegram Accounts feature page](../features/telegram-accounts/) shows the whole flow. #### What should you put in the account name? Names are what you will search and filter by, so make them boring and consistent. A good pattern is creator, market, traffic source, number. For example: "Julia IT Meta Ads 5". Two fields do more work than the name: - **Market.** It decides the reply language of the account, unless you override it. - **Traffic source.** Together with the market, it decides which pool the account joins. Set both as soon as you know them. Until you do, the row shows *Not set* and the account is in no pool. #### How do pools work day to day? You do not build pools by hand. A pool forms on its own from the market and traffic source of your active accounts, and a tracking link serves the pool of the account it points at. New conversations are then spread across the accounts in that pool. What you do is watch the load. The **Pool load** tab (see the [Telegram Accounts guide](../../guides/telegram-accounts/)) is read-only and shows two views: - **Load this hour:** one bar per account, with messages this hour against a ceiling of 2,000. A bar turns amber from 80 % (the account is slowed) and red from 95 % (paused until the next hour). - **Load history:** one line per account over 24 hours or 7 days. Filter by traffic or market and hover a point to read each account's load. Each creator also gets a card showing every pool and the traffic share of each account. A section called **Pages serving a single account** lists tracking pages that point at an account in no pool. Check it after a campaign launch. Those are the links with no safety net. The practical rule: if one account sits in amber every evening, add another account to that pool before you raise your ad spend. #### How do you keep accounts distinct without rewriting the persona? Every account of a creator shares her AI Brain, but each conversation history stays separate. That means one persona to maintain, not thirty. When an account needs to fit its market a little better, you can customize four things for that account only: **Hobbies**, **Punctuation**, **Reply language** and **City**. The creator value stays visible as **Creator default**, and switching the override off brings it back. The list shows how many blocks are customized on each account. One catch: **City** cannot be customized while location mirroring is on for the creator, because the city then follows each fan. #### What can you do from the Stories tab? Stories are a quiet way to keep many accounts alive and visible. Pick a creator, tick the accounts, choose a photo or video (upload one or take it from the Vault), add text and an optional link sticker, then post now or schedule it. Scheduled stories can be edited or canceled until they go out. An account without the Stories permission is greyed out. Allow it in that account's Chat Automation settings in Telegram. #### How do you pause, fix or remove an account? Each row has a menu with the actions you need: - **Pause** and **Resume AI replies** switch the AI off or on for that account only. - **Reconnect** fixes most connection issues. The reason is written under the status chip, for example that the reply permission is off in Telegram. - **Finish connecting** brings back the last step for an account that is still waiting. - **Remove** stops LanaChat from answering on the account. The Telegram account is not deleted, and the bot, the fans and the history are kept. Removed accounts come back with **Restore**. #### What does it cost to run 30 accounts? Each Telegram account needs a licence: $19 per account for 30 days. Packs bring the price down: 10 for $170, 25 for $375, 50 for $650. Licences wait in your stock and never expire, and moving one to another account keeps the days left. Thirty accounts could be one pack of 25 plus five single licences, which is $470 for the month. On top of licences, there is a commission on net sales only (after Telegram's share and refunds). There is no per-seat fee, so adding chatters does not change the bill. You pay from a prepaid balance in USDT or USDC, with a minimum top-up of $25. When the balance runs out, the AI pauses until you top up. #### When is this the wrong setup? Be honest with yourself about scale. If one creator gets a few new fans a day, one account is enough, and a pool adds nothing. More accounts also means more things to keep named, tagged and checked. The console helps, but it does not replace the habit. Sign-up is open: create your agency's account from Get started, and our team reviews every agency before activation. There is no free trial. New releases are announced first in [our Telegram channel](https://t.me/lanachatai). #### FAQ ##### Do I need the creator's phone number or password? No. You connect each account through a bot and Telegram's own business connection. LanaChat never asks for a phone number, a password or a login code. ##### How many Telegram accounts can one creator have? The guides do not set a limit per creator. Your practical limit is how many licences you buy and how well you keep the accounts named and tagged. ##### What happens if one account has a problem? Its row shows a status and a reason. Pause it or reconnect it. Other accounts in the pool keep receiving new conversations, so the link does not stop working. ##### Can one bot run several accounts? Yes. A bot can be shared by several accounts of the same creator, and then the Stars of those accounts land on the same bot balance. By default each account gets a bot of its own. ### How to sell locked media on Telegram with Stars URL: https://lanachat.ai/blog/sell-locked-media-telegram-stars.html · 2026-10-19 To sell content on Telegram, you send the fan a blurred photo or video and set a price in Telegram Stars. The fan taps it, pays inside Telegram, and the media unlocks. The Stars land on the balance of the bot linked to the creator's account. This is the cleanest way to sell Telegram paid media because the fan never leaves the chat. No external checkout, no card form, no link to a payment page. Below is how it works, what to prepare, and where agencies lose sales. #### How does locked media work on Telegram? A locked (paid) media is a photo, video or voice note that reaches the fan blurred. Under it, the fan sees the price in Stars. One tap on the unlock button and Telegram asks for the payment. Once paid, the full file shows in the same conversation. Three things make this work well for a conversation-based sale: - The offer lives in the chat, right after the moment that made the fan want it. - The fan pays with a balance he already holds in Telegram. - Every purchase is tied to one conversation, so you know who bought what. In LanaChat a paid item can cost from 1 to 25,000 Stars. Telegram decides how much a Star is worth in real money, so check the current rate in Telegram before you build a price list. #### What do you need before you sell videos on Telegram? How to sell videos on Telegram is mostly a preparation question. Before the first offer goes out, you need four things. 1. **A bot linked to the creator's account.** Fans pay through it, and the Stars are credited to its balance. 2. **A library of media.** Photos, videos and voice notes, sorted in folders. 3. **A price on every item.** Free, teaser or paid, with a Stars amount on the paid ones. 4. **A description on every item.** What it shows, when to send it, the mood, the time of day. The fourth point is the one agencies skip. A chatter, human or AI, can only pick the right media if it knows what each one is. A folder of 400 unnamed files forces everyone to guess. #### How do you set it up in LanaChat? In LanaChat the library is the Vault. Each creator has her own, with nested folders such as "Selfies/Beach". You can read the details on [Vault and paid media](../features/vault-and-paid-media/) and in [the Vault guide](../../guides/vault/). Here is the short version: 1. Upload her photos, videos and voice notes. Files go up to 2 GB each, and a dropped upload can be resumed. 2. Open each item and choose Free, Teaser or Paid. Paid items are sent blurred and unlock with Stars. 3. Fill in the description, when to send it, the mood and the time of day. Describe with AI drafts the empty fields for you. It marks its text as an AI draft, so your team reviews it before trusting it. 4. Attach the right media to the steps of a script, or let the AI pick from the Vault. Each item keeps its own price. The AI never invents a discount: it only uses a reduced price written in your scripts, which you can cap with a discount ceiling for that creator. Beyond that, only a person on your team can change it. #### How do you decide what to lock? Not everything should be paid. A simple split works for most creators: - **Free:** a selfie or a short voice note. It starts and warms the conversation. - **Teaser:** a preview that shows enough to create interest. - **Paid:** the sets and videos that are the actual product. Keep the entry price low enough that almost any fan buys once. The second purchase is where the revenue is. We wrote about this in [how we price media so fans actually buy](how-we-price-media.html). One rule matters more than the price itself: do not sell the same item twice to the same fan. In LanaChat, media a fan already received is marked as sent or bought in the conversation, so nobody offers it again by mistake. #### What goes wrong when you sell content on Telegram? These are the mistakes we see most often in setups. - **Prices that move.** If the same video costs different amounts depending on who chats, fans notice and wait for the cheap version. - **No descriptions.** The wrong media goes out at the wrong moment, and the offer feels random. - **Offers with no context.** A locked media sent cold, with no conversation before it, rarely sells. Warm the chat first. - **No follow-up.** A fan who opened the preview and left is not a lost fan. He is a fan to message again. Our post on [follow-up scripts for silent fans](follow-up-scripts-silent-fans.html) covers this. - **Counting gross sales.** Telegram takes its share and refunds happen. Judge your numbers on net sales. #### Is selling on Telegram always the right choice? No. Be honest about the limits. Telegram is a good place for the paid conversation, but it is not a discovery platform. Fans usually arrive from somewhere else: ads, stories, a bio link. If you have no traffic source, a perfect Vault will sell nothing. Stars are also tied to Telegram's own payment rules. If your fans prefer to pay another way, payment links exist, but they follow a different flow. And locked media suits adult audiences only when the creator and the content fit your rules and Telegram's. Stay inside both. #### Where does LanaChat fit? LanaChat is the layer around the sale. The AI chats in the creator's voice and language, picks the right media from the Vault, and sends it at the price you set. Your team can take over any conversation at any moment, and every sale shows in your numbers. On billing, the commission is calculated on net sales, after Telegram's share and refunds. Sign-up is open: create your agency's account from Get started, and our team reviews every agency before activation. There is no free trial. New releases are announced first in [our Telegram channel](https://t.me/lanachatai). #### FAQ ##### How do I sell content on Telegram without an external payment page? Send the media as a paid, blurred item priced in Stars. The fan unlocks it inside the chat and pays with Stars, so no outside checkout is needed. ##### What is the price range for a paid media in LanaChat? From 1 to 25,000 Stars per item. You set the price on the item itself, or on the script step that sends it. ##### Can the AI change the price of a media? The AI never invents a discount. It only uses the reduced prices you wrote in your scripts, and you can cap them with a discount ceiling in the AI Brain (0 to 60%). Otherwise the AI sells at the price set in the Vault or in the script, and only a teammate can change it. ##### Which files can I upload to the Vault? Images, videos and audio files, up to 2 GB per file. Videos can be trimmed and split in the browser, and the original never changes. ##### Where do the Stars go after a fan pays? They are credited to the balance of the bot linked to the creator's account. Withdrawals and the Stars rate are set by Telegram. ### Telegram Business chatbot: how an AI answers for you URL: https://lanachat.ai/blog/telegram-business-chatbot-explained.html · 2026-10-19 A Telegram Business chatbot is a bot that Telegram lets you attach to a regular account, so the bot can read and answer that account's private chats. The account owner stays the owner. The bot only gets the permissions you tick, and you can remove it at any time. LanaChat uses exactly this mechanism to answer fans for creators. This article explains what the connection is, what you set up, what it can and cannot do, and why it is a safer way to automate than handing over a login. #### What is a Telegram Business chatbot, in plain words? Telegram has a feature in its Business settings called Chat Automation. It lets you pick a bot and let it handle chats on your behalf. Think of it as a secretary: it sits next to the account, reads the private conversations you allow, and replies in them. The key point is that the bot is a separate identity from the account. It has its own token, created through BotFather, Telegram's official bot for making bots. The account does not give the bot a password. It gives the bot a set of rights. In LanaChat this link between an account and its bot is called a **business connection**. #### Why not just log in to the account? Some tools automate an account by logging into it, with the phone number and a login code. That puts the whole account in someone else's hands. If the tool is breached, or the agency changes, the creator's account is exposed. A business chatbot works the other way around: - No password, no phone number and no login code are shared. - The bot has limited rights, listed in Telegram's own screen. - The creator can remove the bot from her account in one tap. - The messages are sent through the bot, so the personal login is never in play. For an agency this changes the conversation with a creator. You can show her exactly what the bot is allowed to do, in Telegram, on her phone. #### What do you need to set up? You need three things: a bot, its token, and access to the Telegram account to connect. Then the setup follows the assistant in **Studio > Telegram Accounts**. The full steps are in [the connect Telegram guide](../../guides/connect-telegram/). The short version: 1. **Create the bot.** In BotFather, send `/newbot`, give it a name and a username ending in "bot". 2. **Turn on Secretary Mode.** This is BotFather's name for Business Mode. Without it, the bot cannot be added to a Telegram account. 3. **Paste the token.** BotFather sends it to you. LanaChat checks it and never shows it again. 4. **Connect in Telegram.** On the account, open Settings, Telegram Business, Chat Automation, add the bot and keep all private chats except the ones you exclude. 5. **Set the permissions.** Manage Messages is required: without it, LanaChat cannot reply. Manage Profile, Manage Gifts and Stars and Manage Stories are optional. Inside the Gifts and Stars permission, leave the transfer options off unless you want LanaChat to move money. Most agencies never need that. The window then waits for Telegram and switches to "Connected as @username" on its own. #### What can the bot do once connected? With the required permission, the bot can read and answer the private chats you allowed. LanaChat's AI uses that to reply in the creator's voice and language, send paid media and follow up. You can read about that on the [AI Brain page](../features/ai-brain/). Some limits come from Telegram itself, not from LanaChat. One of them is worth knowing: Telegram reminds you that the bot can only reply in chats that were active during the last 24 hours. If a conversation has been silent for longer, the bot may not be able to write first. Live Convs warns you when a reply window is closing or closed. #### What can go wrong? Most problems show up as a status on the account row, with the reason written under it: - **Waiting for Telegram:** Telegram has not confirmed the connection yet. Check that the bot is added, then send the account a message from another Telegram account. The first message wakes the connection. - **Connection issue, reply permission is off:** go back to Chat Automation and turn on Manage Messages with Reply to Messages. - **Bot stopped, webhook not reachable:** press **Reconnect**. - **Paused:** someone paused the AI on that account. Use **Resume AI replies**. You can finish a half-done setup later. **Finish later** keeps the row as Waiting for Telegram, and **Finish connecting** in the row's menu brings the last step back. #### Can one bot serve several accounts? By default every account gets a bot of its own. A bot can also be shared by several accounts of the same creator, but then the Stars of those accounts land on the same bot balance. If you want earnings kept apart per account, keep one bot per account. If you run many accounts, read our piece on [managing multiple Telegram accounts](one-console-30-telegram-accounts.html), and see how the [Accounts feature](../features/telegram-accounts/) shows permissions on each row. #### When is a business chatbot not enough? Be realistic. A chatbot answers conversations, it does not make fans arrive. You still need traffic. It also works inside the limits Telegram sets, so you do not get features Telegram does not offer to bots on Business accounts. And automation is not a reason to stop reading conversations. A person on your team should be able to see what the bot said and take over when a fan needs a human. LanaChat keeps every conversation readable and lets your team take over in one click. Sign-up is open: create your agency's account from Get started, and our team reviews every agency before activation. There is no free trial. New releases are announced first in [our Telegram channel](https://t.me/lanachatai). #### FAQ ##### Do I need the creator's password to use a Telegram Business chatbot? No. The bot connects through Telegram's own business connection. LanaChat never asks for a phone number, a password or a login code. ##### What does Secretary Mode do? It is BotFather's new name for Business Mode. It must be turned on for the bot, otherwise Telegram will not let you add the bot to an account's Chat Automation. ##### Does removing the bot delete the account? No. Removing an account in LanaChat keeps the bot, the fans and the history. It does not delete the Telegram account, and removed accounts can be restored. ##### Can the bot see all of the account's chats? Only the chats you allow in Chat Automation. The default LanaChat setup keeps "All Private Chats Except", and you can exclude the ones you want the bot to stay out of. ### Telegram CRM for creator agencies: what to look for URL: https://lanachat.ai/blog/telegram-crm-for-creator-agencies.html · 2026-10-19 A Telegram CRM for a creator agency is the place where your team reads every fan conversation, sees what each fan spent, and knows who to write to next. A good one also controls who on your team can see what, and shows what the AI said. Use the checklist below on any tool you evaluate, ours included. #### What is a Telegram CRM, exactly? A normal CRM tracks leads and deals. A Telegram CRM for agencies tracks fans and conversations. The unit of work is a chat, and the money arrives inside it. That changes the requirements. Chatters work in shifts. Fans write in many languages. One creator may have several Telegram accounts. And the person reading the chat needs the fan's history at a glance, not in another tab. If a tool is a spreadsheet plus a shared inbox, you will outgrow it quickly. #### What should a fan profile show? Open one conversation and check what sits next to it. You want to answer "who is this and what does he want" in seconds. - **Total spent** and the date of the last purchase. - **Language.** - **Lists** he belongs to, such as VIPs or fans to win back. - **Notes and tags** from your team. - **What was learned in conversation**, such as first name, city, interests. - **Status**: is the AI active, paused, or stopped for a reason? In LanaChat, Live Convs shows the list of conversations on the left, the chat in the middle and the fan's details on the right. Notes and tags are saved as you type and only your team sees them. The [Live Convs](../features/live-convs/) page shows the layout. #### How should lists and segments work? Lists are how you stop treating every fan the same. Ask these questions. - Can you add fans by hand? - Can a list fill itself from a rule, for example total spent above an amount? - What happens when a fan stops matching: removed or kept? - Can you use a list as the audience of a mass message? In LanaChat, you can do all four. Fans added by hand are never removed by the rules, and deleting a list never deletes fans or conversations. The [fans guide](../../guides/fans/) has the details. #### Does it handle languages? Fans do not write in your team's language. Check that the tool translates the fan's messages into yours and sends your reply in his. A chatter who cannot read the message cannot sell. LanaChat has auto-translate in Live Convs: his message in your language, his original text under it, and your reply sent in his language. #### How do roles and access work? Agencies have owners, managers, chatters and sometimes outside partners. A CRM that gives everyone the same view is a risk. Check for: - **Roles you can edit**, not just a fixed list. - **One-off exceptions** for one person. - **Creator-level access**, so a chatter sees only the creators assigned to them. - **Branches or groups**, for a city, a shift or a brand. - **Fast removal** of a person who leaves. - **Pricing per seat.** Per-seat fees punish you for growing the team. LanaChat has roles with a permission table, custom roles, overrides per member, branches and a switch to disable a member at once. Each teammate signs in with their own access key. There is no per-seat fee: you pay per Telegram account and a commission on sales. See [Team and roles](../features/team-and-roles/). #### What about traffic share between chatters? If several chatters work on the same creator, fairness matters, and so do payouts. Ask whether the tool can split incoming conversations between people, and whether you can set each person's share. LanaChat has a traffic share setting for this. If you do not split traffic, the fastest chatter simply takes everything. #### Can you audit what the AI said? This is the question most buyers forget. If the tool has an AI, you must be able to: 1. Read every message it sent, labelled as AI, script or a named teammate. 2. Pause it for one fan and take over, then hand the chat back. 3. See why it stopped on a fan, if it did. 4. Test it before it goes live. 5. Set its limits and prices, and a discount ceiling if you want one to cap the reduced prices in your scripts. In LanaChat, each bubble shows who sent it. Take over manually pauses the AI for that fan. A status tag explains why the AI is off, for example for a fan who appears underage or one who asked to stop. The Playground lets you test without sending anything to Telegram. #### Does it connect to your other tools? A CRM that cannot talk to your stack becomes a silo. Ask for an API and ask what it covers. LanaChat has a REST API for creators, accounts, Vault, scripts, conversations, tracking and billing, plus an MCP server so an AI assistant can work in your workspace with the access you give it. Check any tool for export too, so your data is never locked in. #### What should you ask any vendor? - Do you ask for my creators' passwords or login codes? (You should not be asked.) - How is pricing built, and what is taken from net sales? - What happens when my balance runs out? - Who can see conversation content on your side? - Can I leave and keep my data? For LanaChat: no phone, password or login code is ever asked. You connect each account with its @username and the token of its bot. Pricing is $19 per account per month plus a commission on net sales. When the prepaid balance runs out, the AI pauses. #### When is a Telegram CRM not what you need? If you have one creator and one chatter, a good inbox and a shared note may be enough. If your fans live on another platform, a Telegram tool will not help. And if you do not want AI in the loop at all, pick a plain inbox without it. Sign-up is open: create your agency's account from Get started, and our team reviews every agency before activation. There is no free trial. New releases are announced first in [our Telegram channel](https://t.me/lanachatai). #### FAQ ##### What is a Telegram CRM for creator agencies? It is software where your team reads fan conversations, sees spend and notes next to each chat, manages lists and roles, and works across several Telegram accounts. ##### What should I check first in a chatting agency software? Check three things first: the fan profile next to each chat, role-based access, and a way to audit and control any AI that replies in your creators' names. ##### Is per-seat pricing normal? Many tools charge per seat. LanaChat does not: you pay per Telegram account and a commission on net sales, so adding teammates costs nothing extra. ##### Can I plug a CRM into my own tools? It depends on the tool. Ask for an API and for export. LanaChat offers a REST API and an MCP server. ### How to track which link brings Telegram sales URL: https://lanachat.ai/blog/telegram-link-tracking-revenue-per-source.html · 2026-10-19 Telegram link tracking means giving every ad, story and bio its own link, then following each fan from the first click to the last purchase. Do that and you can read revenue per traffic source instead of guessing. This guide shows the setup we recommend, step by step, and the limits you should know about. #### Why is Telegram link tracking hard? Telegram does not tell you where a fan came from. A fan taps a link, lands in a chat, and from there it looks like any other conversation. If ten sources point to the same account with the same link, you only see the total. That hides the thing you need most: which source pays. A story that brings many chats and no buyers looks the same as a bio link that brings a few chats and many buyers. You find out only when you stop paying for the wrong one. The fix is simple. One source, one link. #### What does a good tracking link setup look like? Name links so you can read them in a year. A pattern like creator plus source works well. - go.agency.com/lea-ig for Instagram - go.agency.com/lea-tt for TikTok - go.agency.com/lea-ads for paid Meta traffic In LanaChat each link has a name (for you), a slug (the end of the link, in lowercase letters, numbers and dashes), a traffic source, an optional campaign and a Telegram destination. The destination is either one account or the creator's pool, which spreads new conversations across her accounts. If you are not sure what that means, read [what a pool is](what-is-a-pool.html). UTM parameters are filled in from the source and campaign. Change them if your ads team has its own naming. Do not reuse a link across two sources. The moment you do, the numbers blend and you cannot split them again. #### Should you use your own domain? Yes, if you can. A subdomain you own, such as go.youragency.com, looks more trustworthy and stays under your control. The LanaChat domain is always available too, so it is not a blocker. The setup takes four steps. 1. Add a subdomain you own. A root domain such as youragency.com cannot be used. 2. Add the two DNS records shown: a CNAME to the LanaChat links host and a TXT record that proves the domain is yours. 3. Press Check DNS. Changes can take a few minutes, sometimes up to 24 hours. 4. Once it is verified, the SSL certificate is issued automatically. Only verified domains can be used for new links. A domain still used by active links cannot be removed, so move those links first. #### How are sales attributed? LanaChat uses first-touch attribution: a fan belongs to the first link he clicked. A sale counts when it is a verified Telegram Stars purchase. This has two consequences you should accept up front. - A fan who clicked your TikTok link first and later your bio link counts for TikTok, even if the bio link was the last click. - Conversations without an intact link token stay unattributed. If a fan finds the account some other way, that revenue is not tied to a link. First-touch is simple and hard to argue with. It is not the only model, and it will not match every ad platform's own reporting. Treat it as your source of truth for revenue, and compare it to ad dashboards with that in mind. #### What numbers should you read? The links table adds up the links of your filter: clicks, conversations, buyers and revenue, with what each fan spends over time. The Analytics tab lets you pick 7, 30 or 90 days and shows: - the daily trend of clicks, conversations and buyers; - the funnel: clicks, started conversation, first message, buyer, with the rate of each step; - clicks and revenue by source; - the top 10 links of the period, with conversion rate, buyers, revenue and spend per fan. You can export the day-by-day numbers as a CSV. Read them in this order. First revenue per source, to see what pays. Then the funnel, to see where it leaks. A link with many clicks and few conversations has a landing problem. A link with many conversations and few buyers has a conversation or pricing problem, which is a job for the AI Brain or your scripts. Use 30 days for decisions and 7 days to catch a problem early. A single day proves little. #### How do pixels fit in? You can connect a Meta, TikTok, Snap or Google Ads pixel to a link. A pixel can send confirmed purchases, the first Telegram message, or both. Only new events after setup are sent, and messages, media and usernames are never sent. The point is to let your ad platforms learn from real purchases, not just clicks. Check the pixel status: Connected, Needs setup, Delivery failing or Not connected. #### What happens when you archive a link? Archiving stops new clicks. The attribution and revenue already collected stay in your reports. Archive links from finished campaigns so nobody sends traffic to them by mistake. Do not delete your history just to tidy up. For the full feature, see [Tracking links](../features/tracking-links/). The [tracking guide](../../guides/tracking-links/) lists every field and tab. Sign-up is open: create your agency's account from Get started, and our team reviews every agency before activation. There is no free trial. New releases are announced first in [our Telegram channel](https://t.me/lanachatai). #### FAQ ##### How do I track which link brings Telegram sales? Create one link per source and point it to a Telegram account or a pool. LanaChat counts clicks, conversations, buyers and revenue for each link, and credits a sale to the first link the fan clicked. ##### Can I use my own domain for tracking links? Yes. Add a subdomain you own, such as go.youragency.com, set the two DNS records and press Check DNS. The SSL certificate is issued automatically once it is verified. ##### Which attribution model does LanaChat use? First touch, based on verified Telegram Stars purchases. A fan belongs to the first link he clicked, and conversations without an intact link token stay unattributed. ##### Does archiving a link delete its data? No. It stops new clicks, and the existing attribution and revenue stay in your reports. ### Telegram Stars explained for creator agencies URL: https://lanachat.ai/blog/telegram-stars-explained-for-agencies.html · 2026-10-19 Telegram Stars are the in-app currency fans use to pay for digital goods inside Telegram. A fan buys Stars in Telegram, spends them to unlock a paid media, and the Stars land on the balance of the creator's bot. For an agency, the number that matters is not the gross Stars but the net sales after Telegram's share and refunds. This post explains the flow from the seller's side, what Telegram controls, and how LanaChat counts the money. #### What are Telegram Stars? Stars are Telegram's own payment unit. Fans buy them inside the app, through the payment options Telegram offers. They then spend them on things sold by bots and channels, such as a locked photo or video. For a creator agency, this has one big benefit: the fan pays without leaving the conversation. There is no checkout page to open, no card form to fill, and no redirect where buyers drop off on the way. It also has a limit you should know. Stars follow Telegram's rules, not yours. Telegram decides how Stars are bought, how a Star converts to real money, and what happens when you withdraw. #### How does a Telegram Stars payment bot flow work? When people search for a Telegram Stars payment bot, they usually mean this flow. Here are the steps, from the fan's side and the seller's side. 1. The creator has an account, and a bot is linked to it. 2. The fan chats and sees a blurred media with a price in Stars. 3. The fan taps to unlock. If he has no Stars, Telegram offers to buy them. 4. Telegram takes the payment and unlocks the media in the chat. 5. The Stars are credited to the balance of the creator's bot. In LanaChat, this is how every paid media works. Items in the Vault are set to Free, Teaser or Paid, and paid items can cost from 1 to 25,000 Stars. The AI or your team sends the item at the price you set, and each sale shows up in your numbers. See [Vault and paid media](../features/vault-and-paid-media/) for how items are priced and described, and [how to sell locked media on Telegram](sell-locked-media-telegram-stars.html) for the full selling setup. #### What does Telegram control, and what do you control? It helps to draw a clear line. **Telegram controls:** - how fans buy Stars and what they pay for them - the value of a Star in real money - Telegram's share of each payment - how and when Stars can be withdrawn **You control:** - the price in Stars on each item - which media is offered, to whom, and when - who sends the offer: the AI or a teammate - your refund and discount decisions Because Telegram sets the conversion and the withdrawal rules, we do not quote a Stars to USD rate here. Any number we wrote would be out of date soon. Check the current rate inside Telegram before you build a price list, and check it again from time to time. #### Telegram Stars to USD: how should you think about it? People often search for "Telegram Stars to USD" to price their content. A practical approach: 1. Look at the current value of a Star in Telegram, and note that it can change. 2. Decide the dollar amount you want for each tier of your price ladder (entry, mid-range, premium). 3. Convert that into Stars, and round to prices that look natural. 4. Revisit the list when Telegram changes its rules or its rates. Keep the ladder simple. Three or four price points are easier to manage than twenty. For how to build one, read [how we price media so fans actually buy](how-we-price-media.html). #### How does LanaChat count net sales and commission? This is where agencies often get confused, so here it is plainly. LanaChat charges $19 per Telegram account per month (packs: 10 for $170, 25 for $375, 50 for $650), plus a commission on **net sales**. Net means after Telegram's share and after refunds. - **AI sales:** 12% up to $30,000 of workspace net sales in a month, 10% from $30,000 to $100,000, and 8% above. - **Manual sales** (sent by a teammate from Live Convs): 4%, 3% and 2% on the same tiers. The tier counter adds up the net sales of the whole workspace for the calendar month, and it resets on the 1st. Which rate applies depends on who sent the paid offer: the AI or a person. A refund confirmed within 7 days gives the commission back and lowers the counter. Every sale in the Activity tab shows its commission and the balance after it. The [billing guide](../../guides/billing/) has the full detail and a worked example. You prepay a balance in USDT or USDC. The minimum top-up is $25. When the balance reaches zero, the AI pauses until you top up, so keep a few days of commission on it. #### What should agencies watch out for? - **Gross is not net.** A dashboard that shows gross Stars will make you feel richer than you are. Judge your results on net sales. - **Telegram can change its rules.** Plan for it. Do not build a business that only works at one exact rate. - **Refunds happen.** Count them in your forecasts. - **Stars are not the only option.** Payment links exist as well, and they settle differently. For these, the amount actually settled is what counts as net. - **Adults only.** Keep content and audiences within Telegram's rules and your own. #### FAQ ##### Where do Telegram Stars go after a fan pays? They are credited to the balance of the bot linked to the creator's account. How and when you can withdraw them is set by Telegram. ##### Does LanaChat set the Telegram Stars rate? No. Telegram sets the value of a Star and its own share. LanaChat counts your commission on net sales after that share and after refunds. ##### Can a fan pay without Stars? Yes. Besides Telegram Stars, fans can pay through your own payment links. Net sales are then counted on the amount the link actually settled. ##### What is the maximum price for one paid media? 25,000 Stars per item, and the minimum is 1 Star. You set it on the item in the Vault or on the script step. ##### Is LanaChat open to everyone yet? Yes. Sign-up is open: create your agency's account from Get started, and our team reviews every agency before activation. There is no free trial. New releases are announced first in [our Telegram channel](https://t.me/lanachatai). ### Telegram vs Instagram DMs for creator agencies URL: https://lanachat.ai/blog/telegram-vs-instagram-dms-for-agencies.html · 2026-10-19 In the Telegram vs Instagram question, the honest answer is that they do different jobs. Instagram is where fans discover a creator. Telegram is where the paid conversation happens, because it supports bots, Stars payments and several accounts per creator. Most agencies need both, with a clear path from one to the other. This post compares the two for agency work, shows how to move fans to Telegram, and says when Telegram is not the right choice. #### What is each platform good at? **Instagram** is built for reach. Reels, stories and the explore feed put a creator in front of people who never heard of her. Its DMs are a good place for a first hello. They are not built for selling locked media. **Telegram** is built for conversations. A fan can chat for weeks, receive voice notes and media, and pay without leaving the thread. Each creator can run several accounts, and bots can handle the replies. The simplest way to see it: Instagram fills the top of the funnel, and Telegram holds the part that earns money. #### Telegram vs Instagram: how do they compare for an agency? Here are the points that matter in daily operations. - **Payments.** On Telegram, a fan unlocks a paid media with Telegram Stars inside the chat. Instagram has no equivalent for selling locked media in a DM, so sales usually mean sending the fan elsewhere. - **Automation.** Telegram is made for bots. Instagram has its own rules on automated messages, and they change. Read them before you build any workflow on top of Instagram DMs, and do not assume what worked last year still works. - **Several accounts.** On Telegram, a creator can have a pool of accounts, and new conversations are spread across them. This protects you from depending on a single account. - **Team work.** You need one place where your team reads conversations, takes over, and sees what each fan spent. That is easier when the sales conversation lives in one channel. - **Discovery.** Instagram wins by a wide margin. Telegram has weak discovery for new fans, so you must bring traffic to it. #### How do you move fans to Telegram? If you want to move fans to Telegram, treat it as a funnel with one rule: every source gets its own link. 1. **Put a link in the bio, the stories and the ads.** Do not send one generic link everywhere. 2. **Name each link by source.** For example, one for Instagram bio, one for stories, one for a paid campaign. 3. **Point the link at a pool or an account.** If the creator has several accounts, a link to the pool spreads new conversations across them. 4. **Give a reason to click.** "Chat with me here" works better than a bare link. Say what the fan will get. 5. **Read the results by source.** After a few weeks, you see which source brings conversations, buyers and revenue. LanaChat's [tracking links](../features/tracking-links/) do steps 2, 3 and 5. You create a link per source, choose the domain and the destination, and follow clicks, conversations, buyers and revenue for 7, 30 or 90 days. A sale is attributed to the first link the fan clicked, based on verified Telegram Stars purchases. You can use your own subdomain too, and connect Meta, TikTok, Snap or Google Ads pixels to a link. Without this tracking, you will keep buying traffic from sources that bring chatters but no buyers. For a deeper look at why the paid conversation fits Telegram, read [why Telegram beats OnlyFans DMs for agencies](why-telegram-beats-onlyfans-dms.html). #### What about Instagram DM automation for creators? Agencies often ask about Instagram DM automation for creators, hoping to answer fans there with a bot. Our view: - Use Instagram DMs lightly. A quick reply to a story reaction is fine. - Keep the real selling off Instagram. Platform rules on automation can change, and an account that depends on them is fragile. - Check Instagram's current rules yourself before automating anything. We do not quote them here, because they move. The cleaner pattern is to let Instagram do what it does best, and invite the fan to a conversation where the tools are made for it. #### What does the Telegram side look like in LanaChat? You connect each account with its @username and the token of its bot. No phone number, no password, no login code. Accounts are grouped in pools, and you can post stories, pause any account, and see each one's permissions. See [Telegram accounts](../features/telegram-accounts/) for the details. On top of that, the AI answers fans in the creator's voice and language, sells media at the price you set, and follows up with fans who go quiet. Your team reads every conversation and can take over at any moment. #### When is Telegram not the right choice? Be realistic. Telegram is not the answer when: - **You have no traffic.** Telegram will not find fans for you. If you have no Instagram, TikTok or ad source, start there. - **Your audience does not use Telegram.** Some audiences are in other apps. Ask where your fans already are before you move them. - **You need one platform for everything.** Splitting discovery and sales across two apps adds work. If your volume is small, a single channel may be enough. - **The move itself loses fans.** Some fans will not install a new app. Expect drop-off between the click and the first message, and track it. Also keep in mind that LanaChat is for adult audiences only, and the persona limits you write apply to every reply. #### Where to go next Sign-up is open: create your agency's account from Get started, and our team reviews every agency before activation. There is no free trial. New releases are announced first in [our Telegram channel](https://t.me/lanachatai). #### FAQ ##### Is Telegram better than Instagram for creator agencies? Not better, different. Instagram is stronger for discovery, and Telegram is stronger for the paid conversation, with bots, Stars and several accounts per creator. ##### How do I move Instagram followers to Telegram? Put a tracking link in your bio, stories and ads, one per source, and point it to the creator's account or pool. Then check which source brings buyers. ##### Can I automate Instagram DMs for a creator? Instagram has its own rules on automated messages, and they change. Check them before you build anything, and keep the paid conversation on a platform made for it. ##### How does LanaChat know which link a sale came from? It attributes the sale to the first link the fan clicked, using verified Telegram Stars purchases. ### Why fans message at 3 AM and what it costs you URL: https://lanachat.ai/blog/why-fans-message-at-3am.html · 2026-10-19 Fans message at 3 AM because they live in different time zones and often write when they are alone and free. If nobody answers for hours, the conversation cools and the fan moves on. A Telegram auto reply, written in the creator's voice, answers in seconds and keeps the conversation warm until your team is back. This post explains why night messages matter, what a slow reply costs, and how to cover the night without hiring a night shift for every creator. #### Why do fans write at night? There are three simple reasons. - **Time zones.** An agency in one country often serves fans in several. When it is 3 AM for your team, it is evening for someone else. - **Habits.** Many fans chat late, after work, when they are in bed and want company. - **Impulse.** A fan sees a story, clicks a link, and writes right now. The interest is real, and short. None of this is unusual. If you run traffic to Telegram, new conversations start whenever someone clicks, not when your chatters are online. #### What does a slow first reply cost? We will not invent a statistic here. The mechanism is easy to see in any inbox. A fan who writes and gets no answer does three things. He waits a little. He opens another app. Then he forgets, or decides the creator is not interested. By the time your team replies in the morning, the moment has passed. The cost shows up in several places: - **Lost first sales.** The fan never became a buyer, so you never see him in your numbers. - **Wasted traffic.** You paid for the click, in ads or in time, and the conversation died. - **Weaker follow-ups.** A fan who felt ignored is harder to bring back. - **Uneven results.** Sources that send night traffic look worse than they are. The first reply matters most, because it sets the tone. A quick, warm answer says someone is there. #### Can a human team cover the night? It can, but it is expensive and hard to staff well. Shifts are the usual answer, and they bring their own problems. - You need chatters awake at hours that are hard to fill. - Quality drops at the end of a long night shift. - Each creator needs her voice respected, whoever is on duty. - The more accounts you run, the more shifts you must cover. For a small roster, a night shift may be the right choice. If you have two creators and fans mostly in your own time zone, you may not need anything else. Be honest about your volume before you add software. #### How does a Telegram auto reply work? A good Telegram auto reply is not a canned message that says "I'll be back soon". It is a real answer, in the fan's language, that follows the creator's style. With LanaChat, the AI answers every fan within seconds, through the bot linked to the creator's account. The replies follow the creator's persona (who she is, how she talks, what she never says, what she remembers) and her AI Brain (how she chats and sells). Each fan is answered in his own language, one reply per message, never a wall of text. See [AI Brain](../features/ai-brain/) for the full picture. It can do more than reply: - send the right media from the Vault at the price you set - follow up when a fan goes quiet after a preview or an unopened media - answer objections such as "too expensive", following the rules you wrote It never invents a discount: it only uses the reduced prices written in your scripts, which you can cap with a discount ceiling. Beyond that, only a person on your team can change a price. This is what people mean by 24/7 chatting: the AI covers the hours, and your team handles the rest. #### What does the team do in the morning? The morning is when humans add the most value. A simple routine: 1. **Open Live Convs.** Filter by creator, account or list, and read what happened overnight. 2. **Check the high-value fans.** The fan profile, lists and spend sit next to each chat, so you see who matters. 3. **Take over where it counts.** Press Take over manually and the AI pauses for that fan. Write the reply yourself, or run a script. Hand the conversation back when you are done. 4. **Fix what you see.** If the AI said something off, adjust the persona or the AI Brain. Test the change in the Playground before it goes live. [Live Convs](../features/live-convs/) shows every conversation as it happens, with built-in translation, so a teammate can read and answer in a language they do not speak. Manual sales are billed at a lower commission than AI sales, so stepping in is not penalized. #### How do you handle fans who go quiet? Night conversations often stop mid-way. The fan fell asleep, or the offer arrived at the wrong time. That is normal, and it is where follow-ups matter. We cover the method in [follow-up scripts for silent fans](follow-up-scripts-silent-fans.html). #### What should you check before you automate? Not every conversation should be left to an AI. Check these first: - **Limits.** Write down what the creator never does, and put it in her persona. - **Tone.** Run test chats in the Playground and read the replies as a fan would. - **Hand-off.** Make sure your team knows when to take over, and has a quick way to do it. - **Audience.** LanaChat is for adult audiences only. Keep your content and replies within the rules of Telegram and your own. We do not claim fans cannot tell they are talking to an AI. The point is that every reply is in the creator's style, your team can read all of them, and a person can step in at any time. #### Where to find out more Sign-up is open: create your agency's account from Get started, and our team reviews every agency before activation. There is no free trial. New releases are announced first in [our Telegram channel](https://t.me/lanachatai). #### FAQ ##### What is a Telegram auto reply? It is an automatic answer to a fan's message on Telegram. In LanaChat it is a full reply in the creator's voice and language, not a fixed "away" message. ##### Can the AI chat 24/7 without a team? It can reply at any hour, but your team should still read the conversations and take over when needed. The AI pauses for a fan the moment a teammate takes over. ##### Will the AI send media while I sleep? Yes, from the creator's Vault, at the price you set on the item or the script step. It never invents a discount: it only uses the reduced prices written in your scripts, which you can cap with a discount ceiling in the AI Brain. ##### What happens if my balance runs out? The AI pauses until you top up. Keep a few days of commission on your balance so the night is always covered. ### Why we are all-in on Telegram URL: https://lanachat.ai/blog/why-we-are-all-in-on-telegram.html · 2026-10-19 Every few weeks someone asks us the same question: when is Lana coming to Instagram, to WhatsApp, to the DMs of the next big app? The honest answer is that she is not. Lana is built for Telegram, and we intend to keep it that way. This post explains the reasoning, because it shapes everything about the product you see. #### You cannot be the best everywhere A chatting AI that works on five platforms has to be average on five platforms. Each one has its own message formats, its own payment rails, its own limits on how fast an account can talk to new people, its own way of handling media. Supporting all of them means every feature ships in its most generic form, and every edge case is somebody else's problem. We built Lana with agencies and their chatters, and agency owners told us what it costs when a tool is "almost right" for the platform they actually use: on a real shift, a chatter working around it again and again, a sale lost because a media did not send the way it should, an account restricted because the tool did not respect a limit it did not know about. So we made a choice. Lana would be the best chatting AI on one platform, not a decent one on many. We picked the platform where we believe the next years of creator business happen. #### Why that platform is Telegram Telegram is where fans already talk. It is fast, it works on every phone, it has no feed to fight for attention, and a conversation there feels private in a way a comment thread never will. It is also the only major messenger where a creator can sell inside the chat. With [Telegram Stars](telegram-stars-explained-for-agencies.html), a fan pays in two taps without leaving the conversation, and the locked media unlocks right there. No external checkout, no link to a page that may or may not load, no payment processor deciding what you are allowed to sell. And Telegram has a real bot platform. That matters more than it sounds. Lana talks through the bot linked to each creator's account, which means we never need a password, a login code or a phone. The creator keeps her account; Lana gets exactly the access she needs and nothing more. Put those three together and you have a platform where a fan can discover a creator, chat with her, buy from her and come back, all in one place, all day long. That is the whole business of a creator agency, in one app. #### What going all-in changes in the product Being Telegram-only is not a limitation we live with. It is the reason Lana can do things a multi-platform tool cannot. - Rate limits are handled, not documented. Lana knows how many new conversations an account can take, spreads traffic across the accounts in a [pool](what-is-a-pool.html) and slows down before Telegram does. - Paid media are native. A photo or a video in the Vault carries its price in Stars, is sent blurred, and unlocks on payment. Lana never has to say "click this link to see it". - Tracking links follow a fan from the first click to the last Star spent, because the whole path is on one platform. Revenue per source is a number, not a guess. - Every screen in the console assumes Telegram: the account list, the bot tokens, the Stars balance, the shape of a conversation. Nothing is hidden behind a "platform" dropdown. Each of these took us months to get right on Telegram alone. We would not have got any of them right while also chasing four other platforms. #### Telegram is big enough The usual objection is reach: by picking one platform, do we leave fans behind? We do not think so. In most of the markets the agencies we work with sell in, Telegram is the messenger people open first, and what agency owners report says the same thing. Fans who move from a social feed to a Telegram conversation buy more, buy again, and stay longer than fans who stay in the DMs of the platform they found the creator on. We wrote more about that in [why Telegram beats OnlyFans DMs](why-telegram-beats-onlyfans-dms.html). The right question for an agency is not "which platforms can my chatting tool cover" but "where do my fans convert best, and is my tool the best there". For us the answer to both is Telegram. #### Where this goes next Telegram keeps shipping: new bot features, new payment options, new ways to reach fans from a channel or a story. Because Lana only has one platform to follow, every one of those updates gets evaluated the week it lands, and goes into the product if it helps agencies sell. A tool spread across five platforms is always a year behind on each of them. We would rather be first on one. So no, Lana is not coming to Instagram. She is going to keep getting better on Telegram, which is where we think your fans are going anyway. If you run creators there and you want to see what that looks like in practice, sign-up is open: create an agency account from [Get started](../../signup/), and our team reviews every agency before activation (there is no free trial). Every release is announced first on [our Telegram channel](https://t.me/lanachatai). #### FAQ ##### Will Lana ever support Instagram or WhatsApp? No. Lana is built for Telegram only, on purpose. Supporting other platforms would mean shipping every feature in its most generic form, and we would rather be the best on one platform than average on several. ##### Can I still send traffic from other platforms? Yes. Your ads, stories and bios on any platform point to a tracking link, and the link brings the fan into a Telegram conversation with Lana. Every source gets its own link, so you see which one brings fans who actually buy. ##### Does Telegram-only mean fewer fans? In what we see across the agencies we work with, it means more sales, not fewer fans. A fan who moves into a Telegram conversation buys more and stays longer than one who stays in a social feed, and the agency keeps the relationship instead of the platform. ### Why Telegram beats OnlyFans DMs for creator agencies URL: https://lanachat.ai/blog/why-telegram-beats-onlyfans-dms.html · 2026-09-29 Most agencies start where the fans already are: the inbox of the platform the creator sells on. It works while you manage one or two creators. Then the roster grows, chatters work in shifts, and the inbox becomes the bottleneck of the whole business. Telegram is not a replacement for the platform where fans discover a creator. It is a better place to keep the conversation going once a fan wants more. Here is what changes when an agency makes that move. #### You own the relationship, not a feed On a platform inbox, the conversation lives inside someone else's product. Rules change, features disappear, and a fan who stops logging in is gone. On Telegram, a fan who starts a chat with your creator keeps that chat in the app they open every day, next to their friends and family. That is a very different level of attention. It also means your history follows the fan. Their preferences, what they bought, what they asked for last week: it all sits in one thread that your team and your tools can read. #### Payments without leaving the chat Telegram Stars let a fan pay for a photo or a video without ever leaving the conversation. No card form, no redirect, no "I will do it later". The fewer steps between interest and purchase, the more of that interest turns into a sale. For an agency, it also means one consistent way to price and deliver media across every creator, instead of a different checkout for each platform. #### Built for teams and automation A platform inbox assumes one person is typing. Telegram was designed for bots, groups and many devices from day one. That is what makes it possible to: - spread new conversations across several accounts of the same creator - let an AI reply instantly at 3 a.m. while your team sleeps - hand a conversation to a human chatter the moment it needs a personal touch - review every message after the fact, with the price and the media that went out #### What to watch out for Moving fans to Telegram is not automatic. A fan needs a reason to start the chat, so the link you share has to promise something specific. And once they arrive, the first replies matter: a slow or generic answer loses them quickly. That is where a tool like LanaChat helps. It answers every new conversation in your creator's voice within seconds, sends the right media at the price you set, and follows up with the fans who go quiet. Your team keeps control of the strategy, the prices and the tone. #### The short version Keep the platform for discovery. Use Telegram for the relationship. Agencies that do both get a channel they control, payments that happen in the chat, and a setup that scales with the number of creators instead of the number of chatters. ### How we price media so fans actually buy URL: https://lanachat.ai/blog/how-we-price-media.html · 2026-09-22 Pricing media in a chat is not like pricing a product on a shelf. The fan has been talking with the creator, the mood matters, and every price says something about the relationship. Get it wrong and you either leave money on the table or you end the conversation. Here is the approach we recommend to agencies setting up their first price list. #### Start with a ladder, not a single price Fans do not all spend the same way, so one price for everything rarely works. Build a short ladder instead: - an entry piece that almost anyone will buy, to turn a chatter into a buyer - a few mid-range sets that make up most of your sales - a small number of premium pieces for the fans who ask for more The entry piece is not about revenue. It is about the second purchase. A fan who has paid once is far more likely to pay again. #### Fix the price, choose the moment The same video lands better at the end of a warm conversation than as a cold offer. The price should not change with the mood, though: fans talk, and a price that moves feels unfair. What changes is when the offer is made. That is why LanaChat works with a fixed price per media that you set. The AI picks the right moment and the right piece, and it never invents a discount: it only uses the reduced prices written in your scripts, which you can cap with a discount ceiling. #### Never sell the same thing twice to the same fan Nothing breaks trust faster than a fan paying for a set they already own. Keep track of what each fan has received, and make sure the next offer is new to them. In LanaChat, every media a fan already received is marked as sent or bought in the conversation, so nobody offers it twice by mistake. #### Discounts are a tool, not a habit A discount can bring back a fan who went quiet, or close a sale that is hesitating. Used every day, it teaches fans to wait. Decide discounts as a team, not message by message, and keep them for specific moments: 1. a fan who has not bought in a while 2. a bundle that groups several pieces together 3. a first purchase that needs a small push #### Watch what sells, then adjust Prices are a starting point. After a couple of weeks, look at which pieces sell, which ones get opened and ignored, and where conversations stop. Move a slow piece down the ladder, move a popular one up, and test again. #### In short A clear ladder, fixed prices offered at the right moment, no duplicates, and discounts used with intent. That is usually enough to turn more conversations into sales without making fans feel pushed. ### 5 follow-up scripts that reopen silent fans URL: https://lanachat.ai/blog/follow-up-scripts-silent-fans.html · 2026-09-15 A fan who stops replying is rarely a lost fan. They had to go back to work, their phone died, they got distracted. The difference between a conversation that ends and one that picks up again is usually one well-timed message. The goal of a follow-up is not to sell. It is to make replying easy. Here are five scripts we see work well, written in a neutral voice so you can adapt them to each creator. #### 1. The simple check-in > "Hey, you disappeared on me earlier 😊 everything ok?" Short, warm, no pressure. It works because it sounds like a person, not a campaign. Send it a few hours after the last message, not a few minutes. #### 2. The callback > "I was thinking about what you said about [their topic]. Did you end up doing it?" Bringing back something the fan shared shows that the creator listened. It is the most personal follow-up, and the one that most often restarts a real conversation. #### 3. The small exclusive > "I took something today that I have not shown anyone yet. Want to see it first?" This one opens the door to a sale without naming a price. If the fan says yes, the next message can be the offer. #### 4. The question that needs an answer > "Quick question, I need your opinion: red or black tonight?" People find it hard to ignore a direct question, especially a light one. It gives the fan an easy reason to reply in one word. #### 5. The soft goodbye > "I will stop bothering you 😅 but I am here if you want to talk later." Used last, after the others got no answer. It is respectful, and it often brings a reply precisely because it takes the pressure away. #### Timing matters as much as wording Space your follow-ups out. A good rhythm is one the same day, one the next day, and one a few days later. More than that starts to feel like spam, and fans who feel chased tend to block. Also avoid sending the exact same message to everyone. Fans compare notes more than you think, and a script that is obviously copied ruins the illusion of a personal chat. #### Let the AI handle the rhythm With LanaChat, the AI follows up with fans who go quiet, in the creator's voice and with the scripts your team wrote, adapting the wording to each conversation. When a fan replies, it picks up where they left off. Your team only steps in when it is worth it. ### What a "pool" is and why your links need one URL: https://lanachat.ai/blog/what-is-a-pool.html · 2026-09-08 When an agency starts sending traffic to Telegram, the first setup is usually simple: one creator, one account, one link. It works until the day that account gets too many new conversations at once, or gets limited, and every fan clicking the link lands nowhere. A pool solves that. #### The idea in one sentence A pool is the group of Telegram accounts of one creator, behind one public link. When a fan clicks, LanaChat sends them to one of the accounts in the pool, spreading new conversations across them automatically. #### Why spread fans across accounts Telegram watches how many new people an account talks to. An account that suddenly receives a wave of new conversations can be slowed down or restricted. Spreading new conversations across several accounts keeps each one in a normal range. It also protects your traffic. With several accounts behind the link, one account with a problem does not stop the flow, and your ads and posts do not need to change. #### Tag accounts by market and traffic Pools get more useful when every account carries tags for the market it serves and the kind of traffic it receives. A common setup looks like this: - accounts tagged per market, so each fan lands on an account that speaks their language - accounts tagged per traffic type, such as paid campaigns, influencers or organic posts - one tracking link per source, so every click is identified from the start Because every conversation is tied to the link it came from, you can see which source brings fans who actually buy, not only fans who click. #### What a good pool looks like A few habits make pools work well: 1. keep several accounts in each pool, so one problem never stops the flow 2. add new accounts progressively instead of all at once 3. watch how many new conversations each account receives and add accounts before it is needed 4. tag every account clearly, so anyone on the team understands the setup at a glance #### How LanaChat handles it In LanaChat, each account you add joins its creator's pool, and a tracking link can point either at one precise account or at the whole pool. The pool spreads new conversations across the accounts, and the link follows each one from the first click to the last sale. The AI then takes care of every conversation, whatever account it lands on. The result is a link you can put anywhere without worrying about what happens behind it. ## Guides # LanaChat Guides > 80 guides to LanaChat, the AI that chats with fans on Telegram and sells creators' content. Source: https://lanachat.ai/guides/ --- ## Go-live checklist _Getting started · 4 min read · Updated 2026-10-23 · https://lanachat.ai/guides/go-live-checklist/_ Before Lana answers real fans for a creator, ten things must be in place: her five basics (identity, a connected Telegram account, an AI Brain, media in her Vault, a filled persona), a licence on each Telegram account, money on your balance, one test in the Playground, an Active brain and the AI switch on for each account. Go through this list once per creator, then switch her AI on. ### 1. Check her five basics Open **Creators** and pick her in the creator menu at the top of the sidebar. The line under her name shows her **N% profile**, her Telegram accounts and her AI Brain. 1. **Identity**: on the **Identity** page of her persona, add her **Profile photo**, **First name** and **Date of birth**. Fans see her name and photo, and her age comes from the birth date. 2. **Telegram**: at least one account must read **Connected** in **Telegram Accounts**. She replies to fans from these accounts. Under her name, the line says "N Telegram accounts active", not "No active Telegram account". See [Connect Telegram accounts](https://lanachat.ai/guides/connect-telegram/). 3. **AI Brain**: under her name, the line says "AI Brain:" with the brain's name, not "No AI Brain yet". The brain decides how she sells: scripts, prices and follow-ups. See [Create and link a brain](https://lanachat.ai/guides/create-and-link-a-brain/). 4. **Media**: her **Vault** holds at least one photo, video or voice message. She can only sell what is in her Vault. See [Vault](https://lanachat.ai/guides/vault/). 5. **Persona**: the bar shows "Persona N% complete". Fill what you know: a fuller persona makes her replies sound human. ### 2. Give each account a licence Every Telegram account Lana chats from needs a licence ($19 per account per month, or less in packs of 10, 25 or 50). Open **Billing**, tab **Licences**, and use **Assign** on each account in the **Telegram accounts** table. An account without a licence, or with an **Expired** one, gets no replies from Lana. See [Buy licences](https://lanachat.ai/guides/buy-licences/) and [Assign, move or take back a licence](https://lanachat.ai/guides/assign-and-move-licences/). ### 3. Check your balance Your balance pays for licences and for LanaChat's share of each sale as it happens. At $0, Lana pauses on every account of the workspace. Check the balance at the bottom of the sidebar and [top up](https://lanachat.ai/guides/top-up-your-balance/) if it is low. > Warning: Licences on auto-renew are paid from your balance when your stock is empty. Keep enough for the renewals coming up, not only for today. ### 4. Test her in the Playground Open **Playground** (Chatting group, under Tools) with her selected, and write as a fan would. Check that she sounds like herself, that her first offer arrives at the right price in Stars, and press **Simulate purchase** to see what she does after a payment. Nothing you type there reaches Telegram. See [Playground](https://lanachat.ai/guides/playground/). ### 5. Make sure the brain is Active In **AI Brain**, the switch next to the brain picker says **Active** or **Paused**. A paused brain doesn't reply to fans. Turn it to **Active**. ### 6. Switch the AI on for her accounts Open **Telegram Accounts**. Each row starts with the **AI** switch: on, Lana replies from that account; off, the row reads **Paused**. Turn it on for every account she should answer from, or use **Resume AI replies** in the row's **Actions** menu. The status should read **Connected**, not **Waiting for Telegram** or **Connection issue**. > Tip: For her first days, keep **Live Convs** open. You can read every conversation and press **Take over manually** on any of them: the AI pauses for that fan until you hand it back. ### If she still does not reply Go through [Troubleshooting: Lana does not reply](https://lanachat.ai/guides/lana-does-not-reply/). It lists every reason, where to look and what to do. --- ## Your first sale: checklist _Getting started · 4 min read · Updated 2026-10-23 · https://lanachat.ai/guides/your-first-sale/_ A first sale needs three things: paid content in the creator's Vault, a first-purchase script that offers it, and a price in Telegram Stars. This checklist walks through them in order, then shows where the sale appears once a fan pays. ### Before you start The creator is live: Telegram account connected, licence assigned, AI Brain linked and **Active**, balance above $0. If not, go through the [Go-live checklist](https://lanachat.ai/guides/go-live-checklist/) first. ### 1. Put paid content in her Vault 1. Open **Vault** (Chatting group, under Tools) with the creator selected. 2. Press **Add media** and upload at least two items: one to tease, one to sell. 3. Open each item and set its **Pricing**: - **Teaser** for the free media that makes him curious; - **Paid** for the media you sell. Paid items are sent blurred and unlock with Stars, from 1 to 25,000. > Tip: Choose an entry-price media for the first sale, easy to say yes to. Keep your premium media for fans who already bought. See [Vault](https://lanachat.ai/guides/vault/). ### 2. Write a first-purchase script 1. Open **Scripts** (Studio group) and press **New script**. 2. Write the steps: an **Opener** with no price, a **Taste** with the Teaser item (**+ Add from Vault**), a **First offer** with the paid item, and a **Nudge** that brings the offer back. 3. On the paid step, set **Unlock price** to **Vault price** so the price from the Vault applies, or choose **Paid** to set one price in Stars for the step. 4. Back in the list, check that the **Active** switch is on and press the star in the **First** column: the starred script is the **first script**, the one a new fan receives first. The full walk-through is in [Build a first-purchase script, step by step](https://lanachat.ai/guides/first-purchase-script/). ### 3. Let the AI Brain start it Scripts are written in Scripts and attached in the AI Brain. Open **AI Brain**, tab **Scripts**, then **Schedule & selection**: turn on **Enable this script** and choose **Available to start** (Anytime, Daytime, Night or a custom schedule, in the creator's time zone). ### 4. Test the sale in the Playground 1. Open **Playground** with the creator selected. 2. Write as a new fan. Check that the opener arrives first, that the Teaser comes free, and that the offer shows its price in Stars with **Test offer**. 3. Press **Simulate purchase** to see what she does after a payment, and **Simulate decline** to see how she handles a no. No Stars are spent and nothing reaches Telegram. ### 5. Watch for the real one - **Live Convs**: a paid offer shows as a card with the price, **Paid** or **Unpaid**. The **Sales** bell at the top right lists the latest sales; click one to open the fan. - **Dashboard**, **Sales logs** table: every sale with its date, source (**Telegram** for Stars), creator, content, fan, **Net earnings** and status. See [Sales log](https://lanachat.ai/guides/sales-log/). - **Agency settings**, **Telegram balance**: the Stars on each creator's bot. Telegram holds Stars for 21 days before they can be withdrawn. ### What it costs you LanaChat takes a share of the net sale from your balance when the fan pays. An offer sent by a script step (even a script Lana started), or by your team from Live Convs, counts at 4%, 3% or 2%. An offer Lana wrote and sent herself, outside any script, counts at 12%, 10% or 8%. See [AI sale or manual sale?](https://lanachat.ai/guides/ai-sale-or-manual-sale/). > Note: Payment links (FanGate, Dropp Fans and others) are another way to get paid. Add them in **Agency settings**, **Payments**. See [How fans pay](https://lanachat.ai/guides/fan-payments-stars-and-links/). --- ## Your first 7 days _Getting started · 4 min read · Updated 2026-10-23 · https://lanachat.ai/guides/your-first-7-days/_ Not sure where to start? This plan takes one creator from an empty workspace to her first sales in a week, and points to the guide for each step. ### Day 1: connect Today you build the creator and plug her into Telegram. Plan about an hour. 1. **Sign in.** As the agency owner with your email and password, or as a team member with your access key: [Sign in and your first day](https://lanachat.ai/guides/sign-in-first-day/). 2. **Add your creator.** Her name, photo and birth date, in Creators: [Add a creator](https://lanachat.ai/guides/add-a-creator/). 3. **Connect her Telegram accounts.** LanaChat answers fans through a bot linked to each account with Telegram Business: [Connect Telegram accounts](https://lanachat.ai/guides/connect-telegram/). 4. **Give her an AI Brain.** She needs one before she can go live, new or reused: [Create and link a brain](https://lanachat.ai/guides/create-and-link-a-brain/). 5. **Fill her Vault.** Photos, videos and voice messages. She can only sell what is in her Vault: [Vault](https://lanachat.ai/guides/vault/). ### Day 2: Lana speaks Today you teach Lana how your creator talks and sells, then test everything before a fan sees it. 1. **Finish her settings and persona.** Prices, reply language, and the persona pages (the bar shows "Persona N% complete"): [Creator settings](https://lanachat.ai/guides/creator-settings/). 2. **Write her first-purchase script.** A warm opener, a free taste, then a first paid media at an entry price, in about fifteen minutes: [Build a first-purchase script](https://lanachat.ai/guides/first-purchase-script/). 3. **Chat with her in the Playground.** The AI answers for real, but nothing goes to Telegram: [Playground](https://lanachat.ai/guides/playground/). 4. **Get your licences.** Every Telegram account Lana chats from needs a licence for 30 days: [Buy licences](https://lanachat.ai/guides/buy-licences/). 5. **Top up your balance.** Licences and LanaChat's share of your sales are paid from a prepaid balance in crypto, $25 minimum per top-up: [Top up your balance](https://lanachat.ai/guides/top-up-your-balance/). When everything is in place, open **Telegram Accounts** and turn on the **AI** switch of her accounts: see the [Go-live checklist](https://lanachat.ai/guides/go-live-checklist/). > Tip: Keep at least a week of LanaChat's share of sales on your balance. At $0, Lana pauses on every account until you top up: see [When your balance runs low or hits $0](https://lanachat.ai/guides/low-or-empty-balance/). ### Days 3 to 7: sell Lana is live. Now you watch, step in when it matters, and bring in more fans. 1. **Follow the conversations.** Read every chat as it happens and take over manually when you want to write yourself: [Live Convs](https://lanachat.ai/guides/live-convs/). 2. **Reach many fans at once.** Send a message or a short sequence to many fans of one creator, now or on a schedule: [Message+](https://lanachat.ai/guides/message-plus/). 3. **Track where fans come from.** One link per source, from the click to the sale: [Tracking links](https://lanachat.ai/guides/tracking-links/). 4. **Read your numbers.** Revenue, conversations and sales for the period and creators you pick: [Reading your numbers](https://lanachat.ai/guides/reading-your-numbers/). ### At the end of the week - Open the Dashboard and compare the days. A creator with nothing new to sell sells less, so add fresh media to her Vault. - Look at which tracking links bring buyers, not only clicks, and put your traffic there. - Ready for a second creator? Repeat Day 1 and Day 2 for her. You can link a brain you already set up instead of starting from scratch. Lost on a screen along the way? Replay the tour from the account menu ([Take the Console tour again](https://lanachat.ai/guides/console-tour/)) or ask in the help bubble ([Get help](https://lanachat.ai/guides/get-help/)). --- ## What LanaChat does (and doesn't) _Getting started · 2 min read · Updated 2026-10-23 · https://lanachat.ai/guides/what-lanachat-does/_ LanaChat is the console your agency uses to run creators on Telegram. An AI replies to fans in each creator's voice, follows your scripts and sells media from her Vault. You set it up, watch it and step in when you want to. ### What it does - **Replies to fans on Telegram** from the creator's real accounts, through one central bot per creator. - **Talks like her.** The persona you write in [Creators](https://lanachat.ai/guides/creator-settings/) (voice, life, boundaries, example replies) shapes every message. - **Sells content.** Paid media go out blurred and unlock with Telegram Stars. Prices come from the Vault or from a script step. - **Follows your rules.** An [AI Brain](https://lanachat.ai/guides/what-is-an-ai-brain/) decides the sales tone, the questions to ask, the scripts to start and how to answer objections. - **Shows you the results.** The Dashboard counts conversations, sales and revenue per creator and per period. - **Lets your team work.** Employees get their own access key and only the sections you allow. ### What it doesn't do - **It doesn't create content.** It only sends what is in the creator's Vault. - **It doesn't work outside Telegram.** Fans must write to a connected Telegram account. - **It doesn't message fans outside the 24-hour window.** Telegram only allows replies within 24 hours of the fan's latest message, and LanaChat respects that everywhere. - **It doesn't move your Stars.** Stars are credited to the bot's balance. Automatic transfers are not set up in LanaChat yet. > Note: Content from fans and creators is never translated. Changing the Console language only changes the interface. ### Where to start Read [Sign in and your first day](https://lanachat.ai/guides/sign-in-first-day/). It walks you through the five steps that take a creator from empty to online. --- ## The Console at a glance _Getting started · 2 min read · Updated 2026-10-23 · https://lanachat.ai/guides/console-at-a-glance/_ The Console has two parts: the sidebar on the left and the page you are working on. This guide tells you what each sidebar entry is for. ### The sidebar - **Dashboard** (top): revenue, conversations and sales for the period and creators you pick. - **Studio**: what you set up. - **Creators**: each creator's identity, Telegram accounts and persona. - **AI Brain**: how the AI talks and sells for each creator. - **Scripts**: the message sequences the AI can send, with media and prices. - **Chatting** - **Live Convs**: the conversations as they happen. Read them and reply yourself. - **Message+**: send a message or a sequence to many fans at once, now or on a schedule. - **Tools** (click to open): **Fans List** with every fan, their status, spending and lists, **Tracking links** for your ads and posts, the **Vault** with each creator's photos, videos and voice messages, the **Playground** to test a creator in a private chat, and **Statistics** (coming soon, use the Dashboard until then). - **Users**: Billing, Team Management, API and these Guides. ![The sidebar: Dashboard on top, then Studio, Chatting and Users](https://lanachat.ai/guides/img/console-at-a-glance/sidebar.png) ### Small things that save time - Click a group title (Studio, Chatting, Users) or the Tools row to fold or open it. The Console remembers your choice. - Put the pages in the order you like: hold a page in the sidebar and drag it up or down inside its group (on a tablet, press and hold first). With the keyboard, focus a page and press `Alt` + `↑` or `↓`. The order is yours only; your team keeps theirs. - Your account menu has **Layout order**: **Default** shows the original order, **Custom** brings yours back. **Reset custom order** deletes it. - The amount next to your name at the bottom is your prepaid balance. Click it to top up. It turns red under $50. - Press `[` or the button at the top of the sidebar to shrink it to icons. Hover an icon to see its name. - The **SFW** switch at the bottom blurs every photo and video, useful when you work in public. - Your name at the bottom opens the account menu: profile, language, theme, display currency, menu order and sign out. > Note: Employees only see the sections their role allows. If a section is missing, ask your agency owner. --- ## Get help: guides, Ask anything and our team _Getting started · 4 min read · Updated 2026-10-23 · https://lanachat.ai/guides/get-help/_ Stuck on a screen or a question? The help bubble at the bottom right of the Console answers from these guides first, and puts you in touch with the LanaChat team when the guides are not enough. ### Open the help bubble 1. Press the round button at the bottom right of any page of the Console. 2. The panel opens on **How can we help?**, with a search field and a list of **Popular guides**. 3. Press a guide to read it right in the panel, or **Open full page** to read it on the Guides page. The tour of the Console points at the same bubble on its last step: see [Take the Console tour again](https://lanachat.ai/guides/console-tour/). ### Search the guides Type a few words in the search field. The matching guides appear under **Results** as you type. When nothing matches, the panel says so and suggests another word or a conversation with the team. ### Ask anything Prefer a direct answer? Type your question in the same field and press the **Powered by AI** button at its end. 1. After a short "Thinking…", an **AI answer** appears, written only from the guides, with the guides it used listed under it. Press one to read the full steps. 2. Tell us whether it helped with the thumbs under **Was this helpful?** 3. If the answer does not help, press **Talk to the team**: your question is copied into a new message for us. When the guides do not cover your question, the answer says "Nothing found. I could not find this in the guides, so I will not guess." and offers **Talk to the team** straight away. Inside a conversation, a compact **Ask anything…** line stays on top, so you can still search the guides while you write to us. ### Talk to the team Press **Start a conversation** on the home of the panel. You get one conversation with the **LanaChat team**, always the same thread: write text, attach files, and come back to it later with **Continue the conversation**. The header says **We usually reply within an hour**, and a badge counts the replies you have not read yet. Each person on your team has their own conversation with us, so a chatter can ask for help without going through the owner. ### When to write to us - Something in the Console does not do what a guide says. - You want unused balance back: there is no button for it, see [Get your unused balance back](https://lanachat.ai/guides/get-unused-balance-back/). - A deposit was sent on the wrong network, or on Solana without its memo: see [Top up your balance](https://lanachat.ai/guides/top-up-your-balance/). - A question about your agency's review or your workspace. Tell us your workspace name, the page you were on and what you expected to happen: we can answer in one message instead of three. > Warning: Never paste your password, a team member's personal access key or an API token in the chat. Nobody at LanaChat needs them to help you. ### Outside the Console - On the public guides at lanachat.ai, **Message us** at the bottom of each page opens the same chat. - News, new releases and beta invites go first to the LanaChat Telegram channel: https://t.me/lanachatai. For a question about your own workspace, use the chat. --- ## Take the Console tour again _Getting started · 4 min read · Updated 2026-10-23 · https://lanachat.ai/guides/console-tour/_ The Console tour is a short guided walk through the main pages, in 7 steps. It starts by itself on your first visit, and you can replay it at any time from the account menu. ### Start the tour again 1. Click your name at the bottom of the sidebar to open the account menu. 2. Press **Tour guide**. The menu closes and the tour begins. 3. If you have unsaved changes on the page, the Console first says **Please save your changes first**. Press **Save** or **Discard**, and the tour starts right after. ### What it shows The page dims and a bright frame points at one part of the Console at a time. Each step opens its page for you. | Step | What it points at | |---|---| | Pick a creator | The creator picker. Every page follows this choice. | | Dashboard | Sales, new conversations and earnings at a glance. | | Creators | Where you add your creators and build each persona. | | AI Brain | The brain that chats and sells for a creator. | | Scripts | Ready-made sequences the AI follows, with media and prices. | | Live Convs | Follow conversations live and take over from the AI. | | Billing and balance | Your balance next to your name (click it to top up), and the help bubble at the bottom right. | ### Move through the steps - The card next to the frame says where you are ("Step 3 of 7") and has **Back**, **Next** and **Skip**. On the last step, **Next** becomes **Finish**. - On a keyboard: the left and right arrows go back and forward, **Escape** skips. - While the tour runs, clicks outside the card are blocked, so you cannot change anything by mistake. - When it ends, you are back on the page where you started it. > Tip: The tour never changes a setting. Skip it whenever you like, and come back to it from **Tour guide** when a new teammate joins and you want to show them around. ### On a phone, or with a team role - On a phone the sidebar is a drawer that stays closed during the tour. The steps frame the menu button at the top and tell you where the entry sits, for example "Find Live Convs under Chatting in the sidebar." - A team member only sees the steps for pages their role can open, so their tour can be shorter than the owner's. ### When it starts by itself The tour starts on its own once, the first time each person opens a workspace. After **Skip** or **Finish** it never starts again by itself. The choice is remembered in your browser, so on a new browser or device it may show once more. Want the full map of the Console in writing? Read [The Console at a glance](https://lanachat.ai/guides/console-at-a-glance/). Need help with something the tour does not cover? See [Get help](https://lanachat.ai/guides/get-help/). --- ## Sign in and your first day _Getting started · 2 min read · Updated 2026-10-23 · https://lanachat.ai/guides/sign-in-first-day/_ This guide gets your first creator online. Plan about an hour, most of it spent writing her persona and filling her Vault. ### Sign in - **Agency owner:** open the login page, enter your **Email** and **Password**, then press **Login**. Forgot it? Press **Forgot password?** next to **Password**. See [Create your account and reset your password](https://lanachat.ai/guides/create-account-and-password/). - **Team member:** open the sign-in address your agency owner shared (it ends in `/login/?mode=employee`). The page reads **Join your workspace**: paste your key in **Personal access key** and press **Open workspace**. Keys start with `emp_`. ![The team member sign-in page, opened from the link your agency owner shares, with the Personal access key field](https://lanachat.ai/guides/img/sign-in-first-day/access-key.png) ### Your first day, step by step Five things get a creator ready. The line under her name in **Creators** shows her **N% profile**, her Telegram accounts and her AI Brain as you go. 1. **Identity.** In [Creators](https://lanachat.ai/guides/add-a-creator/), create the creator and add her name, photo and birth date. 2. **Telegram.** Create a central bot with @BotFather and connect it. See [Connect Telegram accounts](https://lanachat.ai/guides/connect-telegram/). 3. **Link an AI Brain.** In AI Brain, create a brain for her or link an existing one. See [Create and link a brain](https://lanachat.ai/guides/create-and-link-a-brain/). 4. **Add media to sell.** Upload photos, videos and voice messages to her [Vault](https://lanachat.ai/guides/vault/). She can only sell what is in her Vault. 5. **Persona.** Fill in the persona pages: the bar shows "Persona N% complete". Fill what you know, skip the rest. When all five steps are done, open **Telegram Accounts** and turn on the **AI** switch of her accounts to let the AI reply. See [Go-live checklist](https://lanachat.ai/guides/go-live-checklist/). > Tip: Before switching the AI on, chat with her in the [Playground](https://lanachat.ai/guides/playground/). Nothing you type there reaches Telegram. ### Then, every day - Open the **Dashboard** to see conversations and sales. - Open **Live Convs** to read conversations and reply yourself when needed. - Add new media to the Vault regularly: a creator with nothing new to sell sells less. --- ## Dark / light theme and languages _Getting started · 2 min read · Updated 2026-10-23 · https://lanachat.ai/guides/theme-and-languages/_ You can change how the Console looks and which language it speaks. These choices apply to you only, not to your team. ### Change the theme 1. Click your name at the bottom of the sidebar. 2. Open **Theme**. 3. Pick **Dark**, **Light** or **System**. System follows your computer's setting and switches by itself at night if your computer does. Dark is the default. You can also change the theme on the **Profile** tab of Profile & security. ### Change the language 1. Click your name at the bottom of the sidebar. 2. Open **Language**. 3. Pick one of the 10 languages: English, Français, Español, Português, Italiano, Deutsch, Polski, Română, Русский or Українська. The first time you sign in, the Console uses your browser's language. > Note: Only the interface is translated. Fan messages, creator names, personas, scripts and these guides stay as they were written. ### Display currency and SFW Two more settings sit in the same menu: - **Display currency**: show amounts in **Dollars** or in **Stars**. Dollars are an estimate (about $0.013 per Star), not the price fans pay to buy Stars. - **Safe for work**: blurs every photo and video in the Console. It is saved on this device only, so turn it on again on another computer. ![The account menu with the Language list open, Theme and Safe for work below](https://lanachat.ai/guides/img/theme-and-languages/account-menu.png) --- ## Your profile, 2FA and notifications _Getting started · 2 min read · Updated 2026-10-23 · https://lanachat.ai/guides/profile-2fa-notifications/_ Click your name at the bottom of the sidebar, then **Profile**. The tabs **Profile**, **Security** and **Notifications** sit at the top left of the page and stay there while you scroll. ### Profile - **Photo**: **Upload photo** (JPG, PNG or WebP, up to 5 MB), then drag it in the round frame and zoom with the slider, the mouse wheel or two fingers. **Save photo** applies it right away, in the page and in the sidebar. **Remove** asks first, then shows your initials again. - **Name and display name**, **Timezone** and **Date format**: press **Save changes** when you are done, or **Reset** to go back to what is saved. Both buttons stay grey while nothing has changed. - **Timezone** is a GMT offset, for example **GMT+1:00 (Paris, Berlin, Lagos)**. Type `+2`, `GMT-5` or a city to find yours. The line under it shows the time the Console uses. - **Email**: press **Change**, type the new address and your current password. We send a link to the new address; your email changes once you click it. Until then you can **Resend** it or **Cancel change**. - **Display** (language, theme, display currency, Safe for work) applies right away, no need to save. > Tip: Set your timezone first. Quiet hours and dates across the Console use it. > Note: If you try to open another tab or page with unsaved changes, the Console asks you to **Save** or **Discard** them first. ### Security (agency owner only) - **Password**: enter your current password and the new one twice, then **Update password**. Use at least 8 characters. - **Two-factor authentication**: 1. Turn the switch on. A QR code and a **Secret key** appear. 2. Scan the code with an authenticator app, or type the secret key into it. 3. Enter the 6-digit code the app shows, then **Verify**. 4. Save your **Recovery codes** somewhere safe. Each one works once if you lose your phone. - **Active sessions**: the devices signed in to your account. **Sign out of all other sessions** if you see one you don't recognise. ![The Security tab during two-factor setup: QR code, secret key and the 6-digit code](https://lanachat.ai/guides/img/profile-2fa-notifications/two-factor.png) ### Notifications - **Pause all notifications** stops everything until you turn it off. Critical alerts still show in the app. - **Where alerts go**: the bell in the sidebar, your email, and Telegram. **Connect Telegram** opens the LanaChat Alerts bot: press Start there. **Send a test notification** shows you what an alert looks like. - **Alerts**: one line per event, grouped by Sales, Conversations, Accounts & Telegram, Billing & balance, Team and Product updates. Tick **In-app**, **Email** or **Telegram** for each one. - Two alerts are always on in the app, with a lock: **Telegram account disconnected** and **Balance at zero**, because the AI stops until they are fixed. - **Quiet hours** hold Telegram and in-app alerts overnight, in your timezone. Emails are not held. - Press **Save changes** when you are done. > Note: Employees see the Profile and Notifications tabs, without billing alerts. Their access is managed with access keys, see [Personal access keys](https://lanachat.ai/guides/personal-access-keys/). --- ## Create your account and reset your password _Getting started · 4 min read · Updated 2026-10-23 · https://lanachat.ai/guides/create-account-and-password/_ Your agency's LanaChat account belongs to the agency owner, who signs in with an email and a password. This guide covers signing up, the review of your agency, and how to get back in when you forget your password. ### Create your account 1. Open the sign-up page: **Get started** on lanachat.ai, or **No account yet? Get started** under the login form. 2. Fill in **Agency name**, **Email** and **Password** (at least 8 characters). 3. Tick **I agree to the Terms of Service and the Privacy Policy**. 4. Press **Create account**. 5. The page now says **Check your inbox**. If the email is new, we sent you a confirmation link: open it. If an account already exists for that email, we sent you a link to log in instead. ### The review of your agency Sign-up is open to every agency, and every new agency is reviewed before its access is activated. We open access one by one, so there can be a short wait between your confirmation and your first sign-in to the Console. There is no free trial: once you are in, you pay from a prepaid balance, see [Billing: licences, commission and balance](https://lanachat.ai/guides/billing/). A question about your review? Use **Message us** on the public guides at lanachat.ai: it opens the chat with our team. ### Log in Open the login page, type your **Email** and **Password**, then press **Login**. Press **Show** in the password field to check what you typed. ### Forgot your password 1. On the login page, press **Forgot password?** next to **Password**. 2. The page turns into **Reset your password**. The email you already typed is filled in for you: check it. 3. Press **Send reset link**. 4. The page says **If an account exists for this email, we sent a reset link.** Open the email and follow the link. 5. Press **Back to login** to return to the login form. > Warning: For safety, the message is the same whether the email has an account or not. No email after a few minutes? Check your spam folder, then make sure you typed the address you signed up with. ### Change your password when you are signed in Open the account menu (your name at the bottom of the sidebar), then **Profile**. Under **Security**, enter your current password and the new one twice, then press **Update password**. See [Your profile, 2FA and notifications](https://lanachat.ai/guides/profile-2fa-notifications/). ### Team members: no password The people on your team never create an account and never use a password. The agency owner gives each of them a **personal access key**: 1. The owner opens the member in **Team Management** and creates their access key. 2. The member opens the sign-in address the owner shared. The page reads **Join your workspace**. 3. They paste the key in **Personal access key** and press **Open workspace**. A team member who lost their key asks the owner for a new one: **Reset access key** in the row menu of the **Team** table. See [Personal access keys](https://lanachat.ai/guides/personal-access-keys/). --- ## Troubleshooting: Lana does not reply _Getting started · 5 min read · Updated 2026-10-23 · https://lanachat.ai/guides/lana-does-not-reply/_ When Lana stays silent, one of a handful of switches is off: the account, the brain, the balance, the licence, Telegram itself, or that one fan. Check them in the order below; each section says where to look and what to do. ### First: is it every fan, or only one? 1. Open **Live Convs** and look at a few recent conversations of the creator. 2. If no fan gets a reply, the cause is on the creator side: go through sections 1 to 5. 3. If only one fan gets no reply, the cause is on his side: go to section 6. ### 1. The account is paused or not connected **Where to look:** **Telegram Accounts**, the creator's rows. - **Paused**: the **AI** switch of the row is off. Turn it on, or use **Resume AI replies** in the row's **Actions** menu. - **Waiting for Telegram**: Telegram has not confirmed the connection yet. Open **Finish connecting** in the row's **Actions** menu to see what is left. Sending the account a message from another Telegram account often wakes the connection. - **Connection issue**: the reason is written under the chip. *Reply permission is off in Telegram*: in Chat Automation, turn on Manage Messages with Reply to Messages. *Bot stopped: webhook not reachable*: press **Reconnect**. In Live Convs, a conversation whose account is the problem says why under the reply box, with **Open in Telegram Accounts**. See [Connect Telegram accounts](https://lanachat.ai/guides/connect-telegram/). ### 2. The AI Brain is paused, or missing **Where to look:** **AI Brain**, the switch next to the brain picker. - **Paused**: a paused brain doesn't reply to fans. Click it to switch back to **Active**. You need the right to edit AI Brains. - No brain at all: in **Creators**, the line under her name says "No AI Brain yet". Create one for her or link one in **AI Brain**. See [Create and link a brain](https://lanachat.ai/guides/create-and-link-a-brain/). ### 3. The balance is at $0 **Where to look:** the balance at the bottom of the sidebar, and **Billing**, tab **Overview**. At $0, Lana pauses on every account of the workspace. The Overview shows a red banner, **AI paused, CRM read-only**. [Top up](https://lanachat.ai/guides/top-up-your-balance/): everything starts again where it stopped. See [When your balance runs low or hits $0](https://lanachat.ai/guides/low-or-empty-balance/). ### 4. The licence has expired **Where to look:** **Billing**, tab **Licences**, the **Telegram accounts** table. Filter on **Expired** or **No licence**. An account whose licence has ended shows a red **Expired** badge, and Lana stops on that account. Press **Renew**, or **Assign** a licence from your stock. With an empty stock and less than $19 on the balance, nothing can renew. See [Licence expiry and auto-renew](https://lanachat.ai/guides/licence-expiry-and-auto-renew/). ### 5. Telegram itself blocks the reply **Where to look:** the strips above the reply box in **Live Convs**. - **Reply window closed: he has to write first**. Telegram only allows replies within 24 hours of the fan's latest message. Wait for him to write again. - **He blocked the bot: messages cannot reach him**. Nothing can be sent until he unblocks it. ### 6. Lana is off for this fan only **Where to look:** the conversation in **Live Convs**, and his status in **Fans**. - **AI paused, you're replying**: someone took over. Use **Hand back to AI** or the **AI replies** switch. - **AI has stopped**, with a reason: press **Resume AI** if the reason allows it. - **Paused · Human takeover**, **Paused · Staff** or **Awaiting staff** in Fans: a person is in charge of this fan. - **OFF** (Underage, Crisis / distress, Coercion, Illegal request, Asked to stop): the AI stopped on purpose. > Warning: Never restart the AI on a fan marked **OFF** for a safety reason, and never sell to a fan flagged as a minor. See [When a fan is a minor, in distress or asks to stop](https://lanachat.ai/guides/minor-distress-or-stop/). ### Still silent? Write as a fan in the [Playground](https://lanachat.ai/guides/playground/) with the same creator. If she answers there, the brain works and the cause is one of the switches above. If the reply says "Held by the safety agent", the message would have been blocked for a real fan too. --- ## Add a creator _Creators · 2 min read · Updated 2026-10-23 · https://lanachat.ai/guides/add-a-creator/_ A creator is one person your agency runs. She gets her own Telegram accounts, AI Brain, Vault and scripts. ### Create her 1. Open **Creators** in the sidebar. 2. Press **+ New creator** at the top right of the page. 3. A creator called "New creator" is selected and her name is ready to edit at the top of her page. Type her name and press Enter (Escape cancels). ![A new creator, her name ready to edit at the top of the page, with the creator picker in the sidebar and + New creator on the right](https://lanachat.ai/guides/img/add-a-creator/new-creator.png) > Tip: To rename her later, press the pencil next to her name. ### Fill in her identity Her page opens on the **Identity** page of her persona. Add her **Profile photo** (under 25 MB) in **Profile**, then add: - **First name** and **Nicknames** - **Date of birth**, **Zodiac sign** and **Nationality** - **Languages** she speaks The AI uses these details when a fan asks about her, so keep them consistent with what she posts publicly. ### Check what is left The line under her name shows her **N% profile**, her Telegram accounts ("No active Telegram account" until one is connected) and her brain ("No AI Brain yet" until one is linked). Before she can go live she needs her identity (photo, first name, date of birth), a connected Telegram account, an AI Brain, media in her Vault and a filled persona. See the [Go-live checklist](https://lanachat.ai/guides/go-live-checklist/). > Tip: Press **Quick fill from text** next to **Profile** to open **Quick fill** (optional) and drop her existing media at once. Photos, videos and audio files go straight into her Vault. ### Find her again Pick her in the creator menu at the top of the sidebar. Type in **Search creators** when the list gets long. When the sidebar is on **All creators**, the page keeps the last creator you opened and says so under the tabs. More on the [Creators and brands feature page](https://lanachat.ai/landing/features/creators-and-brands/). --- ## Creator settings (persona, prices, language) _Creators · 2 min read · Updated 2026-10-23 · https://lanachat.ai/guides/creator-settings/_ Her page in **Creators** is her persona. At the top: her **name** (press the pencil to rename her), and under it her **N% profile**, her Telegram accounts and her AI Brain (the last two are links to their pages). On the right of the same row: **New creator**, and **More** with **Delete creator…**. Below, the **Persona N% complete** bar and the persona pages, one at a time. ### Persona The persona is split into nine pages. Fill them in order: the bar says "Fill what you know, skip the rest". 1. **Identity**: **Profile** (her **Profile photo**, **First name** and **Nicknames**, and **Quick fill from text**), then **Date of birth**, **Zodiac sign**, **Nationality** and **Languages**, then her location (**Location mirroring**, **Current city**, **Reply languages**). 2. **Appearance**: how she looks. 3. **Life**: work, family, relationships, daily life. 4. **Tone of voice**: how she writes, plus a **Phrase bank** of ready reactions and answers (including what to say to "Are you a bot?"). 5. **Mimic**: real lines she would send, by category. Turn on **Use Mimic** to make the AI copy her style. 6. **Personality**: her traits and eight **Behavior sliders**. 7. **Memory**: **Anecdotes** and **Questions & answers** she can recall. Use **Test recall** to check. 8. **Boundaries**: what she never does, and how a relationship with a fan progresses. 9. **Examples**: **Example replies**, plus **Operations** (automatic replies, a test recipient, internal notes). ![The persona of a creator, open on its Tone of voice page](https://lanachat.ai/guides/img/creator-settings/tone-of-voice.png) > Tip: Short and precise beats long. If her profile gets too long, the page warns you: cut repeated details first. ### Prices Prices are **not** set on the creator. They come from: - the **Vault**: each item is Free, Teaser or Paid, with a Stars price; - a **Script step**: Vault price, Free, or Paid for the whole step. ### Language - **Languages** (Identity): what she speaks. - **Reply languages** (Identity page, with her location): the languages she can reply in. The first one is the language she writes in. With all of them checked, **Location mirroring** is turned on. - Each Telegram account can override it with its own **Reply language**. By default it follows the creator. --- ## Suggested values and persona modes _Creators · 1 min read · Updated 2026-10-23 · https://lanachat.ai/guides/persona-defaults/_ Setting up a creator should take minutes, not an afternoon. Two helpers fill the **Persona** for you; you keep the last word on every field. ### Fill the date of birth first - As soon as her **Date of birth** is set, the empty fields of **Tone of voice** get a value that fits her age: a 19-year-old writes casual and expressive, a 40-year-old writes mature and clean. - A suggested field shows a small **Suggested** badge next to its label. Change the value and it becomes hers. Press **Keep** if the suggestion is right. - Change the date of birth and only the fields still marked **Suggested** follow. What you typed never moves. ### Pick a mode to go faster - At the top of the Persona, **Persona mode** offers six ready-made personalities: Girl next door, Playful student, Dreamy artist, Sporty and direct, Mature and classy, Cozy homebody. - Choosing one fills the empty fields of **Tone of voice** and **Personality** in one go. Fields you already filled are kept, unless you choose **Apply to all fields** in the confirmation. - Pick **Custom (no mode)** to remove the mode suggestions. Her own values stay. > Tip: date of birth, then a mode, then adjust the two or three fields that make her unique. That is a complete persona in under five minutes. --- ## Pause or remove a creator _Creators · 2 min read · Updated 2026-10-23 · https://lanachat.ai/guides/pause-or-remove-a-creator/_ Pausing stops the AI without losing anything. Deleting removes the creator profile for good. ### Pause her There is no pause button on the creator page: Lana replies from each Telegram account, so you pause her account by account. 1. Open **Telegram Accounts** and find her rows. 2. Each row starts with the **AI** switch. Turn it off on every account of hers: the row reads **Paused**. You can also use **Pause AI replies** in the row's **Actions** menu. While she is paused, the AI sends nothing from her accounts. Her fans, conversations, media and scripts stay as they are. To bring her back, turn the **AI** switch on again, or use **Resume AI replies** in the same menu. > Note: Pausing her brain in **AI Brain** (switch next to the brain picker, **Active** or **Paused**) also stops her replies. The **AI** switches let you pause one account at a time. ### Pause one account only Turn off the **AI** switch on that account only. Her other accounts keep working. ### Delete her 1. Open her page in **Creators**. 2. Press **More** (the three dots at the top right), then **Delete creator…**. 3. Confirm with **Delete** in the "Delete …?" window. The creator profile is removed. Her media and scripts are kept separately, so nothing in the Vault or in Scripts disappears. > Warning: Deleting cannot be undone from the Console. If you only need a break, pause her instead. --- ## Connect Telegram accounts (and what a business connection is) _Creators · 3 min read · Updated 2026-10-23 · https://lanachat.ai/guides/connect-telegram/_ LanaChat answers fans through a **bot** added to each Telegram account with Telegram's **Business** chatbot feature. That link between an account and its bot is what we call a **business connection**: it lets the bot read and answer the account's private chats. By default every account gets a bot of its own; a bot can also be shared by several accounts of the same creator. ### Before you start - Access to the Telegram account to connect. - Telegram Premium is **not** required for the bot; the Business chatbot settings are in the Telegram app. ### Add an account, step by step Open **Studio › Telegram Accounts** and click **Add account**. The assistant has four steps: 1. **Creator**: pick the creator the account belongs to. A search box filters the list by name. The last card, **Create a new creator**, creates her right there (name, main language, optional default market) and moves on to the next step with her selected. 2. **Details**: give the account a name (for example *Julia IT Meta Ads 5*). Only the name is required: the market and the traffic source are optional, you can set them now or later from **Edit** (until then the row shows *Not set* and the account is in no pool). The reply language follows the market (else the creator language); to answer in another language, customize it later in **Edit**, tab **Edit pool details**. 3. **Create the bot**: four points, one box to tick each. (1) In Telegram, open @BotFather and send `/newbot`: give the bot a name, then a username ending in `bot`. (2) Enter that username. (3) **Turn on Secretary Mode** (BotFather's new name for Business Mode): in @BotFather send `/mybots`, pick the bot, then Bot Settings → Secretary Mode → Turn on. BotFather confirms with "Secretary Mode is currently enabled for @your_bot". This one is required: without it the bot cannot be added to a Telegram account. (4) Paste the token BotFather sent: it is checked, then never shown again. A bot the creator already has can be picked behind **Use an existing bot**; a bot that already runs an account means the Stars of both accounts land on the same bot balance. 4. **Connect in Telegram**: the assistant shows the very screen you see on the phone. On the Telegram account to connect, open **Settings → Telegram Business → Chat Automation**, add the bot (use **Copy** on its @) and keep *All Private Chats Except…*. Under **Bot permissions**, turn on **Manage Messages** (required: Read Messages, Reply to Messages, Mark Messages as Read, Delete Sent Messages, Delete Any Message; LanaChat cannot reply without it). **Manage Profile**, **Manage Gifts and Stars** and **Manage Stories** are optional, recommended; inside Gifts and Stars, leave **Transfer Stars** and **Transfer and Upgrade Gifts** off unless you want LanaChat to move money. Telegram reminds you that the bot can only reply in chats that were active during the last 24 hours. ![Step 4 of the assistant: the Chat Automation screen with the bot's @, Copy and the bot permissions](https://lanachat.ai/guides/img/connect-telegram/connect-in-telegram.png) The window then waits for Telegram and switches to **Connected as @username** on its own. Press **Done**. If nothing happens within a minute, check that the bot is added and Reply is on, or send the account a message from another Telegram account: the first message wakes the connection. **Finish later** keeps the row as **Waiting for Telegram**; **Finish connecting** in the row's **Actions** menu brings this step back. ### Statuses you may see - **Waiting for Telegram**: Telegram hasn't confirmed the connection yet. - **Connection issue**: the reason is written under the chip. *Reply permission is off in Telegram*: in Chat Automation, turn on Manage Messages with Reply to Messages. *Bot stopped: webhook not reachable*: press **Reconnect**. *Telegram hasn't confirmed the connection yet*: add the bot again, then **Reconnect**. - **Paused**: you paused the AI on this account. Press **Resume AI replies**. > Note: Every account of a creator shares her AI Brain, but each conversation history stays separate. Stars are credited to the balance of the bot that runs the account. > Tip: Removing an account in LanaChat keeps the bot, the fans and the history. It doesn't delete the Telegram account. Removed accounts come back with **Restore**. --- ## Telegram Accounts: accounts, pool load and stories _Creators · 4 min read · Updated 2026-10-23 · https://lanachat.ai/guides/telegram-accounts/_ **Studio › Telegram Accounts** has three tabs: **Accounts**, **Pool load** and **Stories**. ### Accounts One row per Telegram account, grouped by creator. Each row shows the AI switch, the account name and the bot that runs it (**via @bot**), the @username, the market and traffic source, the language, the status, whether stories are allowed, the AI Brain and the activity of the last 24 hours. Statuses you may see: - **Connected**: Telegram confirmed the connection, LanaChat answers on this account. - **Waiting for Telegram**: the account was created in LanaChat but Telegram has not confirmed it yet. Open **Finish connecting** in the row's **Actions** menu to see what is left to do. - **Connection issue**: the short reason sits under the chip (for example *Reply permission is off in Telegram*). Fix it in Telegram, then **Reconnect** from the row's **Actions** menu. - **Paused**: you switched the AI off on this account. Switch it back on, or use **Resume AI replies**. Click **Add account**: a 4-step assistant opens. See [Connect Telegram accounts](https://lanachat.ai/guides/connect-telegram/) for the steps. The new row appears at once as **Waiting for Telegram**, before Telegram confirms. To change an account, click its name (or open **Edit** in the row's **Actions** menu): the name, creator, market, traffic source and AI switch in **Details**; the **Telegram permissions** in the same sections as Telegram's Chat Automation screen (Manage Messages required and shown in red when a right is missing, the other sections optional, recommended); and the **Bot** section (webhook state, **Reconnect**, **Change bot**). **Save** stays disabled until something changed. The same menu has **Pause AI replies** (or **Resume AI replies**) and **Remove**. Removed accounts stay listed under the creator card with **Restore**. We never ask for the phone number, password or 2FA code of the account. ### Persona per account Each account can speak with a slightly different persona than its creator, to fit its market: **Hobbies**, **Punctuation**, **Reply language** and **City**. Click the account name (or **Actions** → **Edit pool details**) and open the **Edit pool details** tab: one card per block, the creator value shown as **Default (creator)**. Switch **Customize for this account** on to set a value for this account only; the creator value stays visible, struck through, as **Creator default**. Switch it off to go back to the creator value. The tab counts what is customized (**2 of 4 customized**) and the list shows **Custom · 2** under the account name, with the blocks in its tooltip. - **City** cannot be customized while **Location mirroring** is on for the creator (her Identity page): the city follows each fan. Turn mirroring off to set a city per account. - **Reply language**: off means the account answers in the language of its market (shown as *French (from market FR)*), or in the creator language when it has no market. Switch it on only to answer in another language. - One **Save** covers both tabs. ### Pool load Read-only. A pool forms on its own from the market and traffic source of the active accounts, and a tracking link serves the pool of the account it points at. - **Load this hour**: one bar per account, messages this hour against the ceiling of 2,000. Amber from 80 % (the account is slowed), red from 95 % (paused until the next hour). - **Load history**: one line per account over **24h** or **7 days**, with the ceiling as a dashed red line. Filter by traffic or market and hover a point to read each account's load. - **One card per creator**: each pool with the traffic share of every account. **Pages serving a single account** lists the tracking pages that point at an account in no pool. In **Tracking**, the link form tells you whether the chosen account is in a pool and how visitors are split. ### Stories Pick a creator, tick up to the allowed number of accounts, choose a photo or video (upload or **Pick from Vault**), add text and an optional link sticker, then post now or **Schedule**. Scheduled stories can be edited or canceled until they go out. An account without the **Stories** permission is greyed out: allow Manage Stories in Telegram's Chat Automation settings for that account. From a creator's page, **Manage in Telegram** opens this page on her accounts. More on the [Telegram accounts feature page](https://lanachat.ai/landing/features/telegram-accounts/). --- ## What an AI Brain is _AI Brain · 2 min read · Updated 2026-10-23 · https://lanachat.ai/guides/what-is-an-ai-brain/_ An AI Brain decides how your AI talks to fans. The creator's persona says **who** she is. The brain says **how** she chats and sells. ### What a brain contains Open **AI Brain** in the sidebar and pick a brain. Its settings are split into tabs: - **Sales tone**: how gently or how directly she sells. - **KYC**: the questions she asks to get to know a fan, in order. - **Scripts**: which scripts can start, when, and the offer rules around them. - **Objections**: how she answers "too expensive", "not now" and the like. - **Follow-ups**: what she sends after a silence or an unopened media. - **Conversation**: the writing style and how naturally sales can open. - **General**: lead agents and formatting rules. On the right of the brain picker: **Active** or **Paused** (click it to switch; a paused brain doesn't reply to fans), **Default settings** or **Custom settings**, and **Try it**, which opens the [Playground](https://lanachat.ai/guides/playground/) with this brain. ![An AI Brain: the brain picker, its creator, Active, Custom settings and Try it, then its tabs](https://lanachat.ai/guides/img/what-is-an-ai-brain/ai-brain.png) ### Defaults and your own settings Each tab starts on the default settings and says "Following default settings". As soon as you change something, it says "Your custom settings". **Use default settings** puts the tab back. > Tip: Change one tab at a time, then test in the [Playground](https://lanachat.ai/guides/playground/). You will see what each change does. ### One brain, one creator A brain belongs to one creator. All her Telegram accounts share it. To reuse a brain you like, duplicate it to another creator: see [Create and link a brain](https://lanachat.ai/guides/create-and-link-a-brain/). Older brains marked with a lock are the **Default AI Brain**: they are read-only. Duplicate one to edit a copy. More on the [AI Brain feature page](https://lanachat.ai/landing/features/ai-brain/). --- ## Scripts vs. AI: when the bot follows a script _AI Brain · 2 min read · Updated 2026-10-23 · https://lanachat.ai/guides/scripts-vs-ai/_ The AI either writes its own messages or sends the steps of a script. Knowing which one happens, and when, helps you set her up. ### When a script starts In the AI Brain, the **Scripts** tab → **Schedule & selection** controls each script: - **Enable this script** and **Available to start**: Anytime, Daytime, Night or a custom schedule, in the creator's time zone. - **Default priority** (0 to 100): when several scripts could start, the higher priority wins. - **Smart script picker**: keywords from the fan that choose a script. Keywords take precedence over priority. - **Return to this script**: if the fan drifts away, she can steer back with a return opener. It never restarts the script. ![Schedule & selection, lower down: each script's priority on the week grid, the Smart script picker keywords and Return to this script](https://lanachat.ai/guides/img/scripts-vs-ai/schedule-and-selection.png) ### While a script runs - Its text is sent as you wrote it. The Telegram account's translation setting still applies. - Prices come from the step (Vault price, Free or Paid). - If the fan objects, the **Objections** tab answers. It only writes a free reply when you chose **AI response** as the fallback. - Your refusal and payment rules always apply, whatever the **Conversation** mode. > Note: Scripts are written in **Scripts** (Studio group of the sidebar) and attached in the AI Brain. See [Scripts](https://lanachat.ai/guides/scripts/). --- ## When Lana should NOT answer _AI Brain · 4 min read · Updated 2026-10-23 · https://lanachat.ai/guides/when-lana-should-not-answer/_ Lana replies to every fan unless something tells her not to: a choice you made (a script mode, a pause, a takeover) or a safety stop. This guide lists each case, what it stops, and how to give the conversation back to her. ### One conversation: you take over In **Live Convs**, open the conversation and press **Take over manually**. Lana pauses for this fan only, and the strip above the box says **AI paused, you're replying**. Typing in the box is a takeover too. 1. Write your replies yourself. They go out from the creator's real Telegram account. 2. When you are done, press **Hand back to AI**, or switch **AI replies** back on. A script you run by hand from **Scripts** above the box also replaces Lana while it runs. Stopping it gives the conversation back to her. See [Live Convs](https://lanachat.ai/guides/live-convs/). ### Pause everything for a creator, an account or a brain - **A creator**: in **Telegram Accounts**, turn off the **AI** switch on each of her accounts. Nothing is sent from them until you turn it back on. - **One Telegram account**: turn off its **AI** switch only, or use **Pause AI replies** in the row's **Actions** menu. Her other accounts keep working. - **An AI Brain**: click **Active** next to the brain picker to switch it to **Paused**. A paused brain doesn't reply to fans. Fans, conversations, media and scripts stay as they are. See [Pause or remove a creator](https://lanachat.ai/guides/pause-or-remove-a-creator/). ### Safety stops: the AI stopped on its own Some fans must not get an AI reply, and Lana stops by herself. In **Fans List** the status tag says why: - **OFF** (Underage, Crisis / distress, Coercion, Illegal request, Asked to stop): the AI stopped for good reason. - **Review** (Age unclear, Needs clarification): someone should read the conversation. In Live Convs the same fan shows a strip: **Minor: never sell or send explicit content to this fan**, a fan in distress with **Alert a manager**, an opt-out, or **AI has stopped** with its reason and a **Resume AI** button. > Warning: Never press Resume AI on a fan marked minor, in distress or who asked to stop. Hand a fan in distress to a manager with Alert a manager. ### Stops you didn't choose Lana also stays silent when she cannot send: - **Balance at $0**: she pauses on every account of the workspace until you top up. See [Low or empty balance](https://lanachat.ai/guides/low-or-empty-balance/). - **Expired licence** on an account (red **Expired** badge in Billing, Licences): she stops on that account until a licence is assigned to it. - **Reply window closed**: Telegram only allows replies within 24 hours of the fan's latest message. Wait for him to write again. - **He blocked the bot**: messages cannot reach him. - **No AI Brain** linked to the creator: in **Creators**, the line under her name says **No AI Brain yet**. ### Who can do it Team members need **Reply manually** to take over and **Pause the AI on a conversation** to hand back or resume. A greyed button says which permission is missing. See [Team and roles](https://lanachat.ai/guides/team-and-roles/). --- ## Create and link a brain to a creator _AI Brain · 2 min read · Updated 2026-10-23 · https://lanachat.ai/guides/create-and-link-a-brain/_ A creator needs an AI Brain before she can go live. You can create a new one or reuse one you already set up. ### Create a new brain 1. Open **AI Brain** in the sidebar. 2. Press **+** at the top of the **AI Brains** list. 3. Give it a **Name** (up to 60 characters) and pick the **Creator**. 4. Press **Create AI Brain**. The brain opens with default settings on every tab. You can start chatting with it right away in the Playground. ![The New AI Brain window: a name and the creator it belongs to](https://lanachat.ai/guides/img/create-and-link-a-brain/new-brain.png) ### Link an existing brain If a brain has no creator yet, press **Link a creator** on it and choose her. ### Reuse a brain for another creator Each AI Brain can only have one creator. To use the same settings for someone else: 1. Open the brain and its **…** menu. 2. Choose **Duplicate to another creator** and pick her. 3. If she already has a brain, LanaChat asks before replacing it (**Replace AI Brain**). The copy is independent: changing one brain never changes the other. ### Rename or remove Use **Rename** and **Remove** on the brain in the list. > Warning: A creator without a brain cannot reply in the Playground, and the line under her name in **Creators** says "No AI Brain yet" again. --- ## Sales phases (discovery → closing) _AI Brain · 2 min read · Updated 2026-10-23 · https://lanachat.ai/guides/sales-phases/_ A good conversation moves from getting to know the fan to a sale, then keeps him coming back. You don't draw these phases by hand: each tab of the AI Brain controls one part of the path. ### The path of a conversation 1. **Welcome and discovery.** She gets to know the fan. The **KYC** tab sets which questions she asks, and in what order. 2. **Connection.** She builds rapport using her persona: her voice, her memories, her boundaries. 3. **Transition to a sale.** The **Sales tone** tab sets how soon and how often she steers towards content. The **Conversation** tab decides whether clear interest from the fan can open a sale on its own. 4. **The sale.** A script starts and sends its steps, with media and prices. The **Scripts** tab decides which script can start, when, and with which offers. 5. **Closing and objections.** If the fan hesitates, the **Objections** tab picks the answer. On a paid step, closing triggers such as "Payment received", "Too expensive" or "Explicit refusal" decide what she does next. 6. **After the sale.** **Follow-ups** bring back fans who went quiet or didn't open a media. ![The Sales tone tab of an AI Brain: Gentle, Balanced and Proactive, then the two sliders](https://lanachat.ai/guides/img/sales-phases/sales-tone.png) ### Sales tone in practice - Pick a preset: **Gentle**, **Balanced** or **Proactive**. - Fine-tune **Flirt tendency** and **Sales tendency**. These are tendencies, not quotas. > Note: A 0% sales tendency does not stop scripted sales. A script that starts still runs its paid steps. ### Leads In **General**, two lead agents sort fans for you: - **Timewaster** spots fans who negotiate again and again (you choose after how many attempts). - **Qualifier** spots fans who can pay, from a declared budget, a clear statement of means or verified purchases. A job title alone is not enough. Each agent adds the fans it finds to a fan list you can use in [Fans](https://lanachat.ai/guides/fans/) and Message+. --- ## Sales tone: gentle, balanced or proactive _AI Brain · 4 min read · Updated 2026-10-23 · https://lanachat.ai/guides/sales-tone/_ If she sells too much or not enough, two places of the AI Brain decide it. The **Sales tone** tab sets how flirty and how sales-driven her wording sounds; the **Conversation** tab sets when she may bring up an offer and how much space she leaves between two offers. ### Pick a tone 1. Open **AI Brain** and pick the brain. 2. Click the **Sales tone** tab. 3. Pick a style: - **Gentle**, conversation first: Flirt tendency 20%, Sales tendency 15%. - **Balanced**, a natural mix: 45% and 30%. - **Proactive**, more sales emphasis: 70% and 55%. 4. Fine-tune with the two sliders, from 0 to 100%: - **Flirt tendency**: more flirtatious wording when the conversation allows it. - **Sales tendency**: more commercial wording when an offer is allowed. 5. Press **Save tone preferences**. The tab then says **Custom tone** instead of **No added guidance**. **Clear tone preferences** removes your choice and goes back to no added guidance. Save or clear before you switch to another tab: the Console asks you to. > Note: These percentages guide wording. They are not message quotas, and they do not set offer timing or prices. A 0% sales tendency does not stop scripted sales: a script that starts still runs its paid steps. ### Space out the offers When to offer is set on the **Conversation** tab, in **When should it move toward a sale?**. This part is available with the conversation mode **Natural + contextual sales**. 1. Click the **Conversation** tab and pick **Natural + contextual sales**. 2. Under **Offer pacing**, pick one: - **Patient**: wait for stronger interest, leave more space, and stop after two offers without a confirmed purchase. - **Balanced**: wait for clear interest and leave room between offers. - **Earlier opportunities**: allow an extra sales opportunity sooner when interest is present. 3. To set each number yourself, open **Adjust the sales conditions**: - **Interested fan replies before an offer** (1 to 15). Short one-word replies are not counted. - **Interest level required**: 1 some interest, 2 clear interest, 3 strong interest. - **Fan replies between two offers** (0 to 40). - **Offers without a confirmed purchase** (1 to 8): offers left unanswered or declined. 4. **Let clear interest in content open a sales opportunity** lets a fan's own request start a sale. A compliment alone does not confirm a purchase. These limits can make the existing sales flow stricter; they never bypass it. Your scripts, refusal and payment rules still apply. > Tip: Change one thing at a time, then chat in the [Playground](https://lanachat.ai/guides/playground/) on a creator linked to this brain. With **A/B test** on, you can compare two brains side by side on the same messages. ### Which one to change - **She sounds pushy in her words**: lower **Sales tendency**, or pick **Gentle**. - **She offers too often**: raise **Fan replies between two offers**, or pick **Patient**. - **She offers too early**: raise **Interested fan replies before an offer** or the **Interest level required**. - **She never offers**: check that a script can start (the **Scripts** tab, see [Scripts vs. AI](https://lanachat.ai/guides/scripts-vs-ai/)), then try **Earlier opportunities**. ### Discounts On the same Conversation tab, **Set a discount ceiling** caps the promotions your scripts already allow, from 0 to 60%. It does not create offers or change base prices. --- ## KYC and objections _AI Brain · 2 min read · Updated 2026-10-23 · https://lanachat.ai/guides/kyc-and-objections/_ **KYC** ("know your customer") is how she gets to know a fan. **Objections** is how she answers when he hesitates to buy. ### KYC: the questions she asks The **KYC** tab lists the questions your AI asks to get to know a fan, in order: his first name, where he lives, what he does, what he likes. What he tells her is kept in his memory: you can read it in Live Convs under **Fan details**. - **Add a question at the end** to extend the list. - **Import KYC script** to load a list you already wrote. - A brain can hold several KYCs. Rename, duplicate or delete them; start from a sample such as "Girlfriend (long game)", "Closer (direct)" or "New creator (discovery)". > Tip: Keep it to a few natural questions. A fan who feels interviewed stops answering. ![The KYC tab: each step is a question, with the details it collects and a preview of the fan profile](https://lanachat.ai/guides/img/kyc-and-objections/kyc.png) ### Objections: when he hesitates The tab covers six kinds of objection: - Too expensive - Wants free content - Trust concerns - Not now - Looking elsewhere - Stopped replying For each, write responses using different angles: Value, Gentle guilt, Humour, Comparison, Urgency or Counter-offer. Samples are there to start from. ### How a response is chosen - **How to choose a response**: **Best performing** uses what has worked best so far. **Context** picks what fits the conversation. - **If the response doesn't work** (and no next step matches): **Next response** takes the next one on your list. **AI response** lets the AI write its own answer. - Turn on **Avoid repeating responses** so a fan never gets the same line twice. --- ## Follow-ups: bring back fans who went quiet _AI Brain · 4 min read · Updated 2026-10-23 · https://lanachat.ai/guides/follow-ups/_ Follow-ups are the messages Lana sends when a fan goes quiet, and the rules that decide when she sends them. You set both on the **Follow-ups** tab of the AI Brain: rules on one side, a library of messages on the other. ### Open the tab 1. Open **AI Brain** in the Studio group of the sidebar and pick the brain. 2. Click the **Follow-ups** tab. It has two parts: **Rules** and **Messages**. Changes save on their own. Every creator linked to this brain uses the same follow-ups. ### Write a rule A rule reads like a sentence: *if* these conditions are true, *then* follow up after a delay, using messages from the library or a script. 1. Press **Add rule**. Rename it with a name that says what it is for, for example *Media left unopened*. 2. Press **Add condition** and pick from the list: - **The sent media is unopened** - **No reply for** a number of hours or days - **He has purchased before** or **He has never purchased** - **He has spent at least** a number of Stars - **Discovery is complete** - **Current phase is** GFE, Erotic or Sales - **He declined an offer** 3. Under **Then**, set **follow up after** (hours or days) and choose **using**: a moment of the library (for example **Library · Short silence**), or one of your scripts, which is sent as written. 4. Set **Maximum attempts** (1 to 6) and **Time between attempts**. 5. Choose what happens **After the last attempt**: **Stop and move on**, **Pause sales for 48 hours**, **Mark as lost** or **Wait for him to return**. 6. Keep the rule's switch on. You can have up to 100 rules. > Note: A rule with no condition says "No conditions yet: this rule won't send." Add at least one. The link under a rule shows how many active messages it can draw from. Click **View** to open those messages in the library. ### Fill the library The library sorts messages by **moment**: **After sending**, **Unopened media**, **Short silence**, **Long silence** and **Last attempt**. A rule draws from one moment. - Press **Add message**, pick its moment and write it the way she would text (4,000 characters at most). - Each message has its own switch: turn one off to keep it without sending it. - Messages that use the fan's first name carry a **First name** tag. - Search the library or filter it by moment. It holds up to **5,000 messages**. > Tip: Write several messages per moment. Lana then has different lines to pick from instead of repeating one. ### Import your own follow-ups 1. Press **Import follow-ups**. 2. Prepare the file: **Download sample CSV**, or **Copy AI formatting prompt** to let your own AI tool format your messages. 3. **Choose file**: a CSV or a TXT, up to 1,000 messages and 2 MB per import. - A **CSV** needs a `message` column. An optional `moment` column (`after_sending`, `unopened_media`, `short_silence`, `long_silence`, `last_attempt`) and an `enabled` column (true or false) can sit next to it. Put messages containing commas in double quotes. - A **TXT** holds one message per line, all added to the moment you choose. 4. Review each message and its moment, then press **Import**. Your existing messages are kept. **Export CSV** downloads the whole library in the same format, to edit it elsewhere or copy it to another brain. ### Follow up by hand Rules work in the background. In **Live Convs**, **Follow up now** at the top of the list shows who to write to yourself: fans ready to buy, buyers who went quiet after your message, top fans gone silent. See [Live Convs](https://lanachat.ai/guides/live-convs/). --- ## Conversation style and formatting rules _AI Brain · 4 min read · Updated 2026-10-23 · https://lanachat.ai/guides/conversation-style/_ Two tabs of the AI Brain shape how Lana's replies look: **Conversation** sets how long a reply is, how often she asks a question and whether she splits a reply into several messages. **General** holds the formatting rules, such as emojis and capital letters, applied to every reply. ### Choose a conversation mode Open **AI Brain** in the sidebar, pick the brain, then the **Conversation** tab. At the top, pick a mode: - **Existing behavior**: keeps the current writing style and sales flow. - **Natural conversation**: lets you adjust the writing style. The rules for starting sales stay the same. - **Natural + contextual sales**: adjusts the writing style and lets clear interest in content open a sale. Natural conversation and contextual sales need Advanced AI. When it is switched off for this brain, the tab says so and only Existing behavior is available. ### Set the style of the replies Under **How should replies feel?**: 1. **Reply length**: **Short**, **Balanced** or **Detailed**. The length counts the whole reply, across all its messages. 2. **How often should it ask a question?**: **Rare**, **Occasional** or **Frequent**. A question that is really needed to understand the fan stays possible. 3. **Split replies into messages**: **One message**, or up to two, three or four shorter messages per reply. 4. **Vary the opening**: **Standard**, **More variety** or **Extra variety**, so she doesn't start several replies with the same word. 5. Press **Save conversation settings**. Nothing changes for fans until you save. **Discard changes** goes back to what was saved. **Adjust each moment** (Fine-tune) sets the shortest and longest reply, in characters, for the first reply, the conversation, an offer and after a purchase. These are style targets, not exact quotas. ### Emojis that follow the fan Open **More conversation controls** and tick **Adapt to purchases, message bursts and response timing**. **Emoji style** then offers: - **Match the fan**: she uses emojis the way the fan does. - **Follow the persona**: she uses the persona's emoji style. Both respect a fan who asks for no emojis. In the same block, **Words to avoid at the start** lists words she should never open a reply with. ### Formatting rules Open the **General** tab. The **Rules library** cleans every reply before it is sent: - **Capitalization**: keep the original, all lowercase, or capitalize sentences. - **Emoji placement**: keep them where they are, end of sentence only, or no emojis. - **Emoji limit**: no limit, or up to 1, 2 or 3 per reply. - **Final period**: remove the full stop at the end of each message. Question and exclamation marks stay. - **Repeated punctuation**: turn `!!!` into `!` and `???` into `?`. - **Extra spaces**: one space between words, line breaks kept. A rule is saved as soon as you pick it, and the counter shows how many are active. The **Live preview** shows an example message before and after your rules. **Reset rules** turns them all off. The rules apply to Console replies and the Playground. Links, @usernames and numbers such as 9.99 are left as they are. > Tip: All lowercase with no final period reads like a real person typing on a phone. Try it in the [Playground](https://lanachat.ai/guides/playground/) before keeping it. If your rules would remove a whole reply (for example a reply made only of emojis, with **No emojis**), the Console stops it and says "The active formatting rules removed the entire reply". Loosen a rule and try again. --- ## Lead agents: Timewaster and Qualifier _AI Brain · 4 min read · Updated 2026-10-23 · https://lanachat.ai/guides/lead-agents/_ Lead agents watch every conversation of an AI Brain and put fans into a fan list for you. The **Timewaster** spots fans who negotiate without paying, the **Qualifier** spots fans who can clearly afford to buy. ### Where to find them Open **AI Brain** in the sidebar, pick the brain, then the **General** tab. **Lead agents** is the first block. Both agents are off until you switch them on, and each brain has its own settings: a creator's fans are sorted by the brain linked to her. ### Set up the Timewaster The Timewaster flags a fan when the first paid offer stays unpaid after negotiation. 1. Switch on **Timewaster**. 2. Set **Negotiation attempts** with **−** and **+** (1 to 10, 3 by default). The fan is flagged after this many unsuccessful replies. Silence alone does not count. 3. In **Add fan to**, choose a fan list. No list yet? Type a name under **Or create a list** and press **Create**. ### Set up the Qualifier The Qualifier works after KYC: it spots a fan with clear buying potential. It qualifies him as soon as **any** enabled signal matches: - **Declared budget**: he gives a budget at or above the amount you set, in EUR, USD or Stars (100 by default). - **Explicit means statement**: he clearly says he has the money to spend. - **Verified purchases**: what he has already paid, confirmed by the payment system, reaches the number of Stars you set (1,000 by default). Keep at least one signal on, then pick the list in **Add fan to**, as for the Timewaster. A job title alone does not establish spending power: "I'm a surgeon" does not qualify a fan, "I can spend $300 tonight" does. ### Save Press **Save agents**. **Discard changes** goes back to what was saved. Fans flagged while you test in the [Playground](https://lanachat.ai/guides/playground/) stay in the Playground: they never land in your real lists. ### Use the list they fill The agents add fans to an ordinary fan list, so you use it like any other: 1. **Fans List**: open the list. Each fan added by an agent shows the source **Automatic · Timewaster** or **Automatic · Qualifier**. See [Fans](https://lanachat.ai/guides/fans/). 2. **Live Convs**: the list has its own chip above the conversations, with the number of its fans waiting for a reply. Click it to keep only those fans. See [Live Convs](https://lanachat.ai/guides/live-convs/). 3. **Message+**: in **Mass DM**, pick the creator, then choose the list as the audience instead of **All fans**. Send your best offer to qualified fans only, or a cheaper one to timewasters. See [Message+](https://lanachat.ai/guides/message-plus/). > Tip: Create two lists named "Timewasters" and "High potential" before switching the agents on. You'll find them in the same place in Fans, Live Convs and Message+. ### Good to know - Fans added by a lead agent are never removed by the automatic rules of a list. - A list still used by an AI Brain cannot be deleted. - An agent can be wrong: open the fan in Live Convs, then the **Insights** tab of his details, and remove him from the list by hand. --- ## Vault: upload media, previews and folders _Library · 3 min read · Updated 2026-10-23 · https://lanachat.ai/guides/vault/_ The Vault holds everything a creator can send: photos, videos and voice messages. She can only sell what is in her Vault. Open **Vault** under Tools, in the Chatting group of the sidebar. ### One Vault per creator Pick the creator in the menu at the top left of the page. Each creator has her own Vault, with folders you can nest (for example "Selfies/Beach"). Use **New folder**, **Rename folder** and **Delete folder** from the folder path at the top. Deleting a folder keeps its media: they move up one level. ### Upload 1. Open the folder you want. 2. Press **Add media** at the top right, or drop files on the page. 3. Watch the progress at the bottom: "Uploading · N%", then "Saved to Vault". - Images, videos and audio files only, up to **2 GB per file**. - Big files go up in parts. If your connection drops, upload the same file again within 47 hours: it picks up where it stopped. - Keep the page open until uploads finish. The browser warns you if you try to leave. ![A Vault folder in Cards view, with Add media at the top right](https://lanachat.ai/guides/img/vault/folder-cards.png) ### Previews The grid shows small previews so it stays fast. Hover a video to play a silent preview. The full file only loads when you open an item. Switch between **Cards** and **List**, filter by Photos, Videos or Voice messages, and **Sort** by Recent, Name, Type or Pricing. ### Telegram preparation and Fangate The two buttons next to **Cards** and **List** open a panel on the right: the paper plane opens **Telegram preparation** (settings and upload status), **Fangate** opens media checkouts and payments. Press Escape or click outside the panel to close it. Only the workspace owner can use them. ### Price and describe each item Open an item to set: - **Pricing**: **Free**, **Teaser** or **Paid**. Paid items are sent blurred and unlock with Stars (1 to 25,000). - **What the AI knows**: **Description**, **When to send**, **Mood** and **Time of day**. The AI uses these to pick the right media. Items without a description show a **Describe** badge. **Describe with AI** fills empty fields for photos and videos (a video is described from a few frames, without sound). It never overwrites what you wrote, and marks its text "AI draft, review it". > Tip: When a folder has 24 loose items or more, **Sort by set** suggests one folder per photo set. Nothing moves until you confirm. ### Edit a video On a video, **Edit video** lets you split, trim, mute, reorder and export clips in the browser (source up to 256 MB). Results are saved next to the original, which never changes. **Capture frame** saves a still as a Teaser. > Note: Deleting an item makes it unavailable in every script that used it. More on the [Vault and paid media feature page](https://lanachat.ai/landing/features/vault-and-paid-media/). --- ## Scripts: write, organize and use them _Library · 3 min read · Updated 2026-10-23 · https://lanachat.ai/guides/scripts/_ A script is a sequence of messages and media the AI sends to sell, step by step. Open **Scripts** in the Studio group of the sidebar. ### The list 1. Pick the creator in the selector at the top left. Scripts belong to one creator, and the page remembers the last one you opened. 2. Scripts are grouped in **folders**, each with its own table. Press **New folder** to add one; the **…** menu of a folder renames or deletes it. Deleting a folder keeps its scripts, they move to **No folder**. 3. Use **Filter by name** to find a script, **New script** to start one, or **Import script** to load a JSON export (several scripts at once are fine). Imported scripts land in **No folder**, active, never marked first, and available to all accounts. 4. In each row, the **Active** switch decides whether the script can be used, and the star in the **First** column marks the **first script**: the one a new fan receives first. Only one script per creator can be first. Starring another one moves the star, and pressing it again clears it. 5. The **…** menu of a row has Rename, Duplicate, Move to folder and Delete. A duplicate is never marked first. ![The Scripts list: scripts without a folder, then two folders](https://lanachat.ai/guides/img/scripts/scripts-list.png) ### Write a script 1. Click a row to open the editor. **‹ Scripts** at the top brings you back, and the **…** menu and the folder selector sit on the same line. 2. Edit the script name in place, then write the **Script goal** (what the sequence should achieve). 3. Write the first step: a **Step name**, the message or caption, and the delay before it is sent (Immediately, After 3 s, After 10 s, After 1 min, After 10 min, After 1 h or After 24 h). 4. Press **+ Add from Vault** in a step to attach media. It opens the same Vault dialog used by Message+: browse folders, search, filter All, Photos, Videos or Voice, and tick several items. Items already used in the script are flagged. 5. Press `Ctrl` + `Enter` (`⌘` + `Enter` on Mac) to add the next step. ![The script editor with three steps: a message, a free voice note and a paid photo](https://lanachat.ai/guides/img/scripts/editor.png) ### Set the price of a step **Unlock price** applies to the whole step: - **Vault price**: each item keeps the price set in the Vault. - **Free**. - **Paid**: one price in Stars (1 to 25,000) for everything in the step. ### Telegram accounts The **Telegram accounts** card in the editor chooses who can send the script: - **All accounts**: every Telegram account linked to this creator (the default). - **Only these**: tick at least one account. New accounts are not added automatically. ### Check before it goes out Switch from **Edit** to **Preview** to see "What the fan receives" as chat bubbles, with the delays applied. The page warns you, without blocking, when something looks wrong: an empty message, a paid step with no caption ("say what the fan unlocks"), more than 10 media in a step, a caption over 1,024 characters, a paid voice note, or a media deleted from the Vault. > Tip: A caption that tells the fan what he unlocks sells better than a bare price. ### Use it Scripts don't run from this page. Attach them in the creator's AI Brain, on the **Scripts** tab, to decide when each one can start. See [Scripts vs. AI](https://lanachat.ai/guides/scripts-vs-ai/). To try a script safely, chat with her in the [Playground](https://lanachat.ai/guides/playground/). Everything saves on its own as you type: the **Saved** chip at the bottom of the screen confirms it. More on the [Scripts feature page](https://lanachat.ai/landing/features/scripts/). --- ## Build a first-purchase script, step by step _Library · 4 min read · Updated 2026-10-23 · https://lanachat.ai/guides/first-purchase-script/_ A first-purchase script is the sequence a new fan receives before he has bought anything: a warm opener, a free taste, then a first paid media at an entry price. This guide builds one in about fifteen minutes, from the Vault to the AI Brain, and tests it before any fan sees it. ### Before you start - The creator exists, with an AI Brain linked to her. See [Create and link a brain](https://lanachat.ai/guides/create-and-link-a-brain/). - Her [Vault](https://lanachat.ai/guides/vault/) holds at least one **Teaser** item (free, to make him curious) and one **Paid** item with a price in Stars. > Tip: Pick the paid media for this script on purpose: a photo set or a short video that is easy to say yes to. Keep your premium media for the fans who already bought. ### 1. Create the script 1. Open **Scripts** in the Studio group of the sidebar and pick the creator at the top left. 2. Press **New folder** and call it *First purchase*, so this sequence and its variants stay together. 3. Press **New script**, then click its row to open the editor. 4. Rename it in place, for example *First purchase, evening*, and write the **Script goal**: *Turn a new fan into a buyer with one entry-price media.* ### 2. Write the steps Each step has a **Step name**, a message or caption, and a delay before it is sent. A simple first-purchase script has four steps. | Step | Delay | Content | Unlock price | |---|---|---|---| | Opener | Immediately | A short, warm line in her voice | Free | | Taste | After 1 min | A Teaser from the Vault, with a caption | Free | | First offer | After 10 min | The entry media, with a caption saying what he unlocks | Vault price | | Nudge | After 1 h | A light reminder, no new media | Free | 1. Write the **Opener**. One line, the way she would text, no price. 2. Press `Ctrl` + `Enter` (`⌘` + `Enter` on Mac) to add the next step. In **Taste**, press **+ Add from Vault** and tick the Teaser item. 3. In **First offer**, add the paid media and set **Unlock price** to **Vault price**, so the price set in the Vault applies. Choose **Paid** instead only if you want one price in Stars (1 to 25,000) for everything in the step. 4. Write the **Nudge**: a short line that brings the offer back without repeating it word for word. > Note: A paid step with no caption gets a warning ("say what the fan unlocks"). A caption that tells him what he gets sells better than a bare price. ### 3. Check what the fan will see Switch from **Edit** to **Preview**. "What the fan receives" shows the steps as chat bubbles, with the delays applied. Fix every warning the page shows: an empty message, a paid step with no caption, more than 10 media in a step, or a media deleted from the Vault. In the **Telegram accounts** card, keep **All accounts** unless this script is only meant for some of her accounts. ### 4. Make it the first script Back in the list, check that the **Active** switch is on, then press the star in the **First** column of its row. The starred script is the **first script**: the one a new fan receives first. Only one script per creator can be first; starring another one moves the star. ### 5. Decide when it can start Scripts are written in Scripts and attached in the AI Brain. Open **AI Brain**, the creator's brain, tab **Scripts**, then **Schedule & selection**: - turn on **Enable this script** and choose **Available to start**: Anytime, Daytime, Night or a custom schedule, in the creator's time zone; - leave **Default priority** as it is while this is her only first-purchase script. See [Scripts vs. AI](https://lanachat.ai/guides/scripts-vs-ai/) for how the AI moves between its own replies and your steps. ### 6. Test it in the Playground Open the [Playground](https://lanachat.ai/guides/playground/), pick the creator and write as a new fan. Check that the opener arrives first, that the Teaser comes free, and that the first offer goes out at the Vault price. Nothing you type there reaches Telegram. ### Then, every week - Open [Statistics](https://lanachat.ai/guides/statistics/), tab **Scripts**: sends, replies, reply rate, sales and revenue for each script. - Duplicate it to try a different opener or entry media (the **…** menu, **Duplicate**). A duplicate is never marked first, so the live script keeps running until you move the star. --- ## Playground: test a conversation safely _Library · 5 min read · Updated 2026-10-23 · https://lanachat.ai/guides/playground/_ The Playground lets you chat with a creator as if you were a fan: you write, and her AI Brain answers for real, with her persona, her scripts and her prices. Nothing goes to Telegram and no Stars are spent, so it is the safe place to check her before going live and after every change. ![The Playground: you play the fan, she answers, and a test offer arrives with its price in Stars](https://lanachat.ai/guides/img/playground/playground.png) ### When to use it - **Before going live**: one full test per creator. See the [Go-live checklist](https://lanachat.ai/guides/go-live-checklist/). - **After a change**: a new persona, a new tone, a new or edited script, new prices in the Vault. - **To compare two brains**: with the A/B test, below. ### Start a test 1. Open **Playground** in the sidebar: **Chatting**, **Tools**, **Playground**. 2. Pick the creator in the creator menu at the top of the sidebar. She needs a linked AI Brain; without one, the reply says to link one first. 3. Type in **Write as the fan would…** and press `Enter` (`Shift` + `Enter` for a new line). **Testing:** at the top names the brain that answers. From an AI Brain, **Try it** opens this page on a creator linked to that brain. Her replies arrive in bubbles with a typing delay, as on Telegram. Under the last bubble of each reply: how long it took, the **step** of the conversation she is in, and **AI saw:**, what the AI knew about the fan. ### Play a real fan - **Fan profile**, at the top right: his **Language**, **First name**, **Telegram Premium** and **Returning fan**. These change what the AI sees about him, so you can test a new fan and a regular one. - The tools under the box send what a fan sends: emoji, **Photos or videos** (up to 10 at once, photos up to 20 MB, videos up to 50 MB), a **voice message** (hold to record), a **video message**, a GIF or a sticker, and a forwarded message. - Rest the pointer on one of her bubbles to **react** to it with one of five reactions, or **Reply** to it, as a fan would. ### Test a sale When she offers paid media, you see a preview with its price in Stars and **Test offer**. - **Simulate purchase**: see what she does after a payment. - **Simulate decline**: see how she handles a no. No Stars are spent and nothing is sold. ### Compare two brains (A/B test) 1. Turn on **A/B test** next to the box. 2. Pick an AI Brain at the top of each pane, **A** and **B**. 3. Write in the shared box and press **Send to both** to compare the answers to the same message, or use **Send to A** or **Send to B** in a pane to reply to one side only. ### Start over **Reset** clears the conversation and starts a new test. Nothing changes on Telegram. In A/B mode both threads are emptied and your brain choices stay. You cannot switch creator while a reply is being written: wait for it to finish. ### When a reply does not come - **Held by the safety agent**: the message would have been blocked for a real fan too. Nothing was sent to the fan. - **Timed out** or **No reply**: press **Try again**. Your message stays in the thread; only her reply is asked again. > Tip: Change one thing at a time in the AI Brain, then send the same few messages again here. You see exactly what each change does. ### Limits - The Playground tests what she writes and offers. It sends nothing to Telegram, so connection, licence and balance problems do not show here. See [Troubleshooting: Lana does not reply](https://lanachat.ai/guides/lana-does-not-reply/). - Photos and videos you attach are cleared when the page reloads. - GIFs and stickers come from a small demo set. ### Who can use it Sending test messages needs the **Playground** permission ("Test creators in conversation"). **Reset** needs the right to edit AI Brains. A greyed control says which one is missing. See [Team and roles](https://lanachat.ai/guides/team-and-roles/). --- ## Live Convs: read, reply and take over _Chatting · 6 min read · Updated 2026-10-23 · https://lanachat.ai/guides/live-convs/_ Live Convs shows every conversation as it happens: the list on the left, the conversation in the middle, the fan's details on the right. Open it from the Chatting group of the sidebar. The creator you pick in the sidebar decides whose conversations you see; **All creators** mixes them, with the creator's name on each row. ### Find a conversation - **The account picker**, at the top of the list, chooses which Telegram account of the creator you work from. **All accounts · N** shows everything; pick one account to see only its conversations (the counter follows, and the rows stop repeating the account's name). Each entry shows the account's label, its @bot, a status dot (green connected, amber waiting, red connection issue, grey paused) and how many of its fans are waiting for a reply. Under **All creators** the accounts are grouped by creator. A creator with a single account shows it locked. Your choice is kept per creator: coming back to her finds the same account. - **Search** finds a fan. The **F / W** switch inside the field chooses where: **F** searches fan names and @usernames, **W** searches words in the messages. `Esc` clears it. - **Sort** (next to the title): Most recent, Waiting longest or Biggest spenders. - The quick filters say how many conversations each holds: **All**, **Awaiting reply**, **Human**, **AI**, **Script running**, **Unread**. - Under them, the list chips: one per fan list, with the number of fans waiting in it (within the chosen account). Click a chip to keep only those fans, click it again to see everyone. - **Follow up now**, at the top of the list, tells you who to write to first: fans ready to buy, buyers who went quiet after your message, top fans gone silent. Click a name to open him. Fold the block with its arrow. - **Load more** at the bottom shows the next conversations. Each row reads from left to right: - a round pill with what he spent (green), and under it his score: 0 to 3 dots, his chances to buy; - the coloured dots of his lists, his name, his @username; - how long he has been waiting for a reply: grey from 10 minutes, orange from 1 hour, red from 24 hours; - the small avatar of a colleague who is already replying to him; - his last message ("You:", "AI:" or "Script:" when the creator side wrote last); rest the pointer on it to read it in full; - the badges that matter: **minor · do not sell**, **opted out**, **AI stopped · reason**, **ready to close**, **ads bot** or **ig bot** (where he came from), **test**. ![Live Convs: the conversation list on the left, with the filter and list chips and the badges on each fan](https://lanachat.ai/guides/img/live-convs/conversation-list.png) ### Open it - Click a row to add it to **Multi-chat**, where you can follow up to 9 conversations side by side. - Use **Pin as a focus tab** to give one conversation its own tab. You can also drag a row onto the tab bar. - The **Sales** bell at the top right lists the latest sales of the creators in view. Click one to open the fan. ### The conversation The header shows his name (the pencil renames him for your team only), his @username, then **Replying as** the Telegram account this conversation belongs to (its label, its @bot and its status dot): a conversation always answers from its own account, whatever the picker shows. Then **AI working** or **AI paused**, and his score. On the right: search in the conversation (`Ctrl` + `F`, or `Cmd` + `F` on a Mac, then the arrows for previous and next), auto-translate (green when on), the media of the conversation, **SFW** to blur every media, the fan's details, pin and close. - **Auto-translate** shows his messages in English, with his original text in italics under it and the language (for example **FR**). - Under each bubble: who sent it (your first name, **AI** or **Script**) and the time. A scheduled message has a clock. **Not confirmed** means Telegram has not confirmed it yet; **Failed to send · Resend** lets you send it again; **Unsent** means it was pulled back. - Rest the pointer on a bubble: **Reply** quotes it in your answer, **…** offers **Unsend** (your message disappears for him) or **Delete for the fan too**. - A paid offer shows as a card: the price, **Paid** or **Unpaid**, and **Already bought** when he owns it. - "typing…" appears while the AI writes its answer. Strips above the box warn you: a colleague already replying, **AI paused, you're replying**, a minor (never sell), a fan in distress (**Alert a manager**), an opt-out, **AI has stopped** (with **Resume AI**), a reply window closing or closed, a fan who blocked the bot. ### Who replies: the AI, you or a script When the AI holds the conversation, the box is replaced by "Léa's AI is handling this conversation". Click **Take over manually** to write yourself: the AI pauses for this fan. The **AI replies** switch and **Hand back to AI** give it back. > Note: Typing a message is a Human takeover too. While you type, the fan sees "typing…" on Telegram. ### Reply yourself Type in the box ("Reply as Léa…") and press `Enter` (`Shift` + `Enter` for a new line). Your message goes out from the creator's real Telegram account. - The emojis above the box are her quick emojis: click to insert, drag one (or `Alt` + arrow) to reorder them. - **Scripts** runs a script or inserts one of its steps. **Macros** are ready-made replies in folders (Openers, Selling, Objections, Aftercare), with their price, and some can be sent as a voice note. - Under the box: emoji, **Insert the fan's name** (`{first_name}`), **GIF** (search, then click one), **Vault**, **Bubble** (coming soon), **Voice note** (write what she says, **Listen**, then send), **Schedule** (pick a time: the box says "Will send at …" and Send becomes Schedule), then the round Send button. - **Vault** picks up to 10 photos and videos, or one voice note. Media he already received are marked **Sent** or **Bought**. Choose **Free**, or **Paid** with a price in Stars. The media wait above the box until you press Send. > Note: Telegram only allows replies within 24 hours of the fan's latest message. When the window is closed, wait for him to write again. If replying is unavailable, the box says why. When the account itself is the reason (paused, connection issue, business connection not confirmed, replies not allowed), the line under the box adds **Open in Telegram Accounts**: it takes you to that creator's accounts to fix it. See [Connect Telegram accounts](https://lanachat.ai/guides/connect-telegram/). ### Run a script on a conversation 1. Click **Scripts** above the box. The creator's scripts open, with their steps, waits and prices. 2. Click **Insert** on a step to put it in the reply box, to edit before sending. 3. Or click **Run script** to send the whole script to this fan. The bar shows "Step 2 of 4 · next in 10 min". 4. **Pause**, **Resume** or **Stop** it from the same bar. Stopping gives the conversation back to the AI. > Note: A script runs while the Console is open in a browser. Scripts are written on the [Scripts](https://lanachat.ai/guides/scripts/) page. ### Fan details The "i" in the header opens his details on the right (a panel on smaller screens, a full page on a phone). The name, the pencil to rename him and his language (Auto, or forced) sit on top, then three tabs: - **Insights**: his lists (add or remove him; lists filled by a rule say "auto"), where he came from, where he is, the other creators he talks to, when he started, what he spent, his profile (age, job, income, wants, status, mood, interests, turn-ons, kinks, payday), his Telegram details, what was collected from the conversation (**Edit** to correct it), your tags and your notes. Notes start with a label, for example "Payday: the 1st". Tags and notes are saved as you type and only your team sees them. - **Sales**: last spend, average paid offer, purchases, highest spend, highest and lowest price paid, his spending habits per week (click the arrows to open the chart larger) and the offers sent. - **Creator**: the creator's persona and her rules, and a link to her AI Brain. ### Who can do what Team members need "Reply manually" to write and take over, "Pause the AI on a conversation" to hand back, "Send media from the Vault" for media, GIFs and voice notes, and "Send paid media" for paid offers. A greyed control says which permission is missing. See [Team and roles](https://lanachat.ai/guides/team-and-roles/). More on the [Live Convs feature page](https://lanachat.ai/landing/features/live-convs/). --- ## Fans: lists, statuses and VIPs _Chatting · 3 min read · Updated 2026-10-23 · https://lanachat.ai/guides/fans/_ **Fans** lists everyone who wrote to your creators, with what they spent and where their conversation stands. Open **Fans List** under Tools, in the Chatting group of the sidebar. ### Browse and search - Pick a creator on the left, or keep all of them. - The tabs at the top are your fan lists: **All fans**, then each list you made. - Use **Search fans** to find someone by name or username. Pages hold 100 fans; use **Previous** and **Next**. Each row shows the fan, creator, Telegram account, lists, total spent and the time of his last message. Click a row to see his conversation status, AI flags, verified purchases and total spent. ![The Fans List with one fan opened: his lists, AI flags, verified purchases and total spent](https://lanachat.ai/guides/img/fans/fan-expanded.png) ### Statuses A status tag tells you why the AI is or isn't talking to a fan: - **OFF** (Underage, Crisis / distress, Coercion, Illegal request, Asked to stop): the AI stopped for good reason. Don't restart it. - **Review** (Age unclear, Needs clarification): someone should look at the conversation. - **Restricted · Safety hold**, **Paused · Staff**, **Awaiting staff**, **Paused · Human takeover**: a person is in charge. - **OFF · Converted** or **OFF · Lost**: the conversation is over. ### Make a VIP list (or any list) Lists are how you group fans: VIPs, timewasters, fans to win back. 1. Press **New list** and give it a name. 2. Add fans by hand: tick them, then **Add to list**. 3. Or turn on **Add fans automatically** and set conditions, for example **Total spent** above an amount for VIPs. Choose whether fans must match **All conditions** or **Any condition**. 4. Choose what happens **When a fan stops matching**: remove him or keep him. > Tip: Fans added by hand or by an AI Brain lead agent are never removed by the rules. > Note: A list still used by an AI Brain cannot be deleted. Deleting a list never deletes fans or conversations. Use your lists as the audience of a [Message+](https://lanachat.ai/guides/message-plus/) send. --- ## When a fan is a minor, in distress or asks to stop _Chatting · 4 min read · Updated 2026-10-23 · https://lanachat.ai/guides/minor-distress-or-stop/_ When a fan appears to be under 18, seems to be in distress, or asks not to be contacted, the AI stops selling or stops talking to him, and the Console marks him so your team sees it. This guide lists what the Console shows and does on its own, and what your team is expected to do. ### What the Console shows **In Fans**, a status tag says why the AI is or isn't talking to a fan: - **OFF · Underage**, **OFF · Crisis / distress**, **OFF · Coercion**, **OFF · Illegal request**, **OFF · Asked to stop**: the AI stopped for this reason. - **Review · Age unclear** or **Review · Needs clarification**: someone should look at the conversation. - **Restricted · Safety hold** or **Awaiting staff**: a person is in charge. **In Live Convs**, on the conversation row, badges such as **minor · do not sell**, **opted out** and **AI stopped · reason**. Inside the conversation, strips above the reply box: - **Minor: never sell or send explicit content to this fan** - **Distress detected in his last messages. A manager should take over.**, with an **Alert a manager** button - **He opted out: nothing can be sent to him** - **AI has stopped**, with the reason ### What the Console blocks on its own - **No paid content to a fan flagged as a minor.** Paid media from the Vault and paid macros are refused for him, whatever the role of the person sending. The Console says "This fan is flagged as a minor: no paid content." - **Nothing can be sent to a fan who opted out.** - **Follow up now**, at the top of the Live Convs list, never suggests a fan flagged as a minor, a fan who opted out, or a fan who blocked the bot. ### What your team should do #### A fan flagged as a minor, or Age unclear 1. Do not sell to him and do not send him explicit content, in any form. 2. Do not restart the AI on him and do not take over to keep the conversation going. 3. If the tag says **Review · Age unclear**, read the conversation and have a manager decide. Do not sell while it is under review. #### A fan in distress 1. Press **Alert a manager** on the strip. The Console confirms: "Manager alerted. They get this conversation at the top of their list." 2. The manager reads the conversation and takes it over in person. No selling, no offers, no scripts. 3. Reply calmly and briefly, or not at all if a reply could make things worse. Follow your agency's own policy for these situations. #### A fan who asks to stop, or opted out 1. Do not write to him again, by hand or by any automation. 2. Leave him out of your Message+ sends and follow-ups. #### Coercion or an illegal request The AI stopped on purpose. Have a manager read the conversation. Do not restart the AI and do not continue the conversation to sell. > Warning: A fan marked **OFF** for one of these reasons must stay off. Never press **Resume AI** or **Hand back to AI** on him, and never move him back into a sales script. ### Who can act Writing or taking over needs "Reply manually"; paid media also needs "Send paid media", and the minor block applies even then. See [Team and roles](https://lanachat.ai/guides/team-and-roles/). --- ## Message+: mass DMs and scheduling _Chatting · 3 min read · Updated 2026-10-23 · https://lanachat.ai/guides/message-plus/_ Message+ sends a message, or a short sequence of messages, to many fans of one creator at once. Open it from the Chatting group of the sidebar. It has three tabs: **Mass DM**, **Nudge** (coming soon) and **Weekly plan**. ### Write the sequence 1. Pick the creator. 2. Write the first message. Use **Insert** to add the fan's **First name**, the **Creator name**, the **Username** or a **Variation** such as `{Hi|Hey|Hello}`, so every fan gets a slightly different text. 3. Add more messages if you want (up to 16), each with a **Wait** of 0 to 60 minutes after the previous one. 4. **Add media or pack** opens the Vault: up to 10 photos or videos, a whole folder as a pack, or one free voice message on its own. Set it **Free** or **Paid** (1 to 25,000 Stars). Save what you wrote as a **Preset** to reuse it later. ![A Mass DM of two messages, the second with a paid pack of two photos](https://lanachat.ai/guides/img/message-plus/mass-dm.png) ### Choose the audience Pick **All fans** or one of your fan lists. The count tells you how many fans can be messaged now, how many are outside the 24-hour window and how many are excluded. > Warning: One send is limited to 800 fans. Above that, choose a fan list to narrow the audience. ### Choose when - **Send now** - **Schedule once**: a date and a time. - **Every day** or **Weekly** on the days you pick. Times use your computer's time zone. **Stop when the fan replies** is on by default, so a fan who answers is not interrupted by the next message. Press **Launch sequence** (or **Schedule sequence**) and confirm. Sends run on the server and keep going when the Console is closed. ### Follow and stop **Scheduled & recent** shows each send with its counts: sent, pending, paused after reply, failed. Use **View recipients**, or **Stop sequence** to cancel what hasn't gone yet. **Weekly plan** shows your repeating sends on a Monday to Sunday grid. Press **+** on a day to plan a new one. > Note: Delivery depends on each fan's 24-hour reply window. Fans who haven't written in the last 24 hours are skipped. More on the [Mass DM and nudges feature page](https://lanachat.ai/landing/features/mass-dm-and-nudges/). --- ## Weekly plan: never miss an evening _Chatting · 4 min read · Updated 2026-10-23 · https://lanachat.ai/guides/weekly-plan/_ The **Weekly plan** shows every Mass DM that repeats each week for a creator, on a Monday to Sunday grid, so you see at once which evenings have nothing planned. Press **+** on an empty day to fill it in a few clicks. ### Read the grid Open **Message+** in the Chatting group of the sidebar, then the **Weekly plan** tab, and pick the creator. - Each day says how many sends are planned, or **Nothing planned**. - The counter at the top reads, for example, **5 / 7 days covered**. - Each send shows its time, its name, the creator, the number of messages, **Every day** or **Weekly**, and its time zone. - **Refresh** reloads the plan. Only repeating sends appear here. A one-time send is listed under **Mass DM**, in **Scheduled & recent**. ### Plan a send on an empty day 1. Press **+** on the day (for example Sunday). You can also press **Add Mass DM** at the top. 2. The Mass DM editor opens with **Weekly** and that day already selected. Write your messages: up to 16, with a **Wait** of 0 to 60 minutes between them, and media from the Vault if you want. 3. Choose the audience: **All fans** or one of your fan lists. One send reaches at most 800 fans. 4. In **Schedule**, check the time and tick other days if the same send should repeat on them. **Every day** repeats it all week. 5. Leave **Stop when the fan replies** on (see below). 6. Press **Schedule sequence** and confirm. **← Back to the weekly plan** takes you back to the grid, where the day now shows the send. Times use your computer's time zone, and daylight saving adjusts automatically. Sends run on the server and keep going when the Console is closed. > Tip: Start with the evenings your fans spend the most, then fill the empty days one by one until the counter reads 7 / 7. ### Stop when the fan replies This switch is on by default. When a fan answers, his remaining messages and the future repeats are cancelled for him until you reactivate him. So a fan who answers is never interrupted by the next scheduled message. To bring a fan back into a weekly send, open the send under **Scheduled & recent**, press **View recipients**, and press **Resume next scheduled run** next to his name (he shows **Paused after reply**). ### Change or remove a send Click a send on the grid to see its messages, days, time and status. 1. Press **Remove from schedule**. 2. Read the warning: it stops all remaining messages and every future repeat, on every selected day of this send. Messages already sent stay in the conversations. 3. Press **Confirm cancellation**, or **Keep schedule** to leave it as it is. To change the text or the days, remove the send and plan it again. Delivery depends on each fan's 24-hour reply window. Fans who haven't written in the last 24 hours are skipped on that run. More on the [Mass DM and nudges feature page](https://lanachat.ai/landing/features/mass-dm-and-nudges/). --- ## Tracking: links, domains and analytics _Chatting · 3 min read · Updated 2026-10-23 · https://lanachat.ai/guides/tracking-links/_ **Tracking** follows your traffic from A to Z: the link a fan clicks, the domain it lives on, the Telegram account he lands on, and what he buys. Open **Tracking links** under Tools, in the Chatting group of the sidebar. ### The page - At the top, the **creator filter**: pick one creator, or **All creators** for the whole agency. It applies to every tab, and the page remembers your last choice. - On the right, the main action of the tab you are on (**New link**, **Add domain**, **Export CSV**…). - The tabs: **Links**, **Domains**, **Analytics** and **Pixels & events**. The load of each Telegram pool is in [Telegram Accounts](https://lanachat.ai/guides/telegram-accounts/), tab **Pool load**. ### Create a link 1. Open the **Links** tab and press **New link**. 2. **Link details**: - **Link name**, for you. - **Public link**: pick the **domain** (only verified domains can be used; the default one is preselected), then the **slug**, the end of the link. The slug is generated from the name; it accepts lowercase letters, numbers and dashes, and must be unique. The full link is shown under the field. - **Traffic source**: Instagram, TikTok, Snapchat, Meta, Google, Reddit, X, Other, or your own. - **Campaign** (optional). - **Telegram destination**: one precise account, or the creator's **Telegram pool**, which spreads new conversations across her accounts automatically. Only connected accounts with a username can be chosen. - **UTM parameters**: source, medium and campaign are filled in from the traffic source and campaign. Change them if your ads team uses its own naming. 3. **Pixels** (optional): connect a Meta, TikTok, Snap or Google Ads pixel to report conversions to your ads. Or press **Create without pixels**. While something is missing, the create button stays grey; hover it to see what is missing. A wrong value (a slug already used, a pending domain) is explained in red at the bottom of the window. ![The New tracking link window on its first step, Link details](https://lanachat.ai/guides/img/tracking-links/new-link.png) ### Read the results The tiles above the table add up the links of the filter: **Clicks**, **Conversations**, **Buyers** and **Revenue**, with **lifetime value per fan** (what a fan spends over time). The table gives the same numbers per link, with its destination and source. Search by URL, slug, name, source or destination. Over 10 links, choose 10, 25 or 50 rows per page. To change a link, press the pencil: **Save changes** stays grey until you change something. If you try to leave with unsaved changes, the Console asks you to save or discard them first. **Archive** stops new clicks; existing attribution and revenue stay in your reports. > Note: Lifetime value uses first-touch attribution and verified Telegram Stars purchases: a fan belongs to the first link he clicked. Conversations without an intact link token stay unattributed. ### Use your own domain The **Domains** tab lists the domains your links can use, with their status (**Verified**, **Pending DNS** or **Error**), their SSL certificate and how many active links use them. The star marks the default domain for new links. 1. Press **Add domain** and type a subdomain you own, for example `go.youragency.com`. A root domain such as `youragency.com` cannot be used. 2. Add the two records shown at your DNS provider: a **CNAME** from your subdomain to `links.lanachat.app`, and a **TXT** record `lanachat-verify=…` that proves the domain is yours. Each line has a **Copy** button. 3. Press **Check DNS**. DNS changes can take a few minutes, sometimes up to 24 hours: press it again later, or use **Verify again** in the table. Once verified, the SSL certificate is issued automatically. > Tip: A domain still used by active links cannot be removed: move those links to another domain first. The LanaChat domain is always available and cannot be removed. ### Analytics Pick **7 days**, **30 days** or **90 days**. The tab shows, for the creator filter: - the totals of the period and the **daily trend** of clicks, conversations and buyers (hover a day, or use the arrow keys, to read it); - the **funnel**: Clicks, Started conversation, First message, Buyer, with the rate of each step; - **clicks** and **revenue by source** (Instagram, TikTok, Snapchat, Meta, X, Other); - the **top 10 links** of the period, with their conversion rate, buyers, revenue and lifetime value. **Export CSV** downloads the day-by-day numbers of every link of the filter. ### Pixels A pixel can send **Confirmed purchases**, **First Telegram message**, or both. Its status reads Connected, Needs setup, Delivery failing or Not connected. Only new events after setup are sent, and messages, media and usernames are never sent. More on the [Tracking links feature page](https://lanachat.ai/landing/features/tracking-links/). --- ## Track a new ad campaign from click to sale _Chatting · 4 min read · Updated 2026-10-23 · https://lanachat.ai/guides/track-a-new-ad-campaign/_ To know which ad brings paying fans, give every ad set its own tracking link before the campaign starts. This guide sets up a new campaign in Tracking links, tests it, and shows where to read clicks, conversations, buyers and revenue per ad. ### Before you start - The creator has at least one **Connected** Telegram account with a username. See [Connect Telegram accounts](https://lanachat.ai/guides/connect-telegram/). - You know the ad sets of the campaign and the name your ads team gives it. - Optional: your own link domain is **Verified** in the **Domains** tab. Without one, the LanaChat domain works. ### 1. Plan one link per ad set One link for the whole campaign gives you one number for the whole budget. One link per ad set tells you which one to cut. Name the links so anyone can read them, for example *Emma FR Meta story test 1*: creator, market, network, placement, number. ### 2. Create the first link 1. Open **Tracking links** under Tools, in the Chatting group of the sidebar, and pick the creator in the filter at the top. 2. In the **Links** tab, press **New link**. 3. Fill in **Link details**: - **Link name**: the name you planned. - **Public link**: the domain, then the slug. The slug is generated from the name; keep it short. - **Traffic source**: the ad network, for example Meta or TikTok. - **Campaign**: the campaign name your ads team uses. - **Telegram destination**: the creator's **Telegram pool** if the campaign may bring many fans at once, or one precise account. - **UTM parameters**: filled in from the source and campaign. Change them only if your ads team uses its own naming. 4. **Pixels**: switch on your ad network's pixel to report the first message and confirmed purchases back to the ads, or press **Create without pixels**. A pixel is connected once for the workspace, in the **Pixels & events** tab. While something is missing, the create button stays grey; hover it to see what. Repeat for every ad set. To go faster, keep the same campaign and source, and change only the name and the slug. ### 3. Check the pool before spending If the links point at a pool, open [Telegram Accounts](https://lanachat.ai/guides/telegram-accounts/), tab **Pool load**. Each account shows its messages this hour against the ceiling of 2,000: amber from 80 % (slowed), red from 95 % (paused until the next hour). A campaign that will send many fans at once needs enough accounts in the pool. ### 4. Put the links in the ads Use the full tracking link as the destination of each ad, never the bare t.me address of the account, or the click is not counted. The full link is shown under the **Public link** field of each link. ### 5. Test one link yourself From a Telegram account that is not a fan, open the link, start the conversation and write a message. The link's row then counts the click and the conversation. If a pixel is on, its status in **Pixels & events** should read **Connected**. ### 6. Read the results - **Links tab**: the tiles add up **Clicks**, **Conversations**, **Buyers** and **Revenue** for the filter, and the table gives the same numbers per link. - **Analytics tab**: pick **7 days**, **30 days** or **90 days** for the daily trend, the funnel (Clicks, Started conversation, First message, Buyer) and the revenue by source. - **Export CSV** downloads the day-by-day numbers of every link, for your ads report. > Note: A fan belongs to the first link he clicked, and revenue counts verified Telegram Stars purchases. Totals will not match Ads Manager exactly, because each ad network has its own attribution windows: compare trends. ### 7. Close the campaign When an ad set stops, press the pencil on its link and **Archive** it. Archiving stops new clicks; the attribution and revenue already recorded stay in your reports. For the next campaign, create new links rather than reusing old ones. More on the [Tracking links feature page](https://lanachat.ai/landing/features/tracking-links/). --- ## Custom events for your ads _Chatting · 4 min read · Updated 2026-10-23 · https://lanachat.ai/guides/custom-events-for-ads/_ A custom event sends your own signal to Meta, TikTok or Snap when something you care about happens in a Telegram conversation: a fan's 10th message, a sale above $50, a tag added to the fan. Your ad platform can then optimise on the fans who matter, not only on clicks. ### Before you start Custom events go through the pixels you connected for the workspace. Open **Tracking links** (under Tools, in the Chatting group of the sidebar), then the **Pixels & events** tab. Each network has its card: **Meta Pixel + Conversions API**, **TikTok Pixel + Events API**, **Snap Pixel + CAPI**. Paste the pixel ID and the access token there. Then switch the pixel on for each link that should report, in the link editor (see [Track a new ad campaign](https://lanachat.ai/guides/track-a-new-ad-campaign/)). The table **Events sent automatically** already covers the basics: **Lead** (conversation started), **Contact** (first message from the fan) and **Purchase** (each sale, with value and currency). They are marked **Built in**. ### Check delivery before you spend 1. In your ad platform's events manager, copy the test event code it gives you. 2. Paste it in **Test event code** (optional) on the network's card in **Pixels & events**. 3. Press **Send test event**. 4. Read the answer under the card: **Test event accepted** or **Test event rejected**, with the platform's response. The platform's response says why: most often an expired access token or a wrong pixel ID. > Tip: Send a test event every time you add a pixel or replace a token, and before you put money behind a new campaign. A pixel that receives nothing cannot optimise anything. ### Add a custom event 1. Press **Add custom event**. You need at least one connected pixel. 2. **Event name**: letters, digits and underscores, starting with a letter, for example `BigSpender`. 3. **Trigger**, one of: - **Sale of at least $X**: set the **Minimum sale ($)**, 50 by default. - **Fan sends their Nth message**: set the **Message number**, 2 or more (10 by default). - **Tag added to the fan**: type the **Tag**, for example `VIP`. - **Offer viewed**: no value to set. 4. **Networks**: tick where it goes. Only connected networks can be ticked. 5. **Parameters sent**: **event_id** is always sent, so the same event is never counted twice. Add **external_id** (the hashed Telegram user ID), **value**, **currency** or **content_id** (the offer ID) if your platform uses them. 6. Press **Add event**. The event joins the table with one switch per network, so you can turn it off for one platform without deleting it. **Delete** removes a custom event. ### Which event to choose - **Fan sends their Nth message**: a fan who reaches his 10th message is engaged. Good for optimising cheap traffic toward real conversations. - **Sale of at least $X**: teaches the platform what a big spender looks like. - **Tag added to the fan**: tags you or your team add in the fan's details in Live Convs, such as `VIP`. ### Good to know - Events are sent server to server, and only new events after setup are sent. - Messages, media and usernames never leave LanaChat. - In the EU, the UK and Switzerland, ad events need the fan's prior consent. Choose how it is asked in the **Consent** block at the bottom of the tab. - **Last 7 days** shows how many events your links sent. --- ## Share for Share (SFS) _Chatting · 4 min read · Updated 2026-10-23 · https://lanachat.ai/guides/share-for-share/_ Share for Share is a promo swap: two creators post each other's story at the same time, so fans discover the other creator and both lists grow. The **SFS** screen in the Console is where you find a partner creator, propose a swap and set what other agencies see about yours. > Note: SFS is an early preview. Today your proposals, requests and listing are saved in this browser only and are not yet sent to other agencies, and the marketplace shows sample profiles. The screen itself says when a part (export, history, picking media from the Vault) comes later. Open it from the sidebar: **Chatting**, **Tools**, **SFS**. The page has three tabs: **Marketplace**, **My requests** and **My listing**. ### Find a partner (Marketplace) Each card shows a creator of another agency: her name, market and niche, **Open to SFS** or **Busy until** a day, her fans, her fans active in the last 24 hours, her rating and her languages, with a small chart of active fans over the last 7 days. - **Search creators or niches** finds a name or a theme. - Filter by **Markets** (several at once), **Language** and **Size** (Under 1k fans, 1k to 5k, 5k to 20k, 20k+), and keep **Open now** on to hide creators who are busy. - **Sort by** Active 24 h, Fans, Rating or Recently active. - **Clear filters** brings everyone back. Click a card (or **View**) for her profile: her market and languages, **Best posting hours**, fans and active fans over the last 7 days, her past shares and the average number of fans each one brought, and the **Audience overlap** with each of your creators. > Tip: Low overlap means more new fans for both creators. Prefer a partner whose overlap with your creator reads **Low**. ### Propose a share 1. Press **+ Propose a share** at the top right, or **Propose a share** on a profile. 2. Pick **Your creator** and the creator to swap **With** (only creators open to SFS are listed). 3. Set the **Date** and **Time**, in the future. Both stories stay up 24 hours. 4. Write what your creator posts about the partner, and what you would like them to say about yours. 5. Add a **Message**: a short note to the other agency. 6. Press **Send proposal**. Each of your creators can send 5 proposals a day. A creator marked **Busy until** a day cannot receive one until then. ### Follow your proposals (My requests) The table lists every proposal, **Sent** or **Received**, with your creator, the partner, the slot and the status. - A received proposal says **Waiting for you**: press **Accept** (the status becomes **Scheduled**: both stories are scheduled) or **Decline**. - A proposal you sent and that is still **Sent** can be cancelled with **Cancel**. - Once a swap is accepted, scheduled or done, **Open story** takes you to the stories of your Telegram accounts. ### What other agencies see (My listing) One card per creator of yours, with her fans and her fans active in the last 24 hours. - **Visible in the marketplace**: turn it off to hide her. Hidden creators can still send proposals; other agencies just don't see them. - **Niche** and **Languages**: what her card says. - **Open to SFS**: turn it off and set **Busy until** a date when she should not receive proposals. --- ## Reading your numbers (Stars, net earnings, conversions) _Dashboard · 2 min read · Updated 2026-10-23 · https://lanachat.ai/guides/reading-your-numbers/_ The Dashboard shows revenue, conversations and sales for the period and creators you picked. It refreshes on its own every minute. ### The main number The large tile at the top is your revenue for the period: - In **Dollars**: **Estimated total revenue**. - In **Stars**: **Stars earned**, or **Total equivalent Stars** when Fangate earnings are included. Under it: the number of confirmed sales and of Telegram fans who bought. > Note: Dollars are an estimate at about $0.013 per Star. It is not the price fans pay to buy Stars. Switch between Dollars and Stars with **Display currency** in your account menu. ### The other tiles - **Telegram new conversations**: fans who started a conversation in the period, counted once per fan. - **Average sale**: net earnings per confirmed sale. - **Telegram buyer rate**: the share of active fans who bought. This is your conversion rate. - **Confirmed sales**, **Telegram buying fans**, **Active Telegram fans**, **Messages received**. - **Safety stops**: conversations the AI stopped for safety reasons. - **Segments**: buyers against fans with no purchase. ![The Dashboard: total equivalent Stars and the charts for the period](https://lanachat.ai/guides/img/reading-your-numbers/dashboard.png) ### The charts - **Hourly net earnings**: when in the day your fans buy. - **Daily** (or **Hourly**) **Telegram new conversations**. - **Average sale · trend**. - **Telegram new conversations and revenue** on one chart. ### Net earnings "Net earnings" is what you earn on a sale. In the [Sales log](https://lanachat.ai/guides/sales-log/), hover an amount to see what the customer paid. ### Make it yours The Dashboard settings live in [Agency settings](https://lanachat.ai/guides/agency-settings/), tab **Dashboard** (agency owner only): **Lines** or **Bars**, chart colours, and a **Layout** mode. With Layout mode on, drag a card on the Dashboard to move it and drag its corner to resize it, then press **Done**. **Reset** puts everything back. Settings are saved for the whole workspace. > Tip: The Scripts, Media, Follow-ups and Openers tiles say "This breakdown is not available yet." They will fill in later. --- ## Date ranges, creators filter, Compare _Dashboard · 2 min read · Updated 2026-10-23 · https://lanachat.ai/guides/date-ranges-filter-compare/_ Three controls decide what the Dashboard shows: the creator picked in the sidebar, the period and the comparison. ### Choose the creator The Dashboard follows the creator picker at the top of the sidebar. Keep **All creators** to see the whole workspace, or pick one creator: every number on the page is then hers. The picker shows one creator at a time. ![The creator picker at the top of the sidebar, open: All creators or one creator](https://lanachat.ai/guides/img/date-ranges-filter-compare/creator-picker.png) ### Choose the period Open the date button and pick **All time**, **Today**, **Yesterday**, **Last 7 days**, **Last 30 days**, **Last 90 days** or **This month**. For another range, click a start day then an end day on the calendar: the range applies at once. A range can cover up to 93 days, and **All time** reads the last 93 days. ### Compare two periods or two creators 1. Open the date button and turn on **Compare with previous period**. 2. The **Compare** panel opens. **A** is your current selection. Choose what **B** is: **Period** (**Previous period**, or another range) or **Creators**. 3. Four cards compare A and B: **Revenue**, **Conversations**, **Average sale** and **Sales**, with the change in %. Press **Exit compare** to go back to the normal view. --- ## Sales log _Dashboard · 2 min read · Updated 2026-10-23 · https://lanachat.ai/guides/sales-log/_ The **Sales logs** table at the bottom of the Dashboard lists every sale in the period and creators you selected, from Telegram and Fangate, newest first. ### What each column means - **Date**: when the sale happened. - **Source**: **Telegram** (Stars) or **Fangate**. - **Creator**: who made the sale. - **Content**: what the fan bought. - **Fan**: who bought it. - **Net earnings**: what you earn on this sale. Hover it to see the **Customer payment**. - **Status**: where the payment stands. ![The Sales logs table with Telegram and Fangate rows](https://lanachat.ai/guides/img/sales-log/sales-logs.png) ### Things to know - Amounts stay in their original currency: Stars for Telegram, and the currency of the payment for Fangate. They are not converted in this table. - Use **Previous** and **Next** to move between pages. The newest sales are always on the first page. - The table follows the period and creators chosen at the top of the Dashboard. Change them and the list updates. - No sales in your selection? The table says "No sales in this selection". Widen the period or pick more creators. > Tip: To find out which ad brought a sale, look at the revenue per link in [Tracking links](https://lanachat.ai/guides/tracking-links/). --- ## Statistics: your agency's numbers _Dashboard · 3 min read · Updated 2026-10-23 · https://lanachat.ai/guides/statistics/_ **Statistics** (Tools, in the sidebar) is the analysis of your agency over time. The Dashboard shows the live picture of the day; Statistics shows how a period went (the last 30 days by default, any range of up to 93 days), compares it with the period before, follows a fan from the click to the repeat purchase, splits the revenue by creator, source and fan, reads the rhythm of your conversations, measures your scripts and AI Brains, and exports the figures. ### The controls - **Tabs** (top left, they stay in view while you scroll): Overview, Creators, Funnel, Revenue, Conversations and Scripts. The period, the comparison, the creator and the export apply to every tab. - **Date range** (top right): the same date button as the Dashboard. Open it and pick **Last 30 days** (the default), **Last 7 days**, **Last 90 days**, **Today**, **Yesterday**, **This month** or **All time** (the last 93 days), or click a start day and an end day on the calendar for a custom range (up to 93 days, in your local time). The line under the tabs shows the exact dates. - **Compare with previous period** (the switch at the bottom of the date button): on, each tile shows how the figure moved against the period of the same length just before (green arrow up, red arrow down) and the tables get a *vs previous* column; off, the comparison disappears. - **Creator**: the page follows the creator picked at the top of the sidebar. **All creators** means the whole agency. - **Export CSV**: downloads the tab you are on, for the date range and creator shown (the dates are in the file name). Amounts are written in Stars and in dollars. - **Dollars or Stars**: the display currency of the sidebar applies here too (1 Star counts for $0.013, like in Billing). ### Creators One row per creator of your agency, for the period: **creator** (with her photo), **revenue**, **sales**, **average sale**, **new conversations**, **buyers** (paying fans), **conversion** (paying fans among the active fans), **AI replies** and, when *Compare* is on, the **change in revenue** against the previous period. With *All creators* selected, the revenues add up to the Revenue tile of the Overview. - Click a column title to sort; click it again to reverse. Creators with no activity stay in the table (at zero). - Click a row (or the creator's name) to switch the whole page to that creator: the sidebar picker follows, and every tab now shows only her. Pick *All creators* in the sidebar to come back. - Past 10 creators the table gets a footer to change page and show 10, 25 or 50 rows. - The table always lists every creator, even when one is selected; her row is highlighted. - On a phone, each creator is a card and the columns are listed inside it. ### Overview Six tiles, each with its change against the previous period: 1. **New conversations**: fans who wrote for the first time in the period. 2. **Active fans**: fans who exchanged at least one message in the period. 3. **Messages sent**: every message sent to the fans, with the share written by the AI Brain and the share written by your team. 4. **Revenue**: what the selected creators received in the period. 5. **Paying fans**: the share of active fans who paid at least once in the period. 6. **Median first reply**: how fast a new conversation got its first answer. Here, a drop is good news and is shown in green. Below, **New conversations per day** (bars), **Revenue per day** (line) and **Messages by hour** (24 columns, in your local time). Hover a bar or a point to read the date and the value. The days add up to the tiles above. ### Funnel The five steps a fan goes through, with the share of the previous step and the share of the total: 1. **Clicks** on your tracking links. 2. **New conversations**: the fans who wrote. 3. **Engaged**: fans who sent 3 messages or more. 4. **Paying**: fans who paid at least once. 5. **Repeat buyers**: fans who paid a second time. Under the steps, **By traffic source** gives the same five figures for each source (Meta Ads, TikTok, Instagram...), with the conversion (paying fans among the new conversations) and the revenue; **By tracking link** does the same for each of your tracking links. Click a column title to sort. The funnel follows the fans who started a conversation in the period, so its sources add up to the New conversations tile. ### Revenue Five tiles: **Revenue**, **Paying fans**, **ARPPU** (revenue per paying fan), **Average sale** and **Refunds** (shown apart: the revenue is already net of them). Each tile carries its change against the previous period. - **Revenue per day**: stacked columns, the part closed by the AI Brain on its own and the part closed by your team (manual). - **By creator** and **By traffic source**: revenue, sales, paying fans, ARPPU and, with the comparison on, the change against the previous period. Click a column title to sort. - **Top 10 fans**: the fans who paid the most in the period, with a shortened name, their purchases and their last purchase. A name you can click opens the conversation in Live Convs. - **Lifetime value by week of arrival**: for the fans who arrived in each of the last 4 weeks, the Stars received per fan day after day since their first message. A younger cohort has a shorter line; a line that climbs faster than the older ones means the newcomers pay sooner. ### Conversations Six tiles: **Conversations** (fans who exchanged at least one message), **Messages sent**, **AI share**, **Handovers to a human**, **Median first reply** and the **slowest 10 %** of first replies. - **Messages by weekday and hour**: a heatmap of 7 rows (Monday to Sunday) and 24 columns, in your local time; the darker the cell, the more messages. The switch at the top shows **New conversations** instead. Under the map, the **busiest** and the **quietest** hour of the week. - **AI and human messages per day**, **Handovers to a human per day**: how much of the chatting the team takes over. - **Messages per conversation**: how many fans got 1, 2 to 3, 4 to 10 or more than 10 messages. - **Fan languages**: from the market of the Telegram account the fan arrived on. ### Scripts - **Scripts vs AI Brain**: the share of the period's revenue closed by a script and the share the AI Brain closed on its own. - **Scripts**: for each script, how many times it was sent, the replies and the reply rate, the sales, the revenue, the revenue per send and the last 7 days of sends. Click the name to open the script in Scripts; a script that no longer exists is listed without a link. - **AI Brain**: for each brain, the new conversations it handled, its conversion, its revenue and the messages exchanged before the first sale, on average. ### How the figures are counted - **Paying fans** is the number of fans who paid at least once in the period, divided by the active fans of the period. - **Conversion**, in the Funnel tables, is the number of paying fans divided by the number of new conversations of that source or link. - **Traffic sources** come from the Telegram account the fan arrived on; **tracking links** from the link the fan clicked. Fans who came without a link count in their source, not in any link. - **ARPPU** is the revenue divided by the paying fans of the period; **Average sale** is the revenue divided by the number of sales. - **Handovers** count the conversations where the team took over from the AI Brain, in the period. - **Reply rate** is the number of fans who answered a script divided by the number of times it was sent. - A period without any activity shows **No activity in this period**, with a button to open the last 90 days. > Tip: To compare your traffic sources fairly, open the Funnel, sort **By traffic source** on Conversion and keep the period at 30 days or more: a few days of data is too short to judge a source. More on the [Analytics feature page](https://lanachat.ai/landing/features/analytics/). --- ## Team Management: employees and roles _Team & access · 2 min read · Updated 2026-10-23 · https://lanachat.ai/guides/team-and-roles/_ **Team Management** (under **Users** in the sidebar) is where you add your team and decide what each member can see and do. It has three tabs: **Team**, **Roles** and **Agency structure**. ### Add a member 1. On the **Team** tab, press **Add member**. A window opens in the middle of the screen. 2. Under **Identity**, fill in **First name** and **Email** (both required), then **Last name** and **Branch** if you want. 3. Under **Role**, pick a card: **Manager**, **Chatter** or one of your custom roles. Each card lists what the role can do. 4. Under **Creators assigned**, tick the creators they work on. Telegram accounts and traffic share can be set later in their profile. 5. Leave **Active** on so they can sign in, then press **Add member**. Nothing is created before that: **Cancel** leaves the team as it was. 6. In the next step, press **Create access key**, then **Copy**, and share the key privately: see [Personal access keys](https://lanachat.ai/guides/personal-access-keys/). ![The Add a team member window, scrolled to Role, Creators assigned and Active](https://lanachat.ai/guides/img/team-and-roles/add-member.png) > Tip: The table opens on **Active** members. Switch to **All** or **Disabled** at any time, search by name, and sort by any column, such as **Revenue, 30 days** or **Last active**. Use the arrows under the table to change page, and **Rows** to show 10, 25 or 50 members. Press a member's name to open their profile on the right: identity, access, role, creators and traffic share. ### Roles and overrides A member's permissions come from their role. Press **Edit roles** to change what a role allows: see [Custom roles](https://lanachat.ai/guides/custom-roles/). For a one-off exception, press **Override for this member** and flip the switches you need. The role then no longer applies to that person. **Use role permissions** puts them back on their role. ### Share traffic When several chatters work on the same creator, set each one's **Traffic share** under **Creators**. ### Agency structure Branches group your team (a city, a shift). Each card shows its manager, members, creators and 30-day earnings. Press **Add branch**, then drag a member onto a card, or use **Move to**. ### Disable or delete Turn off **Active** to cut access at once: the role and creators are kept. **Delete** in the row menu removes the member and unassigns their creators. > Note: Only the agency owner can change access and permissions. More on the [Team and roles feature page](https://lanachat.ai/landing/features/team-and-roles/). --- ## Custom roles and the permission table _Team & access · 2 min read · Updated 2026-10-23 · https://lanachat.ai/guides/custom-roles/_ A role decides what its members can do. You set roles once on the **Roles** tab of **Team Management**, then give each member one. ### The permission table Each column is a role, each row a permission. Rows are grouped by area: **Dashboard**, **Creators**, **AI Brain**, **Conversations**, **Vault**, **Scripts**, **Playground**, **Telegram** and **Employees**. Tick or untick a box: the change applies at once to every member with that role, except members with their own overrides. ![The Roles tab: one column per role, one row per permission](https://lanachat.ai/guides/img/custom-roles/roles.png) > Note: **Owner** always has every permission and cannot be edited. **Manager** and **Chatter** are built in: you can change their permissions but not rename or delete them. ### Create a role 1. Press **New custom role**. 2. Enter a **Name** (for example "Night chatter") and pick a **Colour**. 3. In **Copy permissions from**, choose an existing role to start from, or **No permissions**. 4. Press **Create role**, then adjust its boxes in the table. > Tip: Rights on conversations, creator profiles and the Vault only apply to the creators assigned to each member. ### Rename or delete a role Open the role's menu at the top of its column: - **Rename** changes its name or colour. - **Delete** removes it. A role still in use can't be deleted: give its members another role first. ### Give a role to a member Open the member in the **Team** tab and pick the role under **Role**. For a single exception, use **Override for this member**: see [Team Management](https://lanachat.ai/guides/team-and-roles/). > Note: **View employee directory** lets someone see the whole team. Usually only the Owner role has it. --- ## Personal access keys _Team & access · 2 min read · Updated 2026-10-23 · https://lanachat.ai/guides/personal-access-keys/_ Team members don't use a password. Each one signs in with a **personal access key** that you, the agency owner, create and can revoke at any time. The key opens your workspace with the role and creators set on their card. ### Give someone a key Open the member in **Team Management** and find the **Personal access key** card in the **Access** section. **Active** must be on. - **Send invitation** emails a key to the address on their card. Save an email address first. - **Generate key** shows a key you share yourself: 1. Press **Generate key**, then **Create key** to confirm. 2. The window shows the **Sign-in page** address and the **Access key**. 3. Press **Copy key** and send both to the person through a channel you trust. 4. Press **Done**. > Warning: A key is shown only once. If it is lost, generate a new one. Any previous key for this member stops working. ![A member's profile, Access section: the Personal access key with Send invitation, Generate key and Revoke](https://lanachat.ai/guides/img/personal-access-keys/access-key-card.png) > Tip: From the **Team** table, the row menu also offers **Reset access key** for an active member. ### How the member signs in 1. They open the sign-in page and press **Use an access key** (or go straight to the **Join your workspace** page). 2. They paste the key in **Access key**. 3. They land in the console and see only what their role allows. If the key is wrong or revoked, the page says so. They need a new key from you. ### Take access away Press **Revoke** on the card and confirm. Their key and open sessions stop working immediately. To pause someone while keeping everything set up, turn off **Active** instead. > Note: Disabling a member or revoking their key both cut access at once. --- ## Agency settings _Team & access · 2 min read · Updated 2026-10-23 · https://lanachat.ai/guides/agency-settings/_ **Agency settings** (in Users, between Billing and Team Management) holds the settings of the whole agency. It has four tabs. > Note: Only the agency owner can open this page. Team members don't see it in the sidebar. ### General Your agency name, its logo, its timezone (used for daily totals, payouts and reports) and the default display currency for new team members. Change what you need, then press **Save changes**. **Discard** puts the saved values back. ### Dashboard How the Dashboard looks for the workspace: **Lines** or **Bars**, the chart colours (**Edit** opens the colour editor), and **Layout mode**. These apply immediately, no Save needed. With Layout mode on, open the Dashboard to move and resize the cards, then press **Done**. **Reset** puts everything back. ### Payments Your payment links: a label, the address, an optional creator and a switch to turn a link off. Press **Add link**, or **⋯** on a row to edit or remove it, then **Save changes**. Fans pay your agency directly, in Telegram Stars or through these links: LanaChat never holds this money and only takes its share from your prepaid balance (see [Billing](https://lanachat.ai/guides/billing/)). ### Integrations Connect **Fangate** and **Dropp Fans** with an API key from their own settings. Paste the key and press **Save key**. After that, only its last 4 characters are shown: to change it press **Replace**, to stop it press **Disconnect**. **Test connection** checks that the key still works. The **Telegram** card shows the LanaChat support bot. > Warning: An API key works like a password. Never send it in a chat or an email. > Tip: If you leave a tab with unsaved changes, LanaChat asks you to save or discard them first. ### Telegram balance Agency settings → **Telegram balance** shows the Stars held by Telegram on each bot or account linked to LanaChat: **Total available**, **Pending** (Telegram holds Stars for 21 days) and **Withdrawn this month**, with the dollar equivalent, then the balance of each bot or account and the **Withdrawal history**. - Withdrawals are paid by Telegram, in TON, to the bot owner's wallet: LanaChat never holds your Stars. - **Notifications**: get a Telegram (from @lanachat_support_bot) or e-mail alert when a bot reaches your threshold (5,000 ★ by default). Press Save. ### Agency logo Upload a PNG, JPG or WebP (up to 5 MB, at least 128 × 128 px), crop it in the square window, then press Save. --- ## Run several chatters on one creator _Team & access · 4 min read · Updated 2026-10-23 · https://lanachat.ai/guides/several-chatters-one-creator/_ A busy creator often needs more than one chatter. This guide shows how to give several people the same creator, split her conversations between them, and see who closed each sale. ### 1. Give each chatter the right role Every member gets one role in **Team Management** (under **Users** in the sidebar). The built-in **Chatter** role is made for people who reply to fans and send media. Need something narrower, such as a night shift that cannot send paid media? Create a role of your own: see [Custom roles](https://lanachat.ai/guides/custom-roles/). Rights on conversations, creator profiles and the Vault only ever apply to the creators assigned to each member. A chatter never sees the fans of a creator they are not on. ### 2. Put them on the creator 1. On the **Team** tab, press a member's name to open their profile. 2. Under **Creators**, turn the creator on. 3. Under **Telegram accounts**, keep **All accounts · including future accounts**, or pick only some of her accounts. A chatter only sees and replies on the accounts selected. 4. Repeat for each chatter who works on her. ### 3. Share the traffic When several chatters work on the same creator, each one's **Traffic share** decides how many of her conversations go to them. It sits under the creator, in the member's profile. 1. Set the share with the slider or type it, from 0 to 100% in steps of 5. 2. Read the line under it: about how many conversations that gives, how much is **still available**, and who already took the rest ("already taken: Ana 40%"). 3. Do the same for the other chatters until **everything is allocated**. Each conversation is routed to one chatter, so your chatters do not step on each other's fans. > Warning: On one Telegram account, the shares of all chatters cannot add up to more than 100%. If you ask for more, the line turns red ("60% requested, 40% available") and names who holds the rest. Lower someone else's share first. ### 4. Group them in branches On the **Agency structure** tab, branches group your team: a city, a shift, a site. Press **Add branch**, then drag a member onto a card or use **Move to**. Each card shows its manager, members, creators and 30-day earnings. Under the cards, each creator's revenue is split by chatter, and the part of her conversations nobody holds shows as **Not covered**. ### 5. See who closed the sale LanaChat counts a sale for whoever sent the paid offer (the locked media, the price or the payment link): - An offer Lana sent herself is an **AI sale**. - An offer a chatter sent from [Live Convs](https://lanachat.ai/guides/live-convs/), or a script step sent, is a **manual sale**, at the lower rate. - If Lana sent the offer and a chatter took over later, the sale is still Lana's. Under every paid offer in Live Convs, a line says who sent it, for example "Sent by you · 4% tier". In **Billing**, **Activity**, filter sales by **Sent by AI** or **Sent by human**. The full rules: [AI sale or manual sale?](https://lanachat.ai/guides/ai-sale-or-manual-sale/). ### Compare your chatters The **Team** table sorts by **Revenue, 30 days** and **Last active**, so you can see at a glance who sells and who is online. Turn off **Active** on a member to cut their access at once while keeping their role and creators. More: [Team Management: employees and roles](https://lanachat.ai/guides/team-and-roles/). --- ## LanaChat API: quick start, authentication and errors _API · 8 min read · Updated 2026-10-23 · https://lanachat.ai/guides/api-overview/_ Everything your team does in the Console, your code can do too. The LanaChat API reads and changes your whole workspace: creators, Telegram accounts, AI Brains, scripts, the Vault, fans and conversations, tracking links, billing and your team. It is plain JSON over HTTPS, one URL per resource, with the same permissions as the Console. Webhooks push events to your server, and the MCP server lets an AI assistant such as Claude or Cursor work in your workspace with the same token. > Note: This is the public API reference. Endpoints marked **Planned** are the published contract the backend is built from: they do not answer yet. The [MCP connection](https://lanachat.ai/guides/api-mcp/) uses the same access tokens. ### What you can build - A sales dashboard in your own tools: today's revenue per creator, per link, per source. - Alerts in Slack or Telegram when a fan buys, when a conversation needs review, or when an account loses its connection. - A setup script that adds a creator, connects her accounts, uploads her Vault and writes her first script. - A tracking pipeline: create one link per ad, read clicks, conversations and buyers every hour. - An AI assistant that drafts scripts and persona changes for you to review, through [MCP](https://lanachat.ai/guides/api-mcp/). ### Quick start in 5 minutes 1. In the Console, open **Users › API & MCP** and press **Create token**. 2. Name it (for example "Reporting script"), choose **Custom permissions** and tick what it needs, for example **Read fans and conversations** and **Read sales**. 3. Save, then press **Copy token**. The token is shown once. **4. Keep it in an environment variable**, so it never sits in your code: ```bash export LANACHAT_TOKEN="lc_live_8f2c1d0e9b7a4c6f" ``` **5. Make your first call.** It returns your workspace and what the token may do: ```bash curl https://api.lanachat.ai/v1/workspace \ -H "Authorization: Bearer $LANACHAT_TOKEN" ``` ```js const res = await fetch('https://api.lanachat.ai/v1/workspace', { headers: { Authorization: `Bearer ${process.env.LANACHAT_TOKEN}` }, }); if (!res.ok) throw new Error((await res.json()).error.message); const workspace = await res.json(); console.log(workspace.name, workspace.token.permissions); ``` ```python import os import requests r = requests.get( "https://api.lanachat.ai/v1/workspace", headers={"Authorization": f"Bearer {os.environ['LANACHAT_TOKEN']}"}, timeout=30, ) r.raise_for_status() print(r.json()["name"]) ``` ```json { "id": "ws_7Hq2", "name": "Mia Agency", "kind": "agency", "timezone": "Europe/Paris", "token": { "id": "tok_31", "name": "Reporting script", "permissions": ["can_fan_read", "can_sales_read"], "expires_at": "2027-01-06T00:00:00Z" } } ``` That's it: every other endpoint works the same way. Ready-made scripts are in [API quick recipes](https://lanachat.ai/guides/api-recipes/). ### Every resource | Resource | What it covers | Guide | |---|---|---| | Workspace | `GET /workspace`: the workspace and the token's permissions | This page | | Creators | Creators, identity, persona and setup progress | [Creators](https://lanachat.ai/guides/api-creators/) | | Telegram accounts | Accounts, pools, pool settings and stories | [Telegram accounts](https://lanachat.ai/guides/api-telegram-accounts/) | | AI Brains | Brains, drafts, publishing, versions and the Playground | [AI Brains](https://lanachat.ai/guides/api-ai-brains/) | | Scripts | Scripts, steps and folders | [Scripts](https://lanachat.ai/guides/api-scripts/) | | Vault | Media, folders and signed uploads | [Vault](https://lanachat.ai/guides/api-vault/) | | Fans and conversations | Fans, lists, sales of a fan, messages, takeover | [Conversations](https://lanachat.ai/guides/api-conversations/) | | Tracking | Links, domains, pixels, events and stats | [Tracking](https://lanachat.ai/guides/api-tracking/) | | Billing | Balance, ledger, deposits, licences, withdrawals, invoices | [Billing](https://lanachat.ai/guides/api-billing/) | | Team | Members, roles and access tokens | [Team](https://lanachat.ai/guides/api-team/) | | Webhooks | Events pushed to your server, signatures and retries | [Webhooks](https://lanachat.ai/guides/api-webhooks/) | | MCP | The server for AI assistants and its tools | [MCP](https://lanachat.ai/guides/api-mcp/) | ### Base URL and versions Every path in these guides is relative to: ```text https://api.lanachat.ai/v1 ``` The version is in the path. A breaking change gets a new version (`/v2`); new fields and new endpoints are added to `/v1` without notice, so ignore the fields you do not know. ### Authentication Every request carries your token in the `Authorization` header, after the word `Bearer`: ```text Authorization: Bearer lc_live_8f2c1d0e9b7a4c6f ``` - Create, edit, rotate and revoke tokens in **Users › API & MCP**, or with the [token endpoints](https://lanachat.ai/guides/api-team/). Only the workspace owner and agency owners can open that page. - A token is shown once, when you create it. Store it like a password; **Rotate** or **Revoke** it from the same page. - A request without a valid token answers `401`. A token without the permission an endpoint needs answers `403`. - Tokens never go in a URL or in browser code: call the API from your server. - Use one token per script or assistant, so each can be changed or revoked on its own. ### Workspaces A token belongs to one workspace, the one it was created in. Every request reads and writes that workspace only; there is no workspace id in the paths. An owner token (the workspace that manages several agencies) may act on one of its agencies with the header `LanaChat-Workspace: ws_…`; any other token sending that header gets `403`. ### Permissions Each endpoint lists the permission it needs. They are the ones you tick when you create a token: | Permission | In the Console | Gives | |---|---|---| | `can_setup` | Manage workspace setup | Creators, media, Telegram accounts, scripts and team members | | `can_engine` | Access AI configuration | AI Brain drafts, scripts' AI settings and tests | | `can_publish` | Publish AI Brain drafts | Publishing a brain draft (needs `can_engine`) | | `can_ai_test` | Test Advanced AI drafts | Trying drafts that use Advanced AI (owner workspace only) | | `can_ai_tune` | Adjust Advanced AI settings | Changing the Advanced AI sensitivity settings (owner workspace only) | | `can_ai_publish` | Publish Advanced AI profiles | Publishing profiles that use Advanced AI (owner workspace only) | | `can_commercial_reports` | Read commercial experiment reports | Experiments and their review reports (owner workspace only) | | `can_fan_read` | Read fans and conversations | Fans, conversations and messages, read only | | `can_fan_import` | Import fan history | Importing past fans and messages | | `can_sales_read` | Read sales | Sales, stats and the dashboard numbers | | `can_chat` | New: Chat with fans | Sending messages, reactions and taking over a conversation | | `can_tracking` | New: Manage tracking | Links, domains, pools, pixels and events | | `owner` | Owner token | Billing, roles, webhooks and access tokens; only the workspace owner can create it | - Turning **Access AI configuration** (`can_engine`) off also turns off publishing, Advanced AI and experiment reports. - `can_chat`, `can_tracking` and the `owner` token are planned: the Console does not offer them yet. ### Requests and responses - Bodies are JSON (`Content-Type: application/json`), in UTF-8. Uploads go through a [signed URL](https://lanachat.ai/guides/api-vault/), never through the API itself. - Ids are strings with a prefix that says what they are: `cr_` creator, `acc_` Telegram account, `pool_`, `sto_` story, `br_` brain, `scr_` script, `med_` media, `fan_`, `conv_` conversation, `msg_`, `lnk_` link, `px_` pixel, `mem_` member, `tok_` token. - Times are ISO 8601 in UTC (`2026-10-06T14:05:00Z`). Days in stats are UTC days. - Money is in US cents (`amount_cents: 1900` is $19.00). Telegram Stars are whole numbers (`stars: 250`). - `PATCH` changes only the fields you send. `PUT` replaces the whole object. - A `POST` that creates something answers `201` with the new object; other successful calls answer `200`. ### Pagination Every list answers one page and a cursor to the next one: ```bash curl "https://api.lanachat.ai/v1/fans?limit=50&cursor=eyJpZCI6ImZhbl85MjAifQ" \ -H "Authorization: Bearer $LANACHAT_TOKEN" ``` ```json { "data": [ { "id": "fan_921", "display_name": "Marco", "creator_id": "cr_lea" } ], "next_cursor": "eyJpZCI6ImZhbl85NzAifQ" } ``` - `limit` is 1 to 100, 25 by default. - `next_cursor` is `null` on the last page. A cursor is opaque: pass it back as it is, never build one. - Lists are sorted newest first unless the endpoint says otherwise. To read every page, loop until `next_cursor` is `null`: ```js async function all(path) { const items = []; let cursor = null; do { const url = new URL('https://api.lanachat.ai/v1' + path); url.searchParams.set('limit', '100'); if (cursor) url.searchParams.set('cursor', cursor); const res = await fetch(url, { headers: { Authorization: `Bearer ${process.env.LANACHAT_TOKEN}` } }); if (!res.ok) throw new Error((await res.json()).error.message); const page = await res.json(); items.push(...page.data); cursor = page.next_cursor; } while (cursor); return items; } const fans = await all('/fans?creator_id=cr_lea'); ``` ```python import os import requests def all_items(path, **params): items, cursor = [], None while True: r = requests.get( "https://api.lanachat.ai/v1" + path, params={**params, "limit": 100, **({"cursor": cursor} if cursor else {})}, headers={"Authorization": f"Bearer {os.environ['LANACHAT_TOKEN']}"}, timeout=30, ) r.raise_for_status() page = r.json() items += page["data"] cursor = page["next_cursor"] if not cursor: return items fans = all_items("/fans", creator_id="cr_lea") ``` ### Errors An error answers a 4xx or 5xx status and always the same body: ```json { "error": { "code": "insufficient_balance", "message": "Your balance is $12.40 and this pack costs $170.00. Top up first." } } ``` | Status | `code` | When | |---|---|---| | 400 | `invalid_request` | A field is missing or has the wrong format; `message` says which | | 401 | `unauthorized` | No token, or a revoked or expired token | | 402 | `insufficient_balance` | The balance does not cover a purchase | | 403 | `forbidden` | The token lacks the permission the endpoint needs | | 404 | `not_found` | The id does not exist in this workspace | | 409 | `conflict` | The change would break a rule (a duplicate slug, the last sending account of a creator) | | 429 | `rate_limited` | Too many requests; wait for `Retry-After` seconds | | 500 | `server_error` | Our side failed; retry later with the same `Idempotency-Key` | `message` is a plain English sentence you can show to a person. Branch your code on `code`, never on `message`. ### Rate limits Each token may send **600 requests per minute**. Every answer carries `RateLimit-Limit`, `RateLimit-Remaining` and `RateLimit-Reset` (seconds until the window resets). Above the limit the API answers `429` with a `Retry-After` header. Sending a message to a fan is also bound by Telegram's own limits: see the [pool rules](https://lanachat.ai/guides/api-telegram-accounts/). A small helper that waits and tries again on `429` and `5xx`: ```js async function lanachat(method, path, body) { const key = crypto.randomUUID(); // one key per action: a retry never does the work twice for (let attempt = 0; attempt < 5; attempt++) { const res = await fetch('https://api.lanachat.ai/v1' + path, { method, headers: { Authorization: `Bearer ${process.env.LANACHAT_TOKEN}`, 'Content-Type': 'application/json', ...(method === 'POST' ? { 'Idempotency-Key': key } : {}), }, body: body ? JSON.stringify(body) : undefined, }); if (res.status === 429 || res.status >= 500) { const wait = Number(res.headers.get('Retry-After')) || 2 ** attempt; await new Promise((r) => setTimeout(r, wait * 1000)); continue; } const data = await res.json(); if (!res.ok) throw Object.assign(new Error(data.error.message), { code: data.error.code, status: res.status }); return data; } throw new Error('LanaChat API: too many retries'); } ``` Use it everywhere: `await lanachat('GET', '/creators')`, `await lanachat('POST', '/links', { … })`. ### Idempotency Send an `Idempotency-Key` header (any unique string up to 255 characters, a UUID is fine) on every `POST`. If the same key comes back within 24 hours, the API answers the first result again instead of doing the work twice: a network error never sends a message or buys a pack twice. ```bash curl -X POST https://api.lanachat.ai/v1/billing/licences/buy \ -H "Authorization: Bearer $LANACHAT_TOKEN" \ -H "Idempotency-Key: 4b7f2a8e-1c3d-4e5f-9a0b-6c7d8e9f0a1b" \ -H "Content-Type: application/json" \ -d '{"pack": 10, "qty": 1}' ``` The same key with a different body answers `409`. In a shell, `$(uuidgen)` makes a fresh key for each new action. ### Webhooks Instead of asking the API every minute, let LanaChat call you. A webhook sends an HTTPS `POST` to your server when a fan writes for the first time, buys, is refunded, when a media is ready or an account loses its connection. Every delivery is signed (HMAC-SHA256) and retried for 24 hours. The events, payloads and the signature check in Node and Python are in [Webhooks](https://lanachat.ai/guides/api-webhooks/). ### MCP for AI assistants MCP is an open standard that lets an AI assistant use tools in an app. LanaChat's MCP server lets Claude, Cursor or any MCP client read your creators, draft scripts, edit a brain draft and read your sales, with the same access token and the same permissions. In Claude Code, one command connects it: ```bash claude mcp add --transport http lanachat https://app.lanachat.ai/mcp \ --header "Authorization: Bearer $LANACHAT_TOKEN" ``` The configuration for every assistant and the list of tools are in [API & MCP](https://lanachat.ai/guides/api-mcp/). --- ## API quick recipes: copy, paste, run _API · 7 min read · Updated 2026-10-23 · https://lanachat.ai/guides/api-recipes/_ Eight complete recipes for the jobs agencies automate first. Each one is ready to copy, in cURL and in JavaScript (Node 20 or later, no library). Set your token once, as in the [quick start](https://lanachat.ai/guides/api-overview/), and every block runs as it is. ```bash export LANACHAT_TOKEN="lc_live_8f2c1d0e9b7a4c6f" ``` The JavaScript recipes use this small helper. Paste it once at the top of your file: ```js const API = 'https://api.lanachat.ai/v1'; async function lanachat(method, path, body) { const res = await fetch(API + path, { method, headers: { Authorization: `Bearer ${process.env.LANACHAT_TOKEN}`, 'Content-Type': 'application/json', ...(method === 'POST' ? { 'Idempotency-Key': crypto.randomUUID() } : {}), }, body: body ? JSON.stringify(body) : undefined, }); const data = await res.json(); if (!res.ok) throw new Error(`${res.status} ${data.error.code}: ${data.error.message}`); return data; } ``` ### 1. Add a creator and connect her Telegram account Needs `can_setup`, and an **owner** token for the licence (step 4). Create the creator, fill her identity, add her account with its bot token, then give the account a licence so it can reply. ```bash # 1. the creator curl -X POST https://api.lanachat.ai/v1/creators \ -H "Authorization: Bearer $LANACHAT_TOKEN" -H "Idempotency-Key: $(uuidgen)" -H "Content-Type: application/json" \ -d '{"name": "Lea", "timezone": "Europe/Paris"}' # 2. her identity (she must be 18 or older) curl -X PUT https://api.lanachat.ai/v1/creators/cr_lea/identity \ -H "Authorization: Bearer $LANACHAT_TOKEN" -H "Content-Type: application/json" \ -d '{"first_name": "Lea", "date_of_birth": "2001-04-12", "nationality": "FR", "languages": ["fr", "en"]}' # 3. her Telegram account curl -X POST https://api.lanachat.ai/v1/accounts \ -H "Authorization: Bearer $LANACHAT_TOKEN" -H "Idempotency-Key: $(uuidgen)" -H "Content-Type: application/json" \ -d '{"creator_id": "cr_lea", "bot_token": "", "market": "fr", "traffic": "instagram"}' # 4. a licence from your stock curl -X POST https://api.lanachat.ai/v1/billing/licences/assign \ -H "Authorization: Bearer $LANACHAT_TOKEN" -H "Idempotency-Key: $(uuidgen)" -H "Content-Type: application/json" \ -d '{"account_id": "acc_1001"}' ``` ```js const creator = await lanachat('POST', '/creators', { name: 'Lea', timezone: 'Europe/Paris' }); await lanachat('PUT', `/creators/${creator.id}/identity`, { first_name: 'Lea', date_of_birth: '2001-04-12', nationality: 'FR', languages: ['fr', 'en'], }); const account = await lanachat('POST', '/accounts', { creator_id: creator.id, bot_token: process.env.BOT_TOKEN, market: 'fr', traffic: 'instagram', }); await lanachat('POST', '/billing/licences/assign', { account_id: account.id }); console.log(account.id, account.health); // "pending" until she confirms in Telegram ``` The account stays `pending` until the creator confirms the business connection in her Telegram settings. A [webhook](https://lanachat.ai/guides/api-webhooks/) tells you when it turns `connected`: the event `account.health_changed`. See [Telegram accounts](https://lanachat.ai/guides/api-telegram-accounts/) and [Billing](https://lanachat.ai/guides/api-billing/). ### 2. Read today's sales Needs `can_sales_read`. `/stats` gives the totals of a day, per link and per source; Stars count at $0.013 each in net sales. ```bash TODAY=$(date -u +%F) curl "https://api.lanachat.ai/v1/stats?from=$TODAY&to=$TODAY" \ -H "Authorization: Bearer $LANACHAT_TOKEN" ``` ```js const today = new Date().toISOString().slice(0, 10); const stats = await lanachat('GET', `/stats?from=${today}&to=${today}`); const stars = stats.days.reduce((sum, d) => sum + d.revenue_stars, 0); console.log(`${stars} Stars today, about $${(stars * 0.013).toFixed(2)}`); for (const l of stats.links) console.log(l.link_id, l.buyers, 'buyers', l.revenue_stars, 'Stars'); ``` Add `creator_id=cr_lea` for one creator. Days are UTC days. To get each sale the moment it happens, use recipe 6. ### 3. Send a message to a fan Needs `can_chat`. Find the conversation, then send. A message sent through the API counts as sent by a person and takes the conversation over until you give it back (recipe 4). ```bash # conversations of Lea with unread messages curl "https://api.lanachat.ai/v1/conversations?creator_id=cr_lea&unread=true" \ -H "Authorization: Bearer $LANACHAT_TOKEN" # send a text and a paid photo curl -X POST https://api.lanachat.ai/v1/conversations/conv_1001_88231/messages \ -H "Authorization: Bearer $LANACHAT_TOKEN" -H "Idempotency-Key: $(uuidgen)" -H "Content-Type: application/json" \ -d '{"text": "Only for you, tonight", "media": [{"id": "med_5522", "stars": 250}]}' ``` ```js const { data: convs } = await lanachat('GET', '/conversations?creator_id=cr_lea&unread=true'); const conv = convs[0]; const msg = await lanachat('POST', `/conversations/${conv.id}/messages`, { text: 'Only for you, tonight', media: [{ id: 'med_5522', stars: 250 }], }); console.log(msg.status); // "queued", then "sent" and "read" ``` Add `"send_at"` (ISO 8601, up to 7 days ahead) to schedule it. See [Conversations](https://lanachat.ai/guides/api-conversations/). ### 4. Take over a conversation, then give it back to the AI Needs `can_chat`. While a person holds the conversation, the AI does not answer this fan. ```bash curl -X POST https://api.lanachat.ai/v1/conversations/conv_1001_88231/takeover \ -H "Authorization: Bearer $LANACHAT_TOKEN" -H "Idempotency-Key: $(uuidgen)" # ... your team replies ... curl -X POST https://api.lanachat.ai/v1/conversations/conv_1001_88231/release \ -H "Authorization: Bearer $LANACHAT_TOKEN" -H "Idempotency-Key: $(uuidgen)" ``` ```js const id = 'conv_1001_88231'; await lanachat('POST', `/conversations/${id}/takeover`); // state: "human" // ... your team replies ... await lanachat('POST', `/conversations/${id}/release`); // back to the AI ``` A conversation stopped for a safety reason cannot be given back to the AI: the API answers `409`. ### 5. Create a tracking link Needs `can_tracking`. One link per ad or per bio, so you know which one sells. ```bash curl -X POST https://api.lanachat.ai/v1/links \ -H "Authorization: Bearer $LANACHAT_TOKEN" -H "Idempotency-Key: $(uuidgen)" -H "Content-Type: application/json" \ -d '{"name": "Insta bio · Lea", "slug": "lea-bio", "creator_id": "cr_lea", "source": "instagram", "destination": "pool"}' ``` ```js const link = await lanachat('POST', '/links', { name: 'Insta bio · Lea', slug: 'lea-bio', creator_id: 'cr_lea', source: 'instagram', destination: 'pool', }); console.log(link.public_url); // put this URL in her bio ``` Add `"domain"` to use one of your verified domains. Read its clicks, conversations and buyers with `GET /links/{id}` or `/stats`. See [Tracking](https://lanachat.ai/guides/api-tracking/). ### 6. Get every sale on your server, as it happens Needs an **owner** token to add the endpoint. LanaChat sends a signed `POST` for each verified sale and each refund. ```bash curl -X POST https://api.lanachat.ai/v1/webhooks \ -H "Authorization: Bearer $LANACHAT_TOKEN" -H "Idempotency-Key: $(uuidgen)" -H "Content-Type: application/json" \ -d '{"url": "https://hooks.mia-agency.com/lanachat/webhook", "events": ["sale.completed", "sale.refunded"]}' ``` ```js import express from 'express'; import { createHmac, timingSafeEqual } from 'node:crypto'; // once: add the endpoint (keep the secret of the answer as LANACHAT_WEBHOOK_SECRET) // await lanachat('POST', '/webhooks', { url: 'https://hooks.mia-agency.com/lanachat/webhook', events: ['sale.completed', 'sale.refunded'] }); // the receiver: check the signature, answer 200 fast, then work function verify(raw, header, secret) { const parts = (header || '').split(',').map((p) => p.trim().split('=')); const t = parts.find(([k]) => k === 't')?.[1]; if (!t || !(Math.abs(Date.now() / 1000 - Number(t)) < 300)) return false; const want = createHmac('sha256', secret).update(t + '.').update(raw).digest('hex'); return parts.some(([k, v]) => k === 'v1' && v.length === want.length && timingSafeEqual(Buffer.from(v), Buffer.from(want))); } const app = express(); app.post('/lanachat/webhook', express.raw({ type: 'application/json' }), (req, res) => { if (!verify(req.body, req.get('LanaChat-Signature'), process.env.LANACHAT_WEBHOOK_SECRET)) return res.sendStatus(400); res.sendStatus(200); const event = JSON.parse(req.body); if (event.type === 'sale.completed') console.log('Sale:', event.data.stars, 'Stars,', event.data.creator_id, event.data.sent_by); if (event.type === 'sale.refunded') console.log('Refund of', event.data.sale_id); }); app.listen(3000); ``` The signing secret comes once, in the answer of the first call: store it as `LANACHAT_WEBHOOK_SECRET`. Press **Test** (`POST /webhooks/{id}/test`) to receive a `ping`. Python, retries and every event are in [Webhooks](https://lanachat.ai/guides/api-webhooks/). ### 7. Upload a photo to the Vault and price it Needs `can_setup`. Ask for an upload URL, send the file there, confirm, then set its price. ```bash # 1. upload URL curl -X POST https://api.lanachat.ai/v1/media/uploads \ -H "Authorization: Bearer $LANACHAT_TOKEN" -H "Idempotency-Key: $(uuidgen)" -H "Content-Type: application/json" \ -d '{"creator_id": "cr_lea", "file_name": "beach-01.jpg", "content_type": "image/jpeg", "size_bytes": 2483201}' # 2. the file, to the "url" of the answer (no Authorization header there) curl -X PUT "" -H "Content-Type: image/jpeg" --data-binary @beach-01.jpg # 3. confirm, 4. price it curl -X POST https://api.lanachat.ai/v1/media/uploads/up_7781/complete \ -H "Authorization: Bearer $LANACHAT_TOKEN" -H "Idempotency-Key: $(uuidgen)" curl -X PATCH https://api.lanachat.ai/v1/media/med_5521 \ -H "Authorization: Bearer $LANACHAT_TOKEN" -H "Content-Type: application/json" \ -d '{"access": "paid", "stars": 300, "description": "Beach, golden hour, white bikini"}' ``` ```js import { readFile, stat } from 'node:fs/promises'; const file = 'beach-01.jpg'; const up = await lanachat('POST', '/media/uploads', { creator_id: 'cr_lea', file_name: file, content_type: 'image/jpeg', size_bytes: (await stat(file)).size, }); const put = await fetch(up.url, { method: up.method, headers: up.headers, body: await readFile(file) }); if (!put.ok) throw new Error('Upload failed: ' + put.status); const media = await lanachat('POST', `/media/uploads/${up.upload_id}/complete`); await lanachat('PATCH', `/media/${media.id}`, { access: 'paid', stars: 300, description: 'Beach, golden hour, white bikini' }); ``` The media is `processing`, then `ready`: the `media.ready` webhook tells you when. See [Vault](https://lanachat.ai/guides/api-vault/). ### 8. Change a brain, test it, publish it Needs `can_engine`, and `can_publish` for the last step. The live brain only changes on publish. ```bash curl -X PATCH https://api.lanachat.ai/v1/brains/br_lea_main/draft \ -H "Authorization: Bearer $LANACHAT_TOKEN" -H "Content-Type: application/json" \ -d '{"settings": {"first_offer_after_messages": 6}}' curl -X POST https://api.lanachat.ai/v1/playground/br_lea_main/message \ -H "Authorization: Bearer $LANACHAT_TOKEN" -H "Idempotency-Key: $(uuidgen)" -H "Content-Type: application/json" \ -d '{"text": "hey, are you real?", "fan": {"language": "en", "is_new": true}}' curl -X POST https://api.lanachat.ai/v1/brains/br_lea_main/publish \ -H "Authorization: Bearer $LANACHAT_TOKEN" -H "Idempotency-Key: $(uuidgen)" ``` ```js await lanachat('PATCH', '/brains/br_lea_main/draft', { settings: { first_offer_after_messages: 6 } }); const test = await lanachat('POST', '/playground/br_lea_main/message', { text: 'hey, are you real?', fan: { language: 'en', is_new: true }, }); console.log(test.reply.text, '|', test.explain); // happy with the answer? publish const live = await lanachat('POST', '/brains/br_lea_main/publish'); console.log('Live version', live.version); ``` The Playground never writes to a fan and never sells. See [AI Brains](https://lanachat.ai/guides/api-ai-brains/). --- ## API troubleshooting: common errors _API · 4 min read · Updated 2026-10-23 · https://lanachat.ai/guides/api-troubleshooting/_ Every endpoint in the reference is marked **Planned** today: it is the published contract and does not answer yet. This page lists the errors the API will return, so your code can handle them from day one. ### Read the error first Every error answers a 4xx or 5xx status with the same body: ```json { "error": { "code": "forbidden", "message": "…" } } ``` `message` is a plain English sentence that says what went wrong. Log it, but branch your code on `code`, never on `message`. ### 401 unauthorized The API did not accept your token. Check, in this order: 1. The header is exactly `Authorization: Bearer `, with the word `Bearer` and one space. 2. The token was copied in full. It is shown only once, when you create it. 3. The token is still active. In **Users › API & MCP**, the **Access tokens** table shows each token's expiry and status, and **Show revoked tokens** lists the old ones. 4. If it expired or was revoked, create a new one (or **Rotate** it) and update your environment variable. ### 403 forbidden The token is valid but lacks the permission the endpoint needs. Each endpoint in the reference lists its permission, such as `can_fan_read` or `can_sales_read`. 1. Find the permission in the endpoint's **Permission** column. 2. In **Users › API & MCP**, press **Edit** on the token and tick it. 3. Call `GET /v1/workspace`: the answer lists what the token may do. A `403` also comes back when a token that is not an owner token sends the `LanaChat-Workspace` header. Remove it. ### 429 rate_limited Each token may send 600 requests per minute. Every answer carries `RateLimit-Remaining` and `RateLimit-Reset`. - Wait the number of seconds in `Retry-After`, then try again. - Page through lists with `limit=100` instead of one call per item. - Sending messages to fans is also bound by Telegram's own limits: see [Telegram accounts and pools](https://lanachat.ai/guides/api-telegram-accounts/). ### The other codes | Status | `code` | What to do | |---|---|---| | 400 | `invalid_request` | A field is missing or has the wrong format: `message` says which | | 402 | `insufficient_balance` | Top up before buying | | 404 | `not_found` | The id does not exist in this workspace: check you use the right token | | 409 | `conflict` | The change breaks a rule, or an `Idempotency-Key` was reused with a different body | | 500 | `server_error` | Retry later with the same `Idempotency-Key` | Send an `Idempotency-Key` on every `POST`: a retry then never does the work twice. The helper in [the quick start](https://lanachat.ai/guides/api-overview/) retries `429` and `5xx` for you. ### Webhooks that fail A delivery counts as failed when your server does not answer a `2xx` within 10 seconds. 1. **Answer fast.** Return `2xx` at once, then do the slow work in the background. 2. **Check the signature on the raw body**, before any JSON parsing. A body parsed and re-serialized never matches. 3. **Check your server's clock.** A timestamp older than 5 minutes is refused by the sample code, so a clock that drifts rejects every delivery. 4. **Accept both `v1` values** during a secret rotation. 5. **Test** with `POST /webhooks/{id}/test` (Planned), which sends a `ping`, and resend one delivery with `/deliveries/{delivery_id}/retry` (Planned) once you fixed your side. Failed deliveries are retried 8 times over about 24 hours. After 3 days of failures the endpoint is paused; resume it with `PATCH /webhooks/{id}` (Planned). The same event can arrive twice: ignore duplicates by `id`. See [Webhooks](https://lanachat.ai/guides/api-webhooks/). ### Still stuck? Open the help bubble at the bottom right of the Console and write to the team with the endpoint, the status, the `code` and the time of the call. Never paste the token itself. See [Get help](https://lanachat.ai/guides/get-help/). --- ## API & MCP: connect an AI assistant _API · 7 min read · Updated 2026-10-23 · https://lanachat.ai/guides/api-mcp/_ **API & MCP** (in Users, at the bottom of the sidebar) lets you connect an AI assistant, such as Claude or another MCP client, to set up and manage your workspace. MCP is an open standard that lets an assistant use tools in an app on your behalf. The same access tokens open the [REST API](https://lanachat.ai/guides/api-overview/). > Note: Only the workspace owner and agency owners can open this page. Everyone else sees "Owner access required". ### What you need - The **MCP endpoint**, shown at the top of the page. Press **Copy URL**. - An **access token** that says what the assistant may do. ### Create an access token 1. Press **Create token**. 2. Give it a name and choose its access: **Workspace setup**, or **Custom permissions** to tick them one by one (for example "Read fans and conversations" or "Read sales"). 3. Save. The token is shown once: press **Copy token**, or **Copy client configuration** to get a ready-made configuration for your assistant. 4. Press **Done, I saved it**. ![The new token panel, shown once: Copy token, Copy client configuration and Done, I saved it](https://lanachat.ai/guides/img/api-mcp/new-token.png) ### Connect your assistant 1. Create a dedicated access for this assistant (one token per tool you connect). 2. Add the HTTP MCP connection in your assistant, with the endpoint and the token (exact steps below). 3. Ask it what it can see, to check the permissions are right. 4. Work in drafts: let it prepare changes, test them, then publish. The same steps, with the endpoint, header and configuration ready to copy, are in **Connect your assistant** at the bottom of the API & MCP page. In every example below, replace the URL with the one of your workspace (**Copy URL**) and `YOUR_MCP_TOKEN` with your token. #### Claude Code One command in your terminal: ```bash claude mcp add --transport http lanachat https://app.lanachat.ai/mcp \ --header "Authorization: Bearer YOUR_MCP_TOKEN" ``` Then type `/mcp` in Claude Code: `lanachat` shows as connected, with its tools. #### Cursor Add this to `~/.cursor/mcp.json` (every project) or `.cursor/mcp.json` (one project), then turn `lanachat` on in **Settings › MCP**: ```json { "mcpServers": { "lanachat": { "url": "https://app.lanachat.ai/mcp", "headers": { "Authorization": "Bearer YOUR_MCP_TOKEN" } } } } ``` #### VS Code (GitHub Copilot) Add this to `.vscode/mcp.json` in your project: ```json { "servers": { "lanachat": { "type": "http", "url": "https://app.lanachat.ai/mcp", "headers": { "Authorization": "Bearer YOUR_MCP_TOKEN" } } } } ``` #### Claude Desktop Claude Desktop starts local servers from its configuration file, so it reaches LanaChat through the small `mcp-remote` bridge (Node.js 18 or later). Open **Settings › Developer › Edit Config** and add: ```json { "mcpServers": { "lanachat": { "command": "npx", "args": ["-y", "mcp-remote", "https://app.lanachat.ai/mcp", "--header", "Authorization:${LANACHAT_AUTH}"], "env": { "LANACHAT_AUTH": "Bearer YOUR_MCP_TOKEN" } } } } ``` Restart Claude Desktop; LanaChat's tools appear in the tools menu of a new chat. #### ChatGPT and other assistants Any MCP client that can send a header on an HTTP connection works with the configuration above. Web connectors that only offer an OAuth sign-in (ChatGPT connectors, custom connectors on claude.ai) cannot send an access token, so they cannot connect yet. #### Check the connection The MCP Inspector lists the tools your token opens, without any assistant: ```bash npx @modelcontextprotocol/inspector ``` Choose **Streamable HTTP**, paste the endpoint, add the header `Authorization: Bearer YOUR_MCP_TOKEN`, then **Connect** and **List tools**. ### Manage tokens The **Access tokens** table shows each token's permissions, expiry and status. Use **Edit**, **Rotate** (or **Renew**) and **Revoke**. **Show revoked tokens** lists the old ones. > Warning: A token works like a password. Revoke it as soon as you stop using the assistant or think it leaked. ### The MCP endpoint | Method | Path | Description | Permission | Status | |---|---|---|---|---| | POST | `https://app.lanachat.ai/mcp` | The MCP server (Streamable HTTP): every tool call goes here | any token | Planned | | GET | `https://app.lanachat.ai/mcp` | Opens the event stream of the session | any token | Planned | | POST | `https://app.lanachat.ai/api/media/uploads` | Media uploads from an assistant, with the same token | `can_setup` | Planned | The exact URL of your workspace is shown at the top of the API & MCP page (**Copy URL**). The token goes in the `Authorization` header, as for the API. A client configuration looks like this: ```json { "mcpServers": { "lanachat": { "type": "http", "url": "https://app.lanachat.ai/mcp", "headers": { "Authorization": "Bearer YOUR_MCP_TOKEN" } } } } ``` ### Tools the assistant gets The assistant only sees the tools its token allows. A tool it cannot use is not listed at all. When it connects, the server sends each tool's exact arguments (name, type, required) to the assistant, so you never type them yourself. The last column is the API endpoint that does the same thing, where its parameters are documented. | Tool | What it does | Permission | Same as in the API | |---|---|---|---| | `list_creators`, `get_creator` | Read creators, their identity and setup progress | `can_setup` | [`GET /creators`](https://lanachat.ai/guides/api-creators/) | | `update_creator`, `update_persona` | Change a creator's identity or persona pages | `can_setup`, `can_engine` for the persona | [`PUT …/identity`, `PATCH …/persona`](https://lanachat.ai/guides/api-creators/) | | `list_accounts`, `update_account` | Read Telegram accounts, change brain, market or traffic | `can_setup` | [`GET /accounts`, `PATCH /accounts/{id}`](https://lanachat.ai/guides/api-telegram-accounts/) | | `list_media`, `upload_media`, `update_media`, `create_media_folder` | Add media to a Vault, sort them, suggest descriptions (shown for review before saving) | `can_setup` | [`/media`](https://lanachat.ai/guides/api-vault/) | | `list_scripts`, `draft_script`, `update_script` | Read scripts and draft new ones: steps, media and Stars prices | `can_setup` | [`/scripts`](https://lanachat.ai/guides/api-scripts/) | | `list_members`, `update_member` | Read and change team members | `can_setup` | [`/members`](https://lanachat.ai/guides/api-team/) | | `get_brain`, `update_brain_draft`, `test_brain` | Read a brain, edit its draft, try it in the Playground | `can_engine` | [`/brains`, `/playground`](https://lanachat.ai/guides/api-ai-brains/) | | `publish_brain` | Publish an ordinary brain draft | `can_publish` | [`POST /brains/{id}/publish`](https://lanachat.ai/guides/api-ai-brains/) | | `test_advanced_ai`, `tune_advanced_ai`, `publish_advanced_ai` | Advanced AI drafts, settings and profiles (owner workspace only) | `can_ai_test`, `can_ai_tune`, `can_ai_publish` | None | | `list_experiment_reports` | Read commercial experiment reports (owner workspace only) | `can_commercial_reports` | None | | `list_fans`, `get_conversation` | Read fans and conversation history | `can_fan_read` | [`GET /fans`, `GET /conversations/{id}/messages`](https://lanachat.ai/guides/api-conversations/) | | `import_fan_history` | Add past fans and messages to the records; never sends a message | `can_fan_import` | [`POST /fans/import`](https://lanachat.ai/guides/api-conversations/) | | `list_sales` | Read recorded sales for reports | `can_sales_read` | [`GET /fans/{id}/sales`](https://lanachat.ai/guides/api-conversations/), [`GET /stats`](https://lanachat.ai/guides/api-tracking/) | > Note: Turning **Access AI configuration** off also clears publishing, Advanced AI and experiment-report permissions. Workspace setup and the fan and sales permissions stay independent. No tool sends a message to a fan. ### What to ask it Talk to it like a colleague who knows the Console. A few prompts that work well: - "List my creators and tell me which ones have an unfinished setup." - "Read Lea's persona and suggest three phrase bank answers for fans who ask if she is real. Do not save anything." - "Draft a win-back script for Lea: three steps over two days, the last one a paid set at 250 Stars. Leave it inactive." - "Upload the photos in this folder to Lea's Vault, in a folder called Beach, and suggest a description for each." - "Change the draft of Lea's brain so the first offer comes after 6 messages, test it in the Playground with a new English-speaking fan, and show me the replies before you publish." - "How much did each creator sell yesterday, and which tracking link brought the most buyers this week?" > Tip: Ask it to work in drafts and to show you the result before it publishes. Publishing needs a token with **Publish AI Brain drafts**: leave it off if you want to keep the last word. ### Token endpoints The page above calls these routes; the [team guide](https://lanachat.ai/guides/api-team/) lists the same actions in the public API (`/v1/tokens`). | Method | Path | Description | Permission | Status | |---|---|---|---|---| | GET | `/api/mcp/tokens` | List tokens, their permissions, expiry and status | `owner` | Planned | | POST | `/api/mcp/tokens` | Create a token (shown once) | `owner` | Planned | | PUT | `/api/mcp/tokens/{id}` | Edit its name or permissions | `owner` | Planned | | POST | `/api/mcp/tokens/{id}/rotate` | Rotate the secret | `owner` | Planned | | DELETE | `/api/mcp/tokens/{id}` | Revoke it | `owner` | Planned | These Console routes take and return the permissions as one true or false field each (`can_setup`, `can_engine`, `can_publish`, `can_ai_test`, `can_ai_tune`, `can_ai_publish`, `can_commercial_reports`, `can_fan_read`, `can_fan_import`, `can_sales_read`). Creating a token answers `{ "token": "…", "grant": { … } }`: `token` is the secret, shown once; `grant` is the access with its `id`, `name`, `scope`, `enabled`, `created` and `expires` (Unix seconds). Rotating revokes the old access and answers a new `token` and `grant`. A missing name answers `400`, an unknown id `404`, a revoked access `409`. More on the [API and MCP feature page](https://lanachat.ai/landing/features/api-and-mcp/). --- ## API: creators, identity and persona _API · 6 min read · Updated 2026-10-23 · https://lanachat.ai/guides/api-creators/_ A **creator** is a person your agency runs on Telegram. She has an **identity** (who she is), a **persona** (how she talks, in eight pages) and links to her Telegram accounts, her AI Brain, her Vault and her scripts. These endpoints match the **Creators** page of the Console. ### Endpoints | Method | Path | Description | Permission | Status | |---|---|---|---|---| | GET | `/creators` | List creators (`status=active,paused,archived`, `q=` name search) | `can_setup` or `can_fan_read` | Planned | | POST | `/creators` | Create a creator (name required) | `can_setup` | Planned | | GET | `/creators/{id}` | One creator with her setup progress | `can_setup` or `can_fan_read` | Planned | | PATCH | `/creators/{id}` | Rename, change her photo, time zone or linked brain | `can_setup` | Planned | | POST | `/creators/{id}/pause` | Pause her: the AI stops answering on all her accounts | `can_setup` | Planned | | POST | `/creators/{id}/resume` | Resume a paused creator | `can_setup` | Planned | | DELETE | `/creators/{id}` | Archive her (her fans and sales are kept) | `can_setup` | Planned | | GET | `/creators/{id}/identity` | Her identity card | `can_setup` | Planned | | PUT | `/creators/{id}/identity` | Replace her identity card | `can_setup` | Planned | | GET | `/creators/{id}/persona` | The eight persona pages and how complete they are | `can_engine` | Planned | | PATCH | `/creators/{id}/persona` | Change one or more persona pages | `can_engine` | Planned | | GET | `/creators/{id}/setup` | The setup progress (each step and whether it is done) | `can_setup` | Planned | ### The creator object ```json { "id": "cr_lea", "name": "Lea", "status": "active", "photo_url": "https://cdn.lanachat.ai/w/7Hq2/cr_lea/photo.jpg", "timezone": "Europe/Paris", "brain_id": "br_lea_main", "accounts": { "total": 3, "connected": 2 }, "setup": { "done": 5, "total": 7 }, "created_at": "2026-08-14T09:12:00Z", "updated_at": "2026-10-05T18:40:11Z" } ``` | Field | Type | Description | |---|---|---| | `id` | string | Starts with `cr_` | | `name` | string | Her name in the Console | | `status` | string | `active`, `paused` or `archived` | | `photo_url` | string or null | Her photo | | `timezone` | string | IANA time zone, for example `Europe/Paris` | | `brain_id` | string or null | The AI Brain linked to her | | `accounts` | object | Counts of her Telegram accounts: `total`, `connected` | | `setup` | object | Setup progress: steps `done` out of `total` | | `created_at`, `updated_at` | string | ISO 8601, UTC | A paused creator keeps her accounts connected but the AI does not answer; scripts already running stop at their next step. ### Creators #### List creators `GET /creators` · `can_setup` or `can_fan_read` | Parameter | Type | Required | Description | |---|---|---|---| | `status` | string | No | `active`, `paused` or `archived`; several separated by commas | | `q` | string | No | Part of her name | | `limit`, `cursor` | number, string | No | [Pagination](https://lanachat.ai/guides/api-overview/) | ```bash curl "https://api.lanachat.ai/v1/creators?status=active,paused" \ -H "Authorization: Bearer $LANACHAT_TOKEN" ``` ```json { "data": [ { "id": "cr_lea", "name": "Lea", "status": "active", "photo_url": "https://cdn.lanachat.ai/w/7Hq2/cr_lea/photo.jpg", "timezone": "Europe/Paris", "brain_id": "br_lea_main", "accounts": { "total": 3, "connected": 2 }, "setup": { "done": 5, "total": 7 }, "created_at": "2026-08-14T09:12:00Z", "updated_at": "2026-10-05T18:40:11Z" }, { "id": "cr_mia", "name": "Mia", "status": "paused", "photo_url": null, "timezone": "Europe/Rome", "brain_id": "br_mia_main", "accounts": { "total": 2, "connected": 2 }, "setup": { "done": 7, "total": 7 }, "created_at": "2026-07-02T11:00:00Z", "updated_at": "2026-10-01T08:15:00Z" } ], "next_cursor": null } ``` #### Create a creator `POST /creators` · `can_setup` | Parameter | Type | Required | Description | |---|---|---|---| | `name` | string | Yes | Her name in the Console | | `timezone` | string | No | IANA time zone | ```bash curl -X POST https://api.lanachat.ai/v1/creators \ -H "Authorization: Bearer $LANACHAT_TOKEN" \ -H "Idempotency-Key: $(uuidgen)" \ -H "Content-Type: application/json" \ -d '{"name": "Lea", "timezone": "Europe/Paris"}' ``` ```json { "id": "cr_lea", "name": "Lea", "status": "active", "photo_url": null, "timezone": "Europe/Paris", "brain_id": null, "accounts": { "total": 0, "connected": 0 }, "setup": { "done": 0, "total": 7 }, "created_at": "2026-10-06T14:00:00Z", "updated_at": "2026-10-06T14:00:00Z" } ``` The answer is the new creator (`201`). She starts with an empty identity and persona, no account and no brain: the `setup` counter shows what is left. A missing `name` answers `400`. #### Get a creator `GET /creators/{id}` · `can_setup` or `can_fan_read` ```bash curl https://api.lanachat.ai/v1/creators/cr_lea \ -H "Authorization: Bearer $LANACHAT_TOKEN" ``` The answer is the creator object. An unknown id answers `404`. #### Update a creator `PATCH /creators/{id}` · `can_setup` | Parameter | Type | Required | Description | |---|---|---|---| | `name` | string | No | New name | | `timezone` | string | No | IANA time zone | | `brain_id` | string or null | No | The brain to link; `null` unlinks it | ```bash curl -X PATCH https://api.lanachat.ai/v1/creators/cr_lea \ -H "Authorization: Bearer $LANACHAT_TOKEN" \ -H "Content-Type: application/json" \ -d '{"timezone": "Europe/Madrid", "brain_id": "br_lea_main"}' ``` The answer is the updated creator. A `brain_id` of another workspace answers `404`. #### Pause and resume `POST /creators/{id}/pause` and `POST /creators/{id}/resume` · `can_setup` ```bash curl -X POST https://api.lanachat.ai/v1/creators/cr_lea/pause \ -H "Authorization: Bearer $LANACHAT_TOKEN" \ -H "Idempotency-Key: $(uuidgen)" ``` Pausing stops the AI on all her accounts at once; `resume` turns it back on. Both answer the creator object with its new status. #### Archive a creator `DELETE /creators/{id}` · `can_setup` ```bash curl -X DELETE https://api.lanachat.ai/v1/creators/cr_lea \ -H "Authorization: Bearer $LANACHAT_TOKEN" ``` The answer is the creator with `status: "archived"`. Her fans and sales are kept and still count in your stats. ### Identity #### Get the identity `GET /creators/{id}/identity` · `can_setup` ```bash curl https://api.lanachat.ai/v1/creators/cr_lea/identity \ -H "Authorization: Bearer $LANACHAT_TOKEN" ``` The answer has the same fields as the identity below. #### Replace the identity `PUT /creators/{id}/identity` · `can_setup` | Parameter | Type | Required | Description | |---|---|---|---| | `first_name` | string | No | Her first name, as fans know it | | `nicknames` | array of strings | No | Short names she answers to | | `date_of_birth` | string | No | `YYYY-MM-DD`; she must be 18 or older | | `nationality` | string | No | Two-letter country code, for example `FR` | | `languages` | array of strings | No | Languages she speaks, for example `["fr", "en"]` | ```bash curl -X PUT https://api.lanachat.ai/v1/creators/cr_lea/identity \ -H "Authorization: Bearer $LANACHAT_TOKEN" \ -H "Content-Type: application/json" \ -d '{"first_name": "Lea", "nicknames": ["Lele"], "date_of_birth": "2001-04-12", "nationality": "FR", "languages": ["fr", "en"]}' ``` ```json { "first_name": "Lea", "nicknames": ["Lele"], "date_of_birth": "2001-04-12", "zodiac_sign": "aries", "nationality": "FR", "languages": ["fr", "en"] } ``` `zodiac_sign` is computed from the date of birth. A creator under 18 is refused (`400`). `PUT` replaces the whole card: a field you leave out is emptied. ### Persona The persona has the same eight pages as the Console: `appearance`, `life`, `voice`, `mimic`, `personality`, `memory`, `boundaries`, `examples`. Each page is an object of text fields; `PATCH` changes only the pages you send. #### Get the persona `GET /creators/{id}/persona` · `can_engine` ```bash curl https://api.lanachat.ai/v1/creators/cr_lea/persona \ -H "Authorization: Bearer $LANACHAT_TOKEN" ``` The answer has the same shape as below, with all eight pages. #### Change persona pages `PATCH /creators/{id}/persona` · `can_engine` | Parameter | Type | Required | Description | |---|---|---|---| | `appearance`, `life`, `voice`, `mimic`, `personality`, `memory`, `boundaries`, `examples` | object | At least one | The pages to change; the others are kept | ```bash curl -X PATCH https://api.lanachat.ai/v1/creators/cr_lea/persona \ -H "Authorization: Bearer $LANACHAT_TOKEN" \ -H "Content-Type: application/json" \ -d '{"voice": {"style": "Short, warm, a few emojis, never formal.", "phrase_bank": [{"trigger": "Are you a bot?", "reply": "Haha no, just slow at typing"}]}}' ``` ```json { "complete_percent": 64, "pages": { "voice": { "style": "Short, warm, a few emojis, never formal.", "phrase_bank": [ { "trigger": "Are you a bot?", "reply": "Haha no, just slow at typing" } ], "complete": true }, "mimic": { "enabled": false, "lines": [], "complete": false } }, "reply_language": "fr" } ``` > Tip: The persona feeds every brain linked to the creator. Change it in a quiet hour, then test the brain in the [Playground](https://lanachat.ai/guides/api-ai-brains/) before peak time. ### Setup progress #### Get the setup progress `GET /creators/{id}/setup` · `can_setup` ```bash curl https://api.lanachat.ai/v1/creators/cr_lea/setup \ -H "Authorization: Bearer $LANACHAT_TOKEN" ``` The answer lists the setup progress (each step and whether it is done). `setup` in the creator object is the same progress as a counter (`done` out of `total`). --- ## API: Telegram accounts, pools and stories _API · 8 min read · Updated 2026-10-23 · https://lanachat.ai/guides/api-telegram-accounts/_ A **Telegram account** is one account of a creator, connected to LanaChat through a business connection (a bot she adds in her Telegram settings). Accounts are grouped in **pools**: a pool is one creator, one market and one traffic source, and new conversations from a tracking link are spread across the sending accounts of the right pool. **Stories** are posted on one or more accounts at once. ### Endpoints | Method | Path | Description | Permission | Status | |---|---|---|---|---| | GET | `/accounts` | List accounts (`creator_id=`, `health=connected,pending,expired`) | `can_setup` | Planned | | POST | `/accounts` | Add an account with its bot token; checked with Telegram before it is saved | `can_setup` | Planned | | GET | `/accounts/{id}` | One account, its health and its load this hour | `can_setup` | Planned | | PATCH | `/accounts/{id}` | Change its brain, market, traffic, alias or reply language; turn it on or off | `can_setup` | Planned | | DELETE | `/accounts/{id}` | Disconnect the account (its conversations are kept) | `can_setup` | Planned | | POST | `/accounts/{id}/check` | Test the connection now instead of waiting for the hourly check | `can_setup` | Planned | | GET | `/pools` | Every pool with its accounts, capacity and status | `can_tracking` | Planned | | GET | `/pools/settings` | Hourly cap of the workspace and the distribution rules | `can_tracking` | Planned | | PUT | `/pools/settings` | Change the hourly cap (100 to 100,000) and the distribution | `can_tracking` | Planned | | PATCH | `/pools/accounts/{account_id}` | Take an account in or out of the pool, pause it, set its weight or hourly limit | `can_tracking` | Planned | | GET | `/pools/events` | The pool log: flood waits, pauses, resumes, links held | `can_tracking` | Planned | | GET | `/stories` | Posted and scheduled stories (`creator_id=`, `status=`) | `can_setup` | Planned | | POST | `/stories` | Post a story now or schedule it on one or more accounts | `can_setup` | Planned | | GET | `/stories/{id}` | One story with its views, reactions and link clicks | `can_setup` | Planned | | DELETE | `/stories/{id}` | Cancel a scheduled story | `can_setup` | Planned | ### The account object ```json { "id": "acc_1001", "creator_id": "cr_lea", "username": "lea_officiel", "bot_username": "lea_helper_bot", "health": "connected", "active": true, "brain_id": "br_lea_main", "pool_id": "pool_lea_fr_instagram", "market": "fr", "traffic": "instagram", "story_rights": true, "last_activity_at": "2026-10-06T13:58:20Z" } ``` | Field | Type | Description | |---|---|---| | `id` | string | Starts with `acc_` | | `creator_id` | string | The creator this account belongs to | | `username` | string | The Telegram @username of the account, without the @ | | `bot_username` | string | The bot linked through the business connection | | `health` | string | `connected`, `pending` or `expired` | | `active` | boolean | `false` when the account is turned off: the AI does not answer on it | | `brain_id` | string or null | The AI Brain that answers on this account | | `pool_id` | string | The pool its `market` and `traffic` tags put it in | | `market` | string | Language market, for example `fr`, `en`, `pt-BR`, or `all` | | `traffic` | string | Traffic source, for example `instagram` or `tiktok` | | `story_rights` | boolean | Whether the business connection lets LanaChat post stories | | `last_activity_at` | string | Last message sent or received, ISO 8601 UTC | - `health` is `connected`, `pending` (the business connection is not confirmed yet) or `expired` (the bot lost access; reconnect it). - The bot token is never returned. LanaChat never asks for a phone number, a password or a 2FA code. ### Accounts #### List accounts `GET /accounts` · `can_setup` | Parameter | Type | Required | Description | |---|---|---|---| | `creator_id` | string | No | Only the accounts of this creator | | `health` | string | No | `connected`, `pending` or `expired`; several separated by commas | | `limit`, `cursor` | number, string | No | [Pagination](https://lanachat.ai/guides/api-overview/) | ```bash curl "https://api.lanachat.ai/v1/accounts?creator_id=cr_lea&health=connected,expired" \ -H "Authorization: Bearer $LANACHAT_TOKEN" ``` ```json { "data": [ { "id": "acc_1001", "creator_id": "cr_lea", "username": "lea_officiel", "bot_username": "lea_helper_bot", "health": "connected", "active": true, "brain_id": "br_lea_main", "pool_id": "pool_lea_fr_instagram", "market": "fr", "traffic": "instagram", "story_rights": true, "last_activity_at": "2026-10-06T13:58:20Z" }, { "id": "acc_1004", "creator_id": "cr_lea", "username": "lea_backup", "bot_username": "lea_helper2_bot", "health": "connected", "active": true, "brain_id": "br_lea_main", "pool_id": "pool_lea_fr_instagram", "market": "fr", "traffic": "instagram", "story_rights": false, "last_activity_at": "2026-10-06T13:51:02Z" } ], "next_cursor": null } ``` #### Add an account `POST /accounts` · `can_setup` | Parameter | Type | Required | Description | |---|---|---|---| | `creator_id` | string | Yes | The creator the account belongs to | | `bot_token` | string | Yes | The token of the bot she linked in her Telegram Business settings | | `market` | string | No | Language market, for example `fr` | | `traffic` | string | No | Traffic source, for example `instagram` | ```bash curl -X POST https://api.lanachat.ai/v1/accounts \ -H "Authorization: Bearer $LANACHAT_TOKEN" \ -H "Idempotency-Key: $(uuidgen)" \ -H "Content-Type: application/json" \ -d '{"creator_id": "cr_lea", "bot_token": "", "market": "fr", "traffic": "instagram"}' ``` ```json { "id": "acc_1007", "creator_id": "cr_lea", "username": "lea_officiel", "bot_username": "lea_helper_bot", "health": "pending", "active": true, "brain_id": "br_lea_main", "pool_id": "pool_lea_fr_instagram", "market": "fr", "traffic": "instagram", "story_rights": false, "last_activity_at": null } ``` The answer is the account (`201`) with `health: "pending"` until the creator confirms the business connection in Telegram. The bot token is checked with Telegram before anything is saved: a token Telegram refuses answers `400`. An account already active in another workspace is refused (`409`). Each account needs a licence to reply: see [Billing](https://lanachat.ai/guides/api-billing/). #### Get an account `GET /accounts/{id}` · `can_setup` ```bash curl https://api.lanachat.ai/v1/accounts/acc_1001 \ -H "Authorization: Bearer $LANACHAT_TOKEN" ``` The answer is the account object, with its load this hour. An unknown id answers `404`. #### Update an account `PATCH /accounts/{id}` · `can_setup` | Parameter | Type | Required | Description | |---|---|---|---| | `brain_id` | string | No | The brain that answers on this account | | `market` | string | No | Language market; moves the account to the matching pool | | `traffic` | string | No | Traffic source; moves the account to the matching pool | | `active` | boolean | No | `false` turns the account off, `true` turns it back on | The alias and the reply language of the account can be changed the same way. ```bash curl -X PATCH https://api.lanachat.ai/v1/accounts/acc_1004 \ -H "Authorization: Bearer $LANACHAT_TOKEN" \ -H "Content-Type: application/json" \ -d '{"traffic": "tiktok", "active": true}' ``` The answer is the updated account. Turning off the last sending account of a creator who has active links answers `409`. #### Disconnect an account `DELETE /accounts/{id}` · `can_setup` ```bash curl -X DELETE https://api.lanachat.ai/v1/accounts/acc_1004 \ -H "Authorization: Bearer $LANACHAT_TOKEN" ``` Its conversations are kept. Removing the last sending account of a creator who has active links answers `409`. #### Check the connection now `POST /accounts/{id}/check` · `can_setup` ```bash curl -X POST https://api.lanachat.ai/v1/accounts/acc_1001/check \ -H "Authorization: Bearer $LANACHAT_TOKEN" \ -H "Idempotency-Key: $(uuidgen)" ``` LanaChat checks every account once an hour; this call tests it now. The answer is the account with its fresh `health`. ### Pools A pool is formed by its accounts' tags (`market` and `traffic`); there is nothing to create. A new conversation goes to the pool whose traffic matches the link source and whose market matches the fan's language, then to the creator's "All traffic" pool, then to any of her pools that still sends. Existing conversations always stay on their account. #### List pools `GET /pools` · `can_tracking` ```bash curl https://api.lanachat.ai/v1/pools \ -H "Authorization: Bearer $LANACHAT_TOKEN" ``` ```json { "data": [ { "id": "pool_lea_fr_instagram", "name": "French · Instagram", "creator_id": "cr_lea", "accounts": ["acc_1001", "acc_1004"], "sent_last_hour": 312, "capacity_per_hour": 400, "status": "near" } ], "next_cursor": null } ``` `status` is `sending`, `near` (80% of its capacity), `saturated` (95%) or `none` (no sending account). #### Get the pool settings `GET /pools/settings` · `can_tracking` ```bash curl https://api.lanachat.ai/v1/pools/settings \ -H "Authorization: Bearer $LANACHAT_TOKEN" ``` ```json { "cap_per_hour": 2000, "default_limit_per_hour": 200, "distribution": { "mode": "weighted", "warmup": true, "hold_when_saturated": true } } ``` | Field | Type | Description | |---|---|---| | `cap_per_hour` | number | Messages the whole workspace may send in a rolling hour, 100 to 100,000 | | `default_limit_per_hour` | number | Hourly limit given to a new account in the pool | | `distribution.mode` | string | `weighted` (random, in proportion to each account's weight), `round_robin` (each account in turn) or `least_loaded` (the account furthest from its limit) | | `distribution.warmup` | boolean | A new account starts at 50 messages an hour and reaches its full limit on day 7 | | `distribution.hold_when_saturated` | boolean | When no account can take a new fan, hold the fan until one frees up, oldest first; otherwise give the fan to the least loaded account even above its limit | When the workspace reaches `cap_per_hour`, links keep redirecting but new conversations are held until the hour drops under the cap. #### Change the pool settings `PUT /pools/settings` · `can_tracking` | Parameter | Type | Required | Description | |---|---|---|---| | `cap_per_hour` | number | Yes | 100 to 100,000, whole number | | `default_limit_per_hour` | number | Yes | 10 to 1,000, whole number | | `distribution` | object | Yes | `mode`, `warmup` and `hold_when_saturated`, as above | ```bash curl -X PUT https://api.lanachat.ai/v1/pools/settings \ -H "Authorization: Bearer $LANACHAT_TOKEN" \ -H "Content-Type: application/json" \ -d '{"cap_per_hour": 3000, "default_limit_per_hour": 200, "distribution": {"mode": "least_loaded", "warmup": true, "hold_when_saturated": true}}' ``` The answer is the new settings. A cap outside 100 to 100,000 answers `400`. #### Change an account in the pool `PATCH /pools/accounts/{account_id}` · `can_tracking` | Parameter | Type | Required | Description | |---|---|---|---| | `in_pool` | boolean | No | `false` takes the account out of the pool: it keeps its conversations but gets no new fan | | `paused` | boolean | No | `true` pauses it in the pool | | `weight` | number | No | 0 to 100; share of new fans in `weighted` mode (0 is allowed: no new fan) | | `limit_per_hour` | number | No | 10 to 1,000 messages an hour for this account | ```bash curl -X PATCH https://api.lanachat.ai/v1/pools/accounts/acc_1004 \ -H "Authorization: Bearer $LANACHAT_TOKEN" \ -H "Content-Type: application/json" \ -d '{"weight": 40, "limit_per_hour": 300}' ``` ```json { "account_id": "acc_1004", "creator_id": "cr_lea", "username": "lea_backup", "in_pool": true, "paused": false, "weight": 40, "limit_per_hour": 300, "sent_last_hour": 88, "new_conversations_today": 41, "state": "active", "flood_wait_until": null, "warmup_day": 7, "added_at": "2026-09-20T10:00:00Z" } ``` - `state` is `active` or `flood_wait`: on a Telegram flood wait the account pauses itself until `flood_wait_until`, then resumes on its own. - During warm-up (`warmup_day` 1 to 7) the account sends less than its `limit_per_hour`: 50 an hour on day 1, the full limit on day 7. - Taking out, pausing or removing the last sending account of a creator who has active links is refused (`409`). #### Read the pool log `GET /pools/events` · `can_tracking` | Parameter | Type | Required | Description | |---|---|---|---| | `creator_id` | string | No | Only the events of this creator's accounts | | `limit`, `cursor` | number, string | No | [Pagination](https://lanachat.ai/guides/api-overview/) | ```bash curl "https://api.lanachat.ai/v1/pools/events?creator_id=cr_lea&limit=2" \ -H "Authorization: Bearer $LANACHAT_TOKEN" ``` ```json { "data": [ { "at": "2026-10-06T13:40:12Z", "kind": "resumed", "creator_id": "cr_lea", "account_id": "acc_1004", "text": "@lea_backup is sending again." }, { "at": "2026-10-06T13:25:12Z", "kind": "flood_wait", "creator_id": "cr_lea", "account_id": "acc_1004", "text": "@lea_backup hit a Telegram flood wait of 900 seconds." } ], "next_cursor": "eyJhdCI6IjIwMjYtMTAtMDZUMTM6MjU6MTJaIn0" } ``` `kind` is `flood_wait`, `account_paused`, `resumed`, `link_paused` (the workspace cap was reached, new fans are held), `account_added`, `account_removed` or `settings`. `text` is a plain English sentence. ### Stories #### List stories `GET /stories` · `can_setup` | Parameter | Type | Required | Description | |---|---|---|---| | `creator_id` | string | No | Only this creator's stories | | `status` | string | No | For example `scheduled` | | `limit`, `cursor` | number, string | No | [Pagination](https://lanachat.ai/guides/api-overview/) | ```bash curl "https://api.lanachat.ai/v1/stories?creator_id=cr_lea&status=scheduled" \ -H "Authorization: Bearer $LANACHAT_TOKEN" ``` ```json { "data": [ { "id": "sto_88", "status": "scheduled", "run_at": "2026-10-06T19:00:00Z", "account_ids": ["acc_1001", "acc_1004"] } ], "next_cursor": null } ``` #### Post a story `POST /stories` · `can_setup` | Parameter | Type | Required | Description | |---|---|---|---| | `account_ids` | array of strings | Yes | The accounts that post it | | `media_id` | string | Yes | A photo or video of the creator's [Vault](https://lanachat.ai/guides/api-vault/) | | `text` | string | No | Caption | | `link_id` | string | No | A [tracking link](https://lanachat.ai/guides/api-tracking/) shown on the story | | `duration_hours` | number | No | How long the story stays up | | `run_at` | string or null | No | When to post it (ISO 8601 UTC); leave it out to post now | ```bash curl -X POST https://api.lanachat.ai/v1/stories \ -H "Authorization: Bearer $LANACHAT_TOKEN" \ -H "Idempotency-Key: $(uuidgen)" \ -H "Content-Type: application/json" \ -d '{"account_ids": ["acc_1001", "acc_1004"], "media_id": "med_5521", "text": "New set tonight", "link_id": "lnk_3", "duration_hours": 24, "run_at": "2026-10-06T19:00:00Z"}' ``` ```json { "id": "sto_88", "status": "scheduled", "run_at": "2026-10-06T19:00:00Z", "account_ids": ["acc_1001", "acc_1004"] } ``` An account without the "manage stories" right in its business connection (`story_rights: false`) is refused, with the reason in `message`. #### Get a story `GET /stories/{id}` · `can_setup` ```bash curl https://api.lanachat.ai/v1/stories/sto_88 \ -H "Authorization: Bearer $LANACHAT_TOKEN" ``` The answer is the story with its views, reactions and link clicks once it is posted. #### Cancel a scheduled story `DELETE /stories/{id}` · `can_setup` ```bash curl -X DELETE https://api.lanachat.ai/v1/stories/sto_88 \ -H "Authorization: Bearer $LANACHAT_TOKEN" ``` Only a scheduled story can be cancelled. --- ## API: AI Brains, drafts and the Playground _API · 6 min read · Updated 2026-10-23 · https://lanachat.ai/guides/api-ai-brains/_ An **AI Brain** holds how the AI sells for a creator: its sales phases, rules and settings. You change a **draft**, test it in the **Playground**, then **publish** it; the live brain only changes on publish. A brain is linked to one creator and can be reused by her accounts. ### Endpoints | Method | Path | Description | Permission | Status | |---|---|---|---|---| | GET | `/brains` | List brains (`creator_id=`) | `can_engine` | Planned | | POST | `/brains` | Create a brain for a creator, empty or copied from another (`copy_from`) | `can_engine` | Planned | | GET | `/brains/{id}` | The live version of a brain | `can_engine` | Planned | | PATCH | `/brains/{id}` | Rename it or link it to another creator | `can_engine` | Planned | | DELETE | `/brains/{id}` | Delete a brain no account uses | `can_engine` | Planned | | GET | `/brains/{id}/draft` | The current draft and what differs from live | `can_engine` | Planned | | PATCH | `/brains/{id}/draft` | Change the draft (phases, rules, settings) | `can_engine` | Planned | | DELETE | `/brains/{id}/draft` | Throw the draft away | `can_engine` | Planned | | POST | `/brains/{id}/publish` | Publish the draft; it becomes live on every linked account | `can_publish` | Planned | | GET | `/brains/{id}/versions` | Published versions, newest first | `can_engine` | Planned | | POST | `/brains/{id}/versions/{version}/restore` | Copy an old version into the draft | `can_engine` | Planned | | POST | `/playground/{brain_id}/message` | Send a test message to the draft and get the AI's reply | `can_engine` | Planned | | DELETE | `/playground/{brain_id}/session` | Start the test conversation over | `can_engine` | Planned | ### The brain object ```json { "id": "br_lea_main", "name": "Lea · main", "creator_id": "cr_lea", "version": 12, "published_at": "2026-10-04T21:10:00Z", "has_draft": true, "accounts": ["acc_1001", "acc_1004"], "phases": [ { "key": "warm_up", "name": "Warm up", "enabled": true }, { "key": "first_offer", "name": "First offer", "enabled": true } ] } ``` | Field | Type | Description | |---|---|---| | `id` | string | Starts with `br_` | | `name` | string | Its name in the Console | | `creator_id` | string | The creator it is linked to | | `version` | number | The live version; it goes up by one on each publish | | `published_at` | string or null | When the live version was published, ISO 8601 UTC | | `has_draft` | boolean | `true` when a draft differs from the live version | | `accounts` | array of strings | Telegram accounts that answer with this brain | | `phases` | array | Sales phases: `key`, `name` and whether each one is `enabled` | ### Brains #### List brains `GET /brains` · `can_engine` | Parameter | Type | Required | Description | |---|---|---|---| | `creator_id` | string | No | Only this creator's brains | | `limit`, `cursor` | number, string | No | [Pagination](https://lanachat.ai/guides/api-overview/) | ```bash curl "https://api.lanachat.ai/v1/brains?creator_id=cr_lea" \ -H "Authorization: Bearer $LANACHAT_TOKEN" ``` ```json { "data": [ { "id": "br_lea_main", "name": "Lea · main", "creator_id": "cr_lea", "version": 12, "published_at": "2026-10-04T21:10:00Z", "has_draft": true, "accounts": ["acc_1001", "acc_1004"], "phases": [ { "key": "warm_up", "name": "Warm up", "enabled": true }, { "key": "first_offer", "name": "First offer", "enabled": true } ] } ], "next_cursor": null } ``` #### Create a brain `POST /brains` · `can_engine` | Parameter | Type | Required | Description | |---|---|---|---| | `creator_id` | string | Yes | The creator it is for | | `name` | string | No | Its name in the Console | | `copy_from` | string | No | Id of a brain to copy; without it the brain starts empty | ```bash curl -X POST https://api.lanachat.ai/v1/brains \ -H "Authorization: Bearer $LANACHAT_TOKEN" \ -H "Idempotency-Key: $(uuidgen)" \ -H "Content-Type: application/json" \ -d '{"creator_id": "cr_lea", "name": "Lea · TikTok test", "copy_from": "br_lea_main"}' ``` The answer is the new brain (`201`). A `copy_from` brain that does not exist in this workspace answers `404`. #### Get a brain `GET /brains/{id}` · `can_engine` ```bash curl https://api.lanachat.ai/v1/brains/br_lea_main \ -H "Authorization: Bearer $LANACHAT_TOKEN" ``` The answer is the live version, as the brain object. The draft is read with `GET /brains/{id}/draft`. #### Rename or relink a brain `PATCH /brains/{id}` · `can_engine` | Parameter | Type | Required | Description | |---|---|---|---| | `name` | string | No | New name | | `creator_id` | string | No | Link it to another creator | ```bash curl -X PATCH https://api.lanachat.ai/v1/brains/br_lea_main \ -H "Authorization: Bearer $LANACHAT_TOKEN" \ -H "Content-Type: application/json" \ -d '{"name": "Lea · main FR"}' ``` The answer is the updated brain. #### Delete a brain `DELETE /brains/{id}` · `can_engine` ```bash curl -X DELETE https://api.lanachat.ai/v1/brains/br_lea_old \ -H "Authorization: Bearer $LANACHAT_TOKEN" ``` A brain that an account still uses is refused (`409`): link those accounts to another brain first. ### Drafts and publishing #### Read the draft `GET /brains/{id}/draft` · `can_engine` ```bash curl https://api.lanachat.ai/v1/brains/br_lea_main/draft \ -H "Authorization: Bearer $LANACHAT_TOKEN" ``` The answer is the current draft (phases, rules and settings) and what differs from the live version. #### Change the draft `PATCH /brains/{id}/draft` · `can_engine` | Parameter | Type | Required | Description | |---|---|---|---| | `phases` | array | No | Sales phases to change | | `rules` | array | No | Rules to change | | `settings` | object | No | Settings to change, for example `first_offer_after_messages` or `max_discount_percent` | ```bash curl -X PATCH https://api.lanachat.ai/v1/brains/br_lea_main/draft \ -H "Authorization: Bearer $LANACHAT_TOKEN" \ -H "Content-Type: application/json" \ -d '{"settings": {"first_offer_after_messages": 6, "max_discount_percent": 20}}' ``` Only the fields you send change. The live brain does not move until you publish. #### Throw the draft away `DELETE /brains/{id}/draft` · `can_engine` ```bash curl -X DELETE https://api.lanachat.ai/v1/brains/br_lea_main/draft \ -H "Authorization: Bearer $LANACHAT_TOKEN" ``` The draft is deleted; the live version stays as it is and `has_draft` becomes `false`. #### Publish the draft `POST /brains/{id}/publish` · `can_publish` ```bash curl -X POST https://api.lanachat.ai/v1/brains/br_lea_main/publish \ -H "Authorization: Bearer $LANACHAT_TOKEN" \ -H "Idempotency-Key: $(uuidgen)" ``` ```json { "id": "br_lea_main", "version": 13, "published_at": "2026-10-06T14:20:03Z", "has_draft": false } ``` The draft becomes live on every linked account. Publishing without a draft answers `409`. Advanced AI profiles need their own owner permissions, as in the Console. A [webhook](https://lanachat.ai/guides/api-webhooks/) `brain.published` tells your server. ### Versions #### List versions `GET /brains/{id}/versions` · `can_engine` ```bash curl https://api.lanachat.ai/v1/brains/br_lea_main/versions \ -H "Authorization: Bearer $LANACHAT_TOKEN" ``` The answer lists the published versions, newest first, [paginated](https://lanachat.ai/guides/api-overview/). #### Restore a version `POST /brains/{id}/versions/{version}/restore` · `can_engine` ```bash curl -X POST https://api.lanachat.ai/v1/brains/br_lea_main/versions/11/restore \ -H "Authorization: Bearer $LANACHAT_TOKEN" \ -H "Idempotency-Key: $(uuidgen)" ``` The old version is copied into the draft. Nothing changes for fans until you publish. An unknown version answers `404`. ### Playground The Playground talks to the **draft**, never to a fan. Nothing is sent on Telegram and nothing is sold. #### Send a test message `POST /playground/{brain_id}/message` · `can_engine` | Parameter | Type | Required | Description | |---|---|---|---| | `text` | string | Yes | What the test fan writes | | `fan` | object | No | The test fan: `language` (for example `en`) and `is_new` | ```bash curl -X POST https://api.lanachat.ai/v1/playground/br_lea_main/message \ -H "Authorization: Bearer $LANACHAT_TOKEN" \ -H "Idempotency-Key: $(uuidgen)" \ -H "Content-Type: application/json" \ -d '{"text": "hey, are you real?", "fan": {"language": "en", "is_new": true}}' ``` ```json { "reply": { "text": "Haha very real, just slow at typing 🙈 where are you from?", "media": [] }, "phase": "warm_up", "explain": "Phrase bank answer for \"Are you a bot?\", then a question to keep the fan talking." } ``` - `reply` is what the AI would send: text and media. - `phase` is the sales phase the AI is in. - `explain` says in plain English why it answered that way. Each call continues the same test conversation. #### Start the test conversation over `DELETE /playground/{brain_id}/session` · `can_engine` ```bash curl -X DELETE https://api.lanachat.ai/v1/playground/br_lea_main/session \ -H "Authorization: Bearer $LANACHAT_TOKEN" ``` The next test message starts a new conversation, as a new fan. --- ## API: scripts, steps and folders _API · 5 min read · Updated 2026-10-23 · https://lanachat.ai/guides/api-scripts/_ A **script** is a fixed sequence of steps for one creator: each step is a text, optional media from the Vault, a price in Stars and a wait before the next one. Scripts sit in folders. One script per creator can be marked **first**: it runs on new conversations. ### Endpoints | Method | Path | Description | Permission | Status | |---|---|---|---|---| | GET | `/scripts` | List scripts (`creator_id=` required, `folder_id=`, `active=true`) | `can_setup` | Planned | | POST | `/scripts` | Create a script with its steps | `can_setup` | Planned | | GET | `/scripts/{id}` | One script and its steps | `can_setup` | Planned | | PUT | `/scripts/{id}` | Replace a script (name, steps, folder, accounts) | `can_setup` | Planned | | PATCH | `/scripts/{id}` | Turn it on or off, mark it first, move it to a folder | `can_setup` | Planned | | POST | `/scripts/{id}/duplicate` | Copy a script (the copy is never first) | `can_setup` | Planned | | DELETE | `/scripts/{id}` | Delete a script | `can_setup` | Planned | | GET | `/scripts/folders` | Folders of a creator (`creator_id=`) | `can_setup` | Planned | | POST | `/scripts/folders` | Create a folder | `can_setup` | Planned | | PATCH | `/scripts/folders/{id}` | Rename a folder | `can_setup` | Planned | | DELETE | `/scripts/folders/{id}` | Delete a folder; its scripts move to "No folder" | `can_setup` | Planned | | POST | `/conversations/{id}/script` | Run a script on one conversation (see [Conversations](https://lanachat.ai/guides/api-conversations/)) | `can_chat` | Planned | ### The script object ```json { "id": "scr_204", "creator_id": "cr_lea", "name": "Welcome message", "goal": "First sale within the first day", "folder_id": "fld_12", "active": true, "first": true, "account_ids": null, "steps": [ { "id": "st_1", "name": "Hello", "text": "Hey you 😊 glad you found me here", "media": [], "wait_minutes": 0, "pricing": { "mode": "free" } }, { "id": "st_2", "name": "First set", "text": "Made this one this morning…", "media": ["med_5521", "med_5522"], "wait_minutes": 20, "pricing": { "mode": "paid", "stars": 250, "discount_stars": 200 } } ], "created_at": "2026-09-30T10:00:00Z", "updated_at": "2026-10-05T16:22:00Z" } ``` | Field | Type | Description | |---|---|---| | `id` | string | Starts with `scr_` | | `creator_id` | string | The creator whose fans receive it | | `name` | string | Its name in the Console | | `goal` | string or null | What the script is for, in your words | | `folder_id` | string or null | Its folder; `null` is "No folder" | | `active` | boolean | `false` means it never runs | | `first` | boolean | `true` means it runs on new conversations | | `account_ids` | array or null | `null` means every Telegram account of the creator; an array means only those (at least one) | | `steps` | array | The steps, in order (see below) | | `created_at`, `updated_at` | string | ISO 8601, UTC | Each step has: | Field | Type | Description | |---|---|---| | `id` | string | Starts with `st_` | | `name` | string | Its name in the editor | | `text` | string | The message the fan receives | | `media` | array of strings | Media ids from the creator's [Vault](https://lanachat.ai/guides/api-vault/) | | `wait_minutes` | number | Wait before this step is sent | | `pricing.mode` | string | `free`, `vault` (each media at its Vault price) or `paid` (one price for the whole step) | | `pricing.stars` | number | The price in Stars, when `mode` is `paid` | | `pricing.discount_stars` | number | Optional lower price in Stars | Setting `first: true` on a script removes it from the creator's other scripts. ### Scripts #### List scripts `GET /scripts` · `can_setup` | Parameter | Type | Required | Description | |---|---|---|---| | `creator_id` | string | Yes | The creator | | `folder_id` | string | No | Only the scripts of this folder | | `active` | boolean | No | `true` lists only the scripts that are on | | `limit`, `cursor` | number, string | No | [Pagination](https://lanachat.ai/guides/api-overview/) | ```bash curl "https://api.lanachat.ai/v1/scripts?creator_id=cr_lea&active=true" \ -H "Authorization: Bearer $LANACHAT_TOKEN" ``` The answer is a page of script objects in `data`, with `next_cursor`. Without `creator_id` the API answers `400`. #### Create a script `POST /scripts` · `can_setup` | Parameter | Type | Required | Description | |---|---|---|---| | `creator_id` | string | Yes | The creator | | `name` | string | Yes | Its name | | `steps` | array | Yes | The steps, as in the object above (without `id`) | | `goal` | string | No | What it is for | | `folder_id` | string | No | A folder of the same creator | | `account_ids` | array of strings | No | Only these accounts; leave it out for all | ```bash curl -X POST https://api.lanachat.ai/v1/scripts \ -H "Authorization: Bearer $LANACHAT_TOKEN" \ -H "Idempotency-Key: $(uuidgen)" \ -H "Content-Type: application/json" \ -d '{"creator_id": "cr_lea", "name": "Win back", "steps": [{"name": "Miss you", "text": "Hey stranger, where did you go?", "wait_minutes": 0, "pricing": {"mode": "free"}}]}' ``` ```json { "id": "scr_231", "creator_id": "cr_lea", "name": "Win back", "goal": null, "folder_id": null, "active": true, "first": false, "account_ids": null, "steps": [ { "id": "st_1", "name": "Miss you", "text": "Hey stranger, where did you go?", "media": [], "wait_minutes": 0, "pricing": { "mode": "free" } } ], "created_at": "2026-10-06T14:30:00Z", "updated_at": "2026-10-06T14:30:00Z" } ``` The answer is the new script (`201`), active, not first, in no folder. A media id from another creator's Vault is refused (`400`). #### Get a script `GET /scripts/{id}` · `can_setup` ```bash curl https://api.lanachat.ai/v1/scripts/scr_204 \ -H "Authorization: Bearer $LANACHAT_TOKEN" ``` The answer is the script object with all its steps. #### Replace a script `PUT /scripts/{id}` · `can_setup` Send the whole script: `name`, `steps`, `folder_id` and `account_ids`, as in Create a script. Steps you leave out are removed. ```bash curl -X PUT https://api.lanachat.ai/v1/scripts/scr_231 \ -H "Authorization: Bearer $LANACHAT_TOKEN" \ -H "Content-Type: application/json" \ -d '{"name": "Win back", "folder_id": "fld_12", "account_ids": null, "steps": [{"name": "Miss you", "text": "Hey stranger, where did you go?", "wait_minutes": 0, "pricing": {"mode": "free"}}, {"name": "Gift", "text": "Kept this one for you", "media": ["med_5522"], "wait_minutes": 30, "pricing": {"mode": "paid", "stars": 200}}]}' ``` The answer is the updated script. An empty `account_ids` array answers `400`: use `null` for every account. #### Turn on, mark first, move `PATCH /scripts/{id}` · `can_setup` | Parameter | Type | Required | Description | |---|---|---|---| | `active` | boolean | No | Turn it on or off | | `first` | boolean | No | `true` makes it the script of new conversations | | `folder_id` | string or null | No | Move it; `null` is "No folder" | ```bash curl -X PATCH https://api.lanachat.ai/v1/scripts/scr_231 \ -H "Authorization: Bearer $LANACHAT_TOKEN" \ -H "Content-Type: application/json" \ -d '{"first": true}' ``` The answer is the updated script. The creator's previous first script loses `first`. #### Duplicate a script `POST /scripts/{id}/duplicate` · `can_setup` ```bash curl -X POST https://api.lanachat.ai/v1/scripts/scr_204/duplicate \ -H "Authorization: Bearer $LANACHAT_TOKEN" \ -H "Idempotency-Key: $(uuidgen)" ``` The answer is the copy (`201`). The copy is never first. #### Delete a script `DELETE /scripts/{id}` · `can_setup` ```bash curl -X DELETE https://api.lanachat.ai/v1/scripts/scr_231 \ -H "Authorization: Bearer $LANACHAT_TOKEN" ``` ### Folders #### List folders `GET /scripts/folders` · `can_setup` | Parameter | Type | Required | Description | |---|---|---|---| | `creator_id` | string | Yes | The creator | ```bash curl "https://api.lanachat.ai/v1/scripts/folders?creator_id=cr_lea" \ -H "Authorization: Bearer $LANACHAT_TOKEN" ``` #### Create a folder `POST /scripts/folders` · `can_setup` | Parameter | Type | Required | Description | |---|---|---|---| | `creator_id` | string | Yes | The creator | | `name` | string | Yes | Folder name | ```bash curl -X POST https://api.lanachat.ai/v1/scripts/folders \ -H "Authorization: Bearer $LANACHAT_TOKEN" \ -H "Idempotency-Key: $(uuidgen)" \ -H "Content-Type: application/json" \ -d '{"creator_id": "cr_lea", "name": "Win back"}' ``` #### Rename a folder `PATCH /scripts/folders/{id}` · `can_setup` ```bash curl -X PATCH https://api.lanachat.ai/v1/scripts/folders/fld_12 \ -H "Authorization: Bearer $LANACHAT_TOKEN" \ -H "Content-Type: application/json" \ -d '{"name": "Welcome"}' ``` #### Delete a folder `DELETE /scripts/folders/{id}` · `can_setup` ```bash curl -X DELETE https://api.lanachat.ai/v1/scripts/folders/fld_12 \ -H "Authorization: Bearer $LANACHAT_TOKEN" ``` Its scripts are kept and move to "No folder". ### Run a script on a conversation `POST /conversations/{id}/script` · `can_chat` Starts a script on one fan's conversation: `state` becomes `script` until it ends. Body, example and rules are in [Conversations](https://lanachat.ai/guides/api-conversations/). --- ## API: Vault media and signed uploads _API · 5 min read · Updated 2026-10-23 · https://lanachat.ai/guides/api-vault/_ The **Vault** holds a creator's photos, videos and voice notes, sorted in folders. Each item is **Free**, **Teaser** or **Paid** with a Stars price. Files never travel through the API: you ask for a **signed upload URL**, send the file there, then confirm. ### Endpoints | Method | Path | Description | Permission | Status | |---|---|---|---|---| | GET | `/media` | List media (`creator_id=` required, `folder_id=`, `type=photo,video,voice`, `access=free,teaser,paid`) | `can_setup` | Planned | | POST | `/media/uploads` | Get a signed URL to upload one file (valid 15 minutes) | `can_setup` | Planned | | POST | `/media/uploads/{upload_id}/complete` | Confirm the upload; the media is created and processed | `can_setup` | Planned | | GET | `/media/{id}` | One media, its preview and where it is used | `can_setup` | Planned | | PATCH | `/media/{id}` | Change its description, access, price or folder | `can_setup` | Planned | | DELETE | `/media/{id}` | Delete it (refused while a script step uses it) | `can_setup` | Planned | | GET | `/media/folders` | Folders of a creator's Vault | `can_setup` | Planned | | POST | `/media/folders` | Create a folder | `can_setup` | Planned | | PATCH | `/media/folders/{id}` | Rename or move a folder | `can_setup` | Planned | | DELETE | `/media/folders/{id}` | Delete an empty folder | `can_setup` | Planned | ### The media object ```json { "id": "med_5521", "creator_id": "cr_lea", "type": "photo", "status": "ready", "folder_id": "vf_3", "access": "paid", "stars": 300, "description": "Beach, golden hour, white bikini", "preview_url": "https://cdn.lanachat.ai/w/7Hq2/cr_lea/med_5521/preview.jpg", "created_at": "2026-10-06T14:21:40Z" } ``` | Field | Type | Description | |---|---|---| | `id` | string | Starts with `med_` | | `creator_id` | string | Whose Vault it is in | | `type` | string | `photo`, `video` or `voice` | | `status` | string | `processing`, `ready` or `failed` (with a reason) | | `folder_id` | string or null | Its Vault folder | | `access` | string | `free`, `teaser` or `paid` | | `stars` | number or null | Price in Stars, required when `access` is `paid` (1 to 100,000) | | `description` | string or null | Helps the AI pick the right media; never shown to the fan | | `preview_url` | string or null | A preview, once the media is `ready` | | `created_at` | string | ISO 8601, UTC | ### Media #### List media `GET /media` · `can_setup` | Parameter | Type | Required | Description | |---|---|---|---| | `creator_id` | string | Yes | The creator | | `folder_id` | string | No | Only this folder | | `type` | string | No | `photo`, `video` or `voice`; several separated by commas | | `access` | string | No | `free`, `teaser` or `paid`; several separated by commas | | `limit`, `cursor` | number, string | No | [Pagination](https://lanachat.ai/guides/api-overview/) | ```bash curl "https://api.lanachat.ai/v1/media?creator_id=cr_lea&type=photo&access=paid" \ -H "Authorization: Bearer $LANACHAT_TOKEN" ``` ```json { "data": [ { "id": "med_5522", "creator_id": "cr_lea", "type": "photo", "status": "ready", "folder_id": "vf_3", "access": "paid", "stars": 250, "description": "Mirror, black dress", "preview_url": "https://cdn.lanachat.ai/w/7Hq2/cr_lea/med_5522/preview.jpg", "created_at": "2026-10-06T14:25:10Z" }, { "id": "med_5521", "creator_id": "cr_lea", "type": "photo", "status": "ready", "folder_id": "vf_3", "access": "paid", "stars": 300, "description": "Beach, golden hour, white bikini", "preview_url": "https://cdn.lanachat.ai/w/7Hq2/cr_lea/med_5521/preview.jpg", "created_at": "2026-10-06T14:21:40Z" } ], "next_cursor": null } ``` Without `creator_id` the API answers `400`. #### Upload a file Three calls: ask for a signed URL, send the file there, confirm. **Step 1.** `POST /media/uploads` · `can_setup` | Parameter | Type | Required | Description | |---|---|---|---| | `creator_id` | string | Yes | Whose Vault receives it | | `file_name` | string | Yes | The file name, for example `beach-01.jpg` | | `content_type` | string | Yes | For example `image/jpeg` or `video/mp4` | | `size_bytes` | number | Yes | File size, up to 2 GB | | `folder_id` | string | No | The Vault folder to put it in | ```bash curl -X POST https://api.lanachat.ai/v1/media/uploads \ -H "Authorization: Bearer $LANACHAT_TOKEN" \ -H "Idempotency-Key: $(uuidgen)" \ -H "Content-Type: application/json" \ -d '{"creator_id": "cr_lea", "file_name": "beach-01.jpg", "content_type": "image/jpeg", "size_bytes": 2483201, "folder_id": "vf_3"}' ``` ```json { "upload_id": "up_7781", "url": "https://uploads.lanachat.ai/w/7Hq2/up_7781?X-Signature=…&X-Expires=1759760100", "method": "PUT", "headers": { "Content-Type": "image/jpeg" }, "expires_at": "2026-10-06T14:35:00Z" } ``` The URL is valid 15 minutes. **Step 2.** Send the file with `PUT` to `url`, with exactly the `headers` given (no `Authorization` header there). ```bash curl -X PUT "https://uploads.lanachat.ai/w/7Hq2/up_7781?X-Signature=…&X-Expires=1759760100" \ -H "Content-Type: image/jpeg" --data-binary @beach-01.jpg ``` **Step 3.** `POST /media/uploads/{upload_id}/complete` · `can_setup` ```bash curl -X POST https://api.lanachat.ai/v1/media/uploads/up_7781/complete \ -H "Authorization: Bearer $LANACHAT_TOKEN" \ -H "Idempotency-Key: $(uuidgen)" ``` ```json { "id": "med_5521", "creator_id": "cr_lea", "type": "photo", "status": "processing", "folder_id": "vf_3", "access": "paid", "stars": null, "description": null, "preview_url": null, "created_at": "2026-10-06T14:21:40Z" } ``` `status` goes from `processing` to `ready` (previews and the Telegram copy are made) or `failed` with a reason. A webhook `media.ready` tells you when, see [Webhooks](https://lanachat.ai/guides/api-webhooks/). Accepted: JPEG, PNG, HEIC, MP4, MOV, OGG and M4A, up to 2 GB. #### Get a media `GET /media/{id}` · `can_setup` ```bash curl https://api.lanachat.ai/v1/media/med_5521 \ -H "Authorization: Bearer $LANACHAT_TOKEN" ``` The answer is the media object, with its preview and where it is used. An unknown id answers `404`. #### Price and describe `PATCH /media/{id}` · `can_setup` | Parameter | Type | Required | Description | |---|---|---|---| | `access` | string | No | `free`, `teaser` or `paid` | | `stars` | number | When `access` is `paid` | 1 to 100,000 | | `description` | string | No | What it shows, for the AI | | `folder_id` | string or null | No | Move it to another folder | ```bash curl -X PATCH https://api.lanachat.ai/v1/media/med_5521 \ -H "Authorization: Bearer $LANACHAT_TOKEN" \ -H "Content-Type: application/json" \ -d '{"access": "paid", "stars": 300, "description": "Beach, golden hour, white bikini"}' ``` The answer is the updated media. `stars` is required when `access` is `paid` (1 to 100,000), otherwise the API answers `400`. The description helps the AI pick the right media; it is never shown to the fan. #### Delete a media `DELETE /media/{id}` · `can_setup` ```bash curl -X DELETE https://api.lanachat.ai/v1/media/med_5521 \ -H "Authorization: Bearer $LANACHAT_TOKEN" ``` A media that a script step still uses is refused (`409`): take it out of the [script](https://lanachat.ai/guides/api-scripts/) first. ### Folders #### List folders `GET /media/folders` · `can_setup` | Parameter | Type | Required | Description | |---|---|---|---| | `creator_id` | string | Yes | Whose Vault | ```bash curl "https://api.lanachat.ai/v1/media/folders?creator_id=cr_lea" \ -H "Authorization: Bearer $LANACHAT_TOKEN" ``` #### Create a folder `POST /media/folders` · `can_setup` | Parameter | Type | Required | Description | |---|---|---|---| | `creator_id` | string | Yes | Whose Vault | | `name` | string | Yes | Folder name | ```bash curl -X POST https://api.lanachat.ai/v1/media/folders \ -H "Authorization: Bearer $LANACHAT_TOKEN" \ -H "Idempotency-Key: $(uuidgen)" \ -H "Content-Type: application/json" \ -d '{"creator_id": "cr_lea", "name": "Beach"}' ``` #### Rename or move a folder `PATCH /media/folders/{id}` · `can_setup` ```bash curl -X PATCH https://api.lanachat.ai/v1/media/folders/vf_3 \ -H "Authorization: Bearer $LANACHAT_TOKEN" \ -H "Content-Type: application/json" \ -d '{"name": "Beach, summer"}' ``` #### Delete a folder `DELETE /media/folders/{id}` · `can_setup` ```bash curl -X DELETE https://api.lanachat.ai/v1/media/folders/vf_3 \ -H "Authorization: Bearer $LANACHAT_TOKEN" ``` Only an empty folder can be deleted; otherwise the API answers `409`. --- ## API: fans, conversations and messages _API · 7 min read · Updated 2026-10-23 · https://lanachat.ai/guides/api-conversations/_ A **fan** is a Telegram user who wrote to one of your creators. A **conversation** is the chat between that fan and one Telegram account. Messages are sent by the AI, by a teammate or by a script. These endpoints match **Live Convs** and **Fans** in the Console. ### Endpoints | Method | Path | Description | Permission | Status | |---|---|---|---|---| | GET | `/fans` | List fans (`creator_id=`, `status=`, `list_id=`, `q=`, `spent_min=`) | `can_fan_read` | Planned | | GET | `/fans/{id}` | One fan: languages, spend, status, lists, notes | `can_fan_read` | Planned | | PATCH | `/fans/{id}` | Change the fan's alias, reply language or notes | `can_chat` | Planned | | GET | `/fans/{id}/sales` | The fan's purchases | `can_sales_read` | Planned | | POST | `/fans/import` | Import past fans and messages (never sends anything) | `can_fan_import` | Planned | | GET | `/fan-lists` | Lists (VIPs, win back…) | `can_fan_read` | Planned | | POST | `/fan-lists` | Create a list | `can_chat` | Planned | | POST | `/fan-lists/{id}/members` | Add fans to a list | `can_chat` | Planned | | DELETE | `/fan-lists/{id}/members` | Remove fans from a list | `can_chat` | Planned | | GET | `/conversations` | List conversations (`creator_id=`, `account_id=`, `state=`, `unread=true`) | `can_fan_read` | Planned | | GET | `/conversations/{id}` | One conversation and who is replying | `can_fan_read` | Planned | | GET | `/conversations/{id}/messages` | Messages, newest first (`translate=en` adds a translation) | `can_fan_read` | Planned | | POST | `/conversations/{id}/messages` | Send a message as the creator (text, media, offer) | `can_chat` | Planned | | POST | `/conversations/{id}/reactions` | Add or remove a reaction on a fan's message | `can_chat` | Planned | | POST | `/conversations/{id}/takeover` | A person takes over: the AI stops answering this fan | `can_chat` | Planned | | POST | `/conversations/{id}/release` | Give the conversation back to the AI | `can_chat` | Planned | | POST | `/conversations/{id}/script` | Run a script on this conversation | `can_chat` | Planned | | POST | `/conversations/{id}/read` | Mark the conversation as read | `can_chat` | Planned | ### The fan object ```json { "id": "fan_921", "display_name": "Marco", "username": "marco_dl", "creator_id": "cr_lea", "purchases": 9, "spent": { "stars": 1450, "net_cents": 1885 }, "lists": ["vip"] } ``` | Field | Type | Description | |---|---|---| | `id` | string | Starts with `fan_` | | `display_name` | string | The fan's name on Telegram | | `username` | string or null | The fan's Telegram @username, without the @ | | `creator_id` | string | The creator this fan wrote to | | `purchases` | number | Verified purchases so far | | `spent` | object | Total spent: `stars`, and `net_cents` in US cents after Telegram's share and refunds | | `lists` | array of strings | Ids of the fan lists this fan is in | A fan also carries the languages they write in, their status tag, the team's notes, an alias and a reply language, as on the **Fans** page. ### The conversation object ```json { "id": "conv_1001_88231", "fan_id": "fan_921", "creator_id": "cr_lea", "account_id": "acc_1001", "state": "ai", "status": { "tag": "active", "reason": null }, "unread": 2, "last_message_at": "2026-10-06T14:02:51Z", "spent": { "stars": 1450, "net_cents": 1885 }, "source_link_id": "lnk_3" } ``` | Field | Type | Description | |---|---|---| | `id` | string | Starts with `conv_` | | `fan_id`, `creator_id`, `account_id` | string | Who talks to whom, on which Telegram account | | `state` | string | Who replies: `ai`, `human` (taken over), `script` (a script is running) or `off` | | `status` | object | `tag` (the status tags of the Fans page) and the `reason` when there is one | | `unread` | number | Fan messages not read yet | | `last_message_at` | string | ISO 8601, UTC | | `spent` | object | What the fan spent in this conversation: `stars` and `net_cents` | | `source_link_id` | string or null | The tracking link the fan came from | `status.tag` matches the status tags of the Fans page (`review`, `safety_hold`, `converted`, `lost`, `underage`…). An `off` conversation for a safety reason cannot be released to the AI (`409`). ### The message object ```json { "id": "msg_77120", "from": "creator", "sent_by": "ai", "text": "Made this one this morning…", "media": [ { "id": "med_5521", "locked": true, "stars": 300 } ], "at": "2026-10-06T14:02:51Z" } ``` | Field | Type | Description | |---|---|---| | `id` | string | Starts with `msg_` | | `from` | string | `creator` or `fan` | | `sent_by` | string | For creator messages: `ai`, `human` or `script` | | `member_id` | string | The teammate who sent it, when `sent_by` is `human` from the Console | | `token_id` | string | The access token that sent it, when it came from the API | | `text` | string | The text of the message | | `media` | array | Media sent: `id`, `locked` (paid and not bought yet) and its price in `stars` | | `reactions` | array | Reactions on a fan message | | `status` | string | For messages you send: `queued`, `sent`, `read` or `failed` | | `at` | string | ISO 8601, UTC | `sent_by` decides the commission rate of a sale, so it is set by the server and never by your request. ### The sale object ```json { "sale_id": "sale_8812", "fan_id": "fan_921", "creator_id": "cr_lea", "account_id": "acc_1001", "conversation_id": "conv_1001_88231", "stars": 300, "net_cents": 390, "sent_by": "ai", "kind": "offer" } ``` | Field | Type | Description | |---|---|---| | `sale_id` | string | Starts with `sale_` | | `fan_id`, `creator_id`, `account_id`, `conversation_id` | string | Who bought, from whom, where | | `stars` | number | Price paid in Telegram Stars | | `net_cents` | number | Net value in US cents (a Star counts $0.013) | | `sent_by` | string | `ai`, `human` or `script`: who sent the offer, it sets the commission rate | | `kind` | string | What was bought, for example `offer` | The same object arrives by [webhook](https://lanachat.ai/guides/api-webhooks/), event `sale.completed`. ### Fans #### List fans `GET /fans` · `can_fan_read` | Parameter | Type | Required | Description | |---|---|---|---| | `creator_id` | string | No | Only the fans of this creator | | `status` | string | No | A status tag of the Fans page, for example `converted` | | `list_id` | string | No | Only the fans of this list | | `q` | string | No | Part of the fan's name or username | | `spent_min` | number | No | Only fans who spent at least this many Stars | | `limit`, `cursor` | number, string | No | [Pagination](https://lanachat.ai/guides/api-overview/) | ```bash curl "https://api.lanachat.ai/v1/fans?creator_id=cr_lea&spent_min=1000&limit=50" \ -H "Authorization: Bearer $LANACHAT_TOKEN" ``` ```json { "data": [ { "id": "fan_921", "display_name": "Marco", "username": "marco_dl", "creator_id": "cr_lea", "purchases": 9, "spent": { "stars": 1450, "net_cents": 1885 }, "lists": ["vip"] } ], "next_cursor": null } ``` #### Get a fan `GET /fans/{id}` · `can_fan_read` ```bash curl https://api.lanachat.ai/v1/fans/fan_921 \ -H "Authorization: Bearer $LANACHAT_TOKEN" ``` The answer is the fan object. An unknown id answers `404`. #### Update a fan `PATCH /fans/{id}` · `can_chat` Send only what changes: the fan's alias, reply language or notes. The answer is the updated fan. ```bash curl -X PATCH https://api.lanachat.ai/v1/fans/fan_921 \ -H "Authorization: Bearer $LANACHAT_TOKEN" \ -H "Content-Type: application/json" \ -d '{"notes": "Likes beach sets, buys at night"}' ``` #### List a fan's purchases `GET /fans/{id}/sales` · `can_sales_read` ```bash curl https://api.lanachat.ai/v1/fans/fan_921/sales \ -H "Authorization: Bearer $LANACHAT_TOKEN" ``` ```json { "data": [ { "sale_id": "sale_8812", "fan_id": "fan_921", "creator_id": "cr_lea", "account_id": "acc_1001", "conversation_id": "conv_1001_88231", "stars": 300, "net_cents": 390, "sent_by": "ai", "kind": "offer" } ], "next_cursor": null } ``` A paged list of sale objects. For totals per day, link or source, use [stats](https://lanachat.ai/guides/api-tracking/). #### Import fan history `POST /fans/import` · `can_fan_import` Adds past fans and their messages to your records, for example from another tool. It never sends a message to a fan and never confirms a purchase. ```bash curl -X POST https://api.lanachat.ai/v1/fans/import \ -H "Authorization: Bearer $LANACHAT_TOKEN" \ -H "Idempotency-Key: $(uuidgen)" \ -H "Content-Type: application/json" \ -d @fans-history.json ``` ### Fan lists #### List fan lists `GET /fan-lists` · `can_fan_read` ```bash curl https://api.lanachat.ai/v1/fan-lists \ -H "Authorization: Bearer $LANACHAT_TOKEN" ``` ```json { "data": [ { "id": "vip", "name": "VIP" } ], "next_cursor": null } ``` #### Create a list `POST /fan-lists` · `can_chat` | Parameter | Type | Required | Description | |---|---|---|---| | `name` | string | Yes | The name shown on the Fans page | ```bash curl -X POST https://api.lanachat.ai/v1/fan-lists \ -H "Authorization: Bearer $LANACHAT_TOKEN" \ -H "Idempotency-Key: $(uuidgen)" \ -H "Content-Type: application/json" \ -d '{"name": "Win back"}' ``` The answer is the new list (`201`). #### Add or remove fans `POST /fan-lists/{id}/members` and `DELETE /fan-lists/{id}/members` · `can_chat` | Parameter | Type | Required | Description | |---|---|---|---| | `fan_ids` | array of strings | Yes | The fans to add or remove | ```bash curl -X POST https://api.lanachat.ai/v1/fan-lists/vip/members \ -H "Authorization: Bearer $LANACHAT_TOKEN" \ -H "Idempotency-Key: $(uuidgen)" \ -H "Content-Type: application/json" \ -d '{"fan_ids": ["fan_921"]}' ``` `DELETE` takes the same body. An unknown list or fan answers `404`. ### Conversations #### List conversations `GET /conversations` · `can_fan_read` | Parameter | Type | Required | Description | |---|---|---|---| | `creator_id` | string | No | Only this creator | | `account_id` | string | No | Only this Telegram account | | `state` | string | No | `ai`, `human`, `script` or `off` | | `unread` | boolean | No | `true`: only conversations with unread fan messages | | `limit`, `cursor` | number, string | No | [Pagination](https://lanachat.ai/guides/api-overview/) | ```bash curl "https://api.lanachat.ai/v1/conversations?creator_id=cr_lea&unread=true" \ -H "Authorization: Bearer $LANACHAT_TOKEN" ``` ```json { "data": [ { "id": "conv_1001_88231", "fan_id": "fan_921", "creator_id": "cr_lea", "account_id": "acc_1001", "state": "ai", "status": { "tag": "active", "reason": null }, "unread": 2, "last_message_at": "2026-10-06T14:02:51Z", "spent": { "stars": 1450, "net_cents": 1885 }, "source_link_id": "lnk_3" } ], "next_cursor": null } ``` #### Get a conversation `GET /conversations/{id}` · `can_fan_read` ```bash curl https://api.lanachat.ai/v1/conversations/conv_1001_88231 \ -H "Authorization: Bearer $LANACHAT_TOKEN" ``` The answer is the conversation object; `state` says who is replying. #### Read messages `GET /conversations/{id}/messages` · `can_fan_read` | Parameter | Type | Required | Description | |---|---|---|---| | `translate` | string | No | A language code, for example `en`: each message also gets a translation | | `limit`, `cursor` | number, string | No | [Pagination](https://lanachat.ai/guides/api-overview/), newest first | ```bash curl "https://api.lanachat.ai/v1/conversations/conv_1001_88231/messages?limit=2" \ -H "Authorization: Bearer $LANACHAT_TOKEN" ``` ```json { "data": [ { "id": "msg_77120", "from": "creator", "sent_by": "ai", "text": "Made this one this morning…", "media": [ { "id": "med_5521", "locked": true, "stars": 300 } ], "at": "2026-10-06T14:02:51Z" }, { "id": "msg_77119", "from": "fan", "text": "show me more 😍", "reactions": [], "at": "2026-10-06T14:02:10Z" } ], "next_cursor": "eyJpZCI6Im1zZ183NzExOCJ9" } ``` `sent_by` is `ai`, `human` (with `member_id`) or `script`. #### Send a message `POST /conversations/{id}/messages` · `can_chat` | Parameter | Type | Required | Description | |---|---|---|---| | `text` | string | Yes, or `media` | The text, as the creator | | `media` | array | No | Vault media: `id`, and `stars` to sell it locked at that price | | `send_at` | string or null | No | ISO 8601 time to schedule it, up to 7 days ahead; `null` sends now | ```bash curl -X POST https://api.lanachat.ai/v1/conversations/conv_1001_88231/messages \ -H "Authorization: Bearer $LANACHAT_TOKEN" \ -H "Idempotency-Key: $(uuidgen)" \ -H "Content-Type: application/json" \ -d '{"text": "Only for you, tonight 🔥", "media": [{"id": "med_5522", "stars": 250}], "send_at": null}' ``` ```json { "id": "msg_77121", "from": "creator", "sent_by": "human", "token_id": "tok_31", "status": "queued", "at": "2026-10-06T14:03:30Z" } ``` - A message sent through the API counts as sent by a person (`sent_by: "human"`, with the token that sent it) and takes the conversation over (`state: "human"`) until you release it. - `status` goes `queued`, `sent`, then `read`; `failed` carries the Telegram reason (for example a flood wait). - `send_at` schedules the message (up to 7 days ahead). #### React to a message `POST /conversations/{id}/reactions` · `can_chat` | Parameter | Type | Required | Description | |---|---|---|---| | `message_id` | string | Yes | The fan's message | | `emoji` | string | Yes | The reaction | | `on` | boolean | Yes | `true` adds it, `false` removes it | ```bash curl -X POST https://api.lanachat.ai/v1/conversations/conv_1001_88231/reactions \ -H "Authorization: Bearer $LANACHAT_TOKEN" \ -H "Idempotency-Key: $(uuidgen)" \ -H "Content-Type: application/json" \ -d '{"message_id": "msg_77119", "emoji": "❤️", "on": true}' ``` #### Take over `POST /conversations/{id}/takeover` · `can_chat` ```bash curl -X POST https://api.lanachat.ai/v1/conversations/conv_1001_88231/takeover \ -H "Authorization: Bearer $LANACHAT_TOKEN" \ -H "Idempotency-Key: $(uuidgen)" ``` ```json { "id": "conv_1001_88231", "state": "human", "taken_by": "tok_31", "taken_at": "2026-10-06T14:04:00Z" } ``` The AI stops answering this fan until you give the conversation back. #### Give back to the AI `POST /conversations/{id}/release` · `can_chat` ```bash curl -X POST https://api.lanachat.ai/v1/conversations/conv_1001_88231/release \ -H "Authorization: Bearer $LANACHAT_TOKEN" \ -H "Idempotency-Key: $(uuidgen)" ``` The answer is the conversation with `state: "ai"`. An `off` conversation for a safety reason cannot be released (`409`). #### Run a script `POST /conversations/{id}/script` · `can_chat` | Parameter | Type | Required | Description | |---|---|---|---| | `script_id` | string | Yes | A script of the same creator, see [Scripts](https://lanachat.ai/guides/api-scripts/) | ```bash curl -X POST https://api.lanachat.ai/v1/conversations/conv_1001_88231/script \ -H "Authorization: Bearer $LANACHAT_TOKEN" \ -H "Idempotency-Key: $(uuidgen)" \ -H "Content-Type: application/json" \ -d '{"script_id": "scr_204"}' ``` While it runs, the conversation's `state` is `script`. #### Mark as read `POST /conversations/{id}/read` · `can_chat` ```bash curl -X POST https://api.lanachat.ai/v1/conversations/conv_1001_88231/read \ -H "Authorization: Bearer $LANACHAT_TOKEN" \ -H "Idempotency-Key: $(uuidgen)" ``` The conversation's `unread` goes back to `0`. --- ## API: tracking links, domains, pixels and stats _API · 9 min read · Updated 2026-10-23 · https://lanachat.ai/guides/api-tracking/_ A **tracking link** sends a visitor to a creator on Telegram and counts what follows: clicks, conversations, first messages, buyers and revenue. Links can live on your own **domain**, fire ad **pixels** (Meta, TikTok, Snap) and send server **events**. These endpoints match the **Tracking** page. ### Endpoints | Method | Path | Description | Permission | Status | |---|---|---|---|---| | GET | `/links` | List links (`creator_id=`, `archived=false`) with their counters | `can_tracking` or `can_sales_read` | Planned | | POST | `/links` | Create a link | `can_tracking` | Planned | | GET | `/links/{id}` | One link | `can_tracking` or `can_sales_read` | Planned | | PUT | `/links/{id}` | Replace a link (name, slug, domain, destination, UTM, pixels) | `can_tracking` | Planned | | DELETE | `/links/{id}` | Archive a link (`permanent=1` deletes it) | `can_tracking` | Planned | | GET | `/domains` | Your domains (`status=active,inactive`, `q=`) | `can_tracking` | Planned | | POST | `/domains` | Add a domain (status `pending`) | `can_tracking` | Planned | | POST | `/domains/{host}/verify` | Check its DNS records now | `can_tracking` | Planned | | PATCH | `/domains/{host}` | Make a verified domain the default, or change its label | `can_tracking` | Planned | | DELETE | `/domains/{host}` | Remove a domain no active link uses | `can_tracking` | Planned | | GET | `/pixels` | The Meta, TikTok and Snap connections and the consent mode | `can_tracking` | Planned | | PUT | `/pixels/{provider}` | Connect or replace a pixel (`meta`, `tiktok`, `snap`) | `owner` | Planned | | DELETE | `/pixels/{provider}` | Disconnect a pixel | `owner` | Planned | | POST | `/pixels/{provider}/test` | Send a test event and return the platform's answer | `can_tracking` | Planned | | PUT | `/pixels/consent` | Consent mode: `page` or `implicit_by_country` | `owner` | Planned | | GET | `/events` | Built-in and custom events, with 7-day delivery counts | `can_tracking` | Planned | | POST | `/events` | Create a custom event | `owner` | Planned | | PATCH | `/events/{id}` | Turn an event on or off per network | `owner` | Planned | | DELETE | `/events/{id}` | Delete a custom event | `owner` | Planned | | GET | `/stats` | Daily totals, per link and per source (`from=`, `to=`, `creator_id=`) | `can_sales_read` | Planned | | GET | `/stats/export.csv` | The same numbers as CSV | `can_sales_read` | Planned | ### The link object ```json { "id": "lnk_3", "name": "TikTok · Lea night", "slug": "lea-tiktok-night", "creator_id": "cr_lea", "source": "tiktok", "campaign": "Autumn", "domain": "go.mia-links.com", "public_url": "https://go.mia-links.com/r/lea-tiktok-night", "destination": "pool", "account_id": null, "utm": { "source": "tiktok", "medium": "social", "campaign": "autumn" }, "pixels": { "meta": false, "tiktok": true, "snap": false }, "counters": { "clicks": 640, "conversations": 97, "first_messages": 76, "buyers": 14, "revenue_stars": 6200 }, "archived": false, "created_at": "2026-09-12T08:00:00Z" } ``` | Field | Type | Description | |---|---|---| | `id` | string | Starts with `lnk_` | | `name` | string | The name your team sees | | `slug` | string | The end of the public URL | | `creator_id` | string | The creator the link sends to | | `source`, `campaign` | string | Where the traffic comes from, and your campaign name | | `domain` | string | A verified domain of the workspace, or the LanaChat domain | | `public_url` | string | `https:///r/`: the URL to put in a bio or an ad | | `destination` | string | `pool` or `account` | | `account_id` | string or null | The fixed account when `destination` is `account` | | `utm` | object | `source`, `medium`, `campaign` | | `pixels` | object | Which connected pixels fire on this link | | `counters` | object | `clicks`, `conversations`, `first_messages`, `buyers`, `revenue_stars` | | `archived` | boolean | Archived links are left out of stats | | `created_at` | string | ISO 8601, UTC | - `destination` is `pool` (the account is chosen at click time among the creator's pool, see [pools](https://lanachat.ai/guides/api-telegram-accounts/)) or `account` (always the same `account_id`). - `slug`: lowercase letters, digits and dashes, 1 to 48 characters, starting and ending with a letter or a digit, unique among active links of the same domain. - `domain` must be a verified domain of the workspace; without it the LanaChat domain is used. - `utm` values: up to 80 letters, digits, dots, dashes or underscores. They are stamped on every click and forwarded to pixel events. ### The domain object ```json { "host": "go.mia-links.com", "builtin": false, "status": "pending", "error": null, "ssl": "none", "is_default": false, "label": "Lea TikTok", "token": "8be03d5f19a2", "checks": 0, "added_at": "2026-10-05T10:00:00Z", "verified_at": null, "last_check_at": null } ``` | Field | Type | Description | |---|---|---| | `host` | string | A subdomain in lowercase (at least 3 labels), unique in the workspace | | `builtin` | boolean | `true` for the LanaChat domain, which can never be removed | | `status` | string | `verified`, `pending` or `error` | | `error` | string or null | A plain sentence when `status` is `error` | | `ssl` | string | `none`, `issuing` or `active` | | `is_default` | boolean | Exactly one verified domain is the default | | `label` | string or null | A name for your team, up to 60 characters | | `token` | string | The value of the TXT verification record | | `checks` | number | DNS checks made so far | | `added_at`, `verified_at`, `last_check_at` | string or null | ISO 8601, UTC | ### The pixel connection object ```json { "connected": true, "pixel_id": "123456789012345", "token_last4": "x9Qa", "token_status": "valid", "token_error": null, "test_event_code": "TEST4821", "connected_at": "2026-10-06T14:30:00Z" } ``` | Field | Type | Description | |---|---|---| | `connected` | boolean | The pixel is connected | | `pixel_id` | string | Meta: 15 or 16 digits. TikTok: 20 capital letters or digits. Snap: a UUID | | `token_last4` | string | The last 4 characters of the access token, never the token itself | | `token_status` | string | `valid`, `expired` or `invalid` | | `token_error` | string or null | A plain sentence, for example "Access token expired on 3 Oct. Replace it to resume delivery." | | `test_event_code` | string or null | The test code of the platform's events manager | | `connected_at` | string | ISO 8601, UTC | ### The event object ```json { "id": "evt_purchase", "name": "Purchase", "builtin": true, "trigger": { "type": "purchase" }, "networks": { "meta": true, "tiktok": true, "snap": false } } ``` | Field | Type | Description | |---|---|---| | `id` | string | The event id | | `name` | string | Built-in name, or your custom name: a letter, then up to 39 letters, digits or underscores, unique in the workspace | | `builtin` | boolean | `true` for Lead, Contact, Purchase, Subscribe and InitiateCheckout | | `trigger` | object | `type`, and a `value` for the triggers that need one | | `networks` | object | On or off for `meta`, `tiktok` and `snap` | ### The stats object ```json { "days": [ { "date": "2026-10-05", "clicks": 54, "conversations": 9, "first_messages": 7, "buyers": 2, "revenue_stars": 950 } ], "links": [ { "link_id": "lnk_3", "clicks": 640, "conversations": 97, "first_messages": 76, "buyers": 14, "revenue_stars": 6200 } ], "sources": [ { "source": "instagram", "clicks": 1210, "conversations": 160, "first_messages": 131, "buyers": 22, "revenue_stars": 9100 } ] } ``` | Field | Type | Description | |---|---|---| | `days` | array | One row per UTC day of the period | | `links` | array | One row per link, over the whole period | | `sources` | array | One row per source group: `instagram`, `tiktok`, `snapchat`, `meta`, `x` and `other` | | `clicks` | number | Redirects served | | `conversations` | number | Telegram conversations started with the link | | `first_messages` | number | Fans who wrote at least once | | `buyers` | number | Distinct fans with a verified Stars purchase in the period | | `revenue_stars` | number | Verified Stars purchases of those fans in the period | ### Links #### List links `GET /links` · `can_tracking` or `can_sales_read` | Parameter | Type | Required | Description | |---|---|---|---| | `creator_id` | string | No | Only this creator's links | | `archived` | boolean | No | `false` (default view) hides archived links | | `limit`, `cursor` | number, string | No | [Pagination](https://lanachat.ai/guides/api-overview/) | ```bash curl "https://api.lanachat.ai/v1/links?creator_id=cr_lea&archived=false" \ -H "Authorization: Bearer $LANACHAT_TOKEN" ``` The answer is a paged list of link objects, each with its `counters`. #### Create a link `POST /links` · `can_tracking` | Parameter | Type | Required | Description | |---|---|---|---| | `name` | string | Yes | The name your team sees | | `slug` | string | Yes | Lowercase letters, digits and dashes, 1 to 48 characters | | `creator_id` | string | Yes | The creator the link sends to | | `source` | string | No | `instagram`, `tiktok`, `snapchat`, `meta`, `x` or another source | | `campaign` | string | No | Your campaign name | | `destination` | string | No | `pool` or `account` | | `account_id` | string | When `destination` is `account` | The fixed Telegram account | | `domain` | string | No | A verified domain; without it the LanaChat domain | | `utm` | object | No | `source`, `medium`, `campaign` | | `pixels` | object | No | `meta`, `tiktok`, `snap`: `true` to fire that pixel | ```bash curl -X POST https://api.lanachat.ai/v1/links \ -H "Authorization: Bearer $LANACHAT_TOKEN" \ -H "Idempotency-Key: $(uuidgen)" \ -H "Content-Type: application/json" \ -d '{"name": "Insta bio · Lea", "slug": "lea-bio", "creator_id": "cr_lea", "source": "instagram", "destination": "pool", "domain": "go.mia-links.com"}' ``` ```json { "id": "lnk_9", "name": "Insta bio · Lea", "slug": "lea-bio", "creator_id": "cr_lea", "source": "instagram", "campaign": null, "domain": "go.mia-links.com", "public_url": "https://go.mia-links.com/r/lea-bio", "destination": "pool", "account_id": null, "utm": { "source": null, "medium": null, "campaign": null }, "pixels": { "meta": false, "tiktok": false, "snap": false }, "counters": { "clicks": 0, "conversations": 0, "first_messages": 0, "buyers": 0, "revenue_stars": 0 }, "archived": false, "created_at": "2026-10-06T14:40:00Z" } ``` - A slug already used answers `409` with `The slug /lea-bio is already used by "Insta bio · Mia".` - A domain that is not verified answers `400` ("Pick a verified domain…"). #### Get a link `GET /links/{id}` · `can_tracking` or `can_sales_read` ```bash curl https://api.lanachat.ai/v1/links/lnk_3 \ -H "Authorization: Bearer $LANACHAT_TOKEN" ``` The answer is the link object. An unknown id answers `404`. #### Replace a link `PUT /links/{id}` · `can_tracking` Same body as **Create a link**; `PUT` replaces the whole link, so send every field you want to keep. ```bash curl -X PUT https://api.lanachat.ai/v1/links/lnk_3 \ -H "Authorization: Bearer $LANACHAT_TOKEN" \ -H "Content-Type: application/json" \ -d '{"name": "TikTok · Lea night", "slug": "lea-tiktok-night", "creator_id": "cr_lea", "source": "tiktok", "campaign": "Autumn", "destination": "pool", "domain": "go.mia-links.com", "utm": {"source": "tiktok", "medium": "social", "campaign": "autumn"}, "pixels": {"meta": false, "tiktok": true, "snap": false}}' ``` The answer is the updated link. Same errors as when you create one. #### Archive or delete a link `DELETE /links/{id}` · `can_tracking` | Parameter | Type | Required | Description | |---|---|---|---| | `permanent` | number | No | `1` deletes the link for good instead of archiving it | ```bash curl -X DELETE https://api.lanachat.ai/v1/links/lnk_3 \ -H "Authorization: Bearer $LANACHAT_TOKEN" ``` An archived link is left out of stats. ### Domains To use your own domain, add it, create two DNS records, then verify it: - `CNAME go.mia-links.com → links.lanachat.app` - `TXT _lanachat.go.mia-links.com = lanachat-verify=8be03d5f19a2` Pending domains are also checked every 10 minutes for 72 hours, then daily. `status` becomes `verified` and `ssl` goes `issuing` then `active`. #### List domains `GET /domains` · `can_tracking` | Parameter | Type | Required | Description | |---|---|---|---| | `status` | string | No | `active` (verified) or `inactive` (pending or error) | | `q` | string | No | Part of the host or the label | ```bash curl "https://api.lanachat.ai/v1/domains?status=active" \ -H "Authorization: Bearer $LANACHAT_TOKEN" ``` The answer lists domain objects, the LanaChat domain included (`builtin: true`). #### Add a domain `POST /domains` · `can_tracking` | Parameter | Type | Required | Description | |---|---|---|---| | `host` | string | Yes | A subdomain, for example `go.mia-links.com` | ```bash curl -X POST https://api.lanachat.ai/v1/domains \ -H "Authorization: Bearer $LANACHAT_TOKEN" \ -H "Idempotency-Key: $(uuidgen)" \ -H "Content-Type: application/json" \ -d '{"host": "go.mia-links.com"}' ``` The answer is the new domain with `status: "pending"` and its `token` for the TXT record. The host is cleaned (lowercase, no `https://`, no path). Root domains, `*.lanachat.app` and a domain already added answer `400` with a sentence. #### Verify a domain `POST /domains/{host}/verify` · `can_tracking` ```bash curl -X POST https://api.lanachat.ai/v1/domains/go.mia-links.com/verify \ -H "Authorization: Bearer $LANACHAT_TOKEN" \ -H "Idempotency-Key: $(uuidgen)" ``` ```json { "host": "go.mia-links.com", "builtin": false, "status": "verified", "error": null, "ssl": "issuing", "is_default": false, "label": null, "token": "8be03d5f19a2", "checks": 3, "added_at": "2026-10-05T10:00:00Z", "verified_at": "2026-10-06T14:45:00Z", "last_check_at": "2026-10-06T14:45:00Z" } ``` When a record is wrong, `status` is `error` and `error` says which, for example "The CNAME record points to another service." The LanaChat domain cannot be verified (its DNS is managed by LanaChat). #### Change a domain `PATCH /domains/{host}` · `can_tracking` | Parameter | Type | Required | Description | |---|---|---|---| | `is_default` | boolean | No | `true` makes it the default domain; the previous default stops being one | | `label` | string or null | No | A name for your team, up to 60 characters | ```bash curl -X PATCH https://api.lanachat.ai/v1/domains/go.mia-links.com \ -H "Authorization: Bearer $LANACHAT_TOKEN" \ -H "Content-Type: application/json" \ -d '{"is_default": true}' ``` Only a verified domain can be the default. The LanaChat domain refuses a label (`403`). #### Remove a domain `DELETE /domains/{host}` · `can_tracking` ```bash curl -X DELETE https://api.lanachat.ai/v1/domains/go.mia-links.com \ -H "Authorization: Bearer $LANACHAT_TOKEN" ``` Removing the LanaChat domain, the default domain ("Set another default domain first") or a domain used by active links ("Used by N active links across all creators") answers `409`. ### Pixels Events are sent server to server, deduplicated with the browser pixel through the same `event_id`, with the fan's Telegram id hashed (SHA-256), never raw. Without consent no event is sent, ever. A pixel fires only for links that enable it. #### Read pixel connections `GET /pixels` · `can_tracking` ```bash curl https://api.lanachat.ai/v1/pixels \ -H "Authorization: Bearer $LANACHAT_TOKEN" ``` The answer holds one pixel connection for each of `meta`, `tiktok` and `snap`, and the consent `mode`. #### Connect a pixel `PUT /pixels/{provider}` · `owner` | Parameter | Type | Required | Description | |---|---|---|---| | `pixel_id` | string | Yes | Meta: 15 or 16 digits. TikTok: 20 capital letters or digits. Snap: a UUID | | `access_token` | string | Yes | The Conversions API token of the platform | | `test_event_code` | string | No | The platform's test code | ```bash curl -X PUT https://api.lanachat.ai/v1/pixels/meta \ -H "Authorization: Bearer $LANACHAT_TOKEN" \ -H "Content-Type: application/json" \ -d '{"pixel_id": "123456789012345", "access_token": "EAAG…", "test_event_code": "TEST4821"}' ``` ```json { "connected": true, "pixel_id": "123456789012345", "token_last4": "x9Qa", "token_status": "valid", "token_error": null, "test_event_code": "TEST4821", "connected_at": "2026-10-06T14:30:00Z" } ``` The access token is stored encrypted and never returned: only `token_last4`. A pixel id in the wrong format or an empty token answers `400`. #### Disconnect a pixel `DELETE /pixels/{provider}` · `owner` ```bash curl -X DELETE https://api.lanachat.ai/v1/pixels/meta \ -H "Authorization: Bearer $LANACHAT_TOKEN" ``` #### Send a test event `POST /pixels/{provider}/test` · `can_tracking` ```bash curl -X POST https://api.lanachat.ai/v1/pixels/meta/test \ -H "Authorization: Bearer $LANACHAT_TOKEN" \ -H "Idempotency-Key: $(uuidgen)" ``` ```json { "ok": true, "status": 200, "body": "{\"events_received\":1}" } ``` `status` and `body` are the platform's own answer, so you see exactly what Meta, TikTok or Snap said. #### Set the consent mode `PUT /pixels/consent` · `owner` | Parameter | Type | Required | Description | |---|---|---|---| | `mode` | string | Yes | `page`: a consent screen for every fan before Telegram opens. `implicit_by_country`: the screen only in the EU and EEA, the UK and Switzerland | ```bash curl -X PUT https://api.lanachat.ai/v1/pixels/consent \ -H "Authorization: Bearer $LANACHAT_TOKEN" \ -H "Content-Type: application/json" \ -d '{"mode": "implicit_by_country"}' ``` ### Events Built-in events: Lead (conversation started from a link), Contact (first fan message), Purchase (verified sale), Subscribe, InitiateCheckout. Custom events take a trigger: `sale_over` (a sale above an amount in US dollars), `tag_added` (a tag), `nth_message` (the Nth fan message, 2 or more) or `offer_viewed`. #### List events `GET /events` · `can_tracking` ```bash curl https://api.lanachat.ai/v1/events \ -H "Authorization: Bearer $LANACHAT_TOKEN" ``` The answer lists event objects with their deliveries accepted and failed over 7 days, per network. #### Create a custom event `POST /events` · `owner` | Parameter | Type | Required | Description | |---|---|---|---| | `name` | string | Yes | A letter, then up to 39 letters, digits or underscores; unique in the workspace | | `trigger` | object | Yes | `type`: `sale_over`, `tag_added`, `nth_message` or `offer_viewed`; `value` for the first three | | `networks` | object | No | `meta`, `tiktok`, `snap`: `true` to send it there | ```bash curl -X POST https://api.lanachat.ai/v1/events \ -H "Authorization: Bearer $LANACHAT_TOKEN" \ -H "Idempotency-Key: $(uuidgen)" \ -H "Content-Type: application/json" \ -d '{"name": "BigSpender", "trigger": {"type": "sale_over", "value": 50}, "networks": {"meta": true, "tiktok": true, "snap": false}}' ``` The answer is the new event (`201`). A name already used answers `409`. #### Turn an event on or off `PATCH /events/{id}` · `owner` | Parameter | Type | Required | Description | |---|---|---|---| | `networks` | object | Yes | `meta`, `tiktok`, `snap`: `true` or `false` | ```bash curl -X PATCH https://api.lanachat.ai/v1/events/evt_purchase \ -H "Authorization: Bearer $LANACHAT_TOKEN" \ -H "Content-Type: application/json" \ -d '{"networks": {"meta": true, "tiktok": true, "snap": true}}' ``` #### Delete a custom event `DELETE /events/{id}` · `owner` ```bash curl -X DELETE https://api.lanachat.ai/v1/events/evt_bigspender \ -H "Authorization: Bearer $LANACHAT_TOKEN" ``` Built-in events cannot be deleted; turn them off instead. ### Stats #### Read stats `GET /stats` · `can_sales_read` | Parameter | Type | Required | Description | |---|---|---|---| | `from` | string | Yes | First UTC day, `YYYY-MM-DD`, included | | `to` | string | Yes | Last UTC day, `YYYY-MM-DD`, included | | `creator_id` | string | No | Only this creator; without it, all creators | ```bash curl "https://api.lanachat.ai/v1/stats?from=2026-09-06&to=2026-10-05&creator_id=cr_lea" \ -H "Authorization: Bearer $LANACHAT_TOKEN" ``` The answer is the stats object. Days are UTC; archived links are left out. #### Export stats as CSV `GET /stats/export.csv` · `can_sales_read` Same parameters as `GET /stats`. ```bash curl "https://api.lanachat.ai/v1/stats/export.csv?from=2026-09-06&to=2026-10-05" \ -H "Authorization: Bearer $LANACHAT_TOKEN" -o stats.csv ``` ```text date,link,slug,domain,creator,source,clicks,conversations,first_messages,buyers,revenue_stars 2026-10-05,TikTok · Lea night,lea-tiktok-night,go.mia-links.com,Lea,tiktok,54,9,7,2,950 ``` --- ## API: webhooks, events and signatures _API · 7 min read · Updated 2026-10-23 · https://lanachat.ai/guides/api-webhooks/_ A **webhook** sends an HTTPS `POST` to your server when something happens in the workspace: a new conversation, a sale, a media ready, an account that lost its connection. You choose the events; LanaChat signs every delivery so you can check it came from us, and retries when your server does not answer. ### Endpoints | Method | Path | Description | Permission | Status | |---|---|---|---|---| | GET | `/webhooks` | List webhook endpoints | `owner` | Planned | | POST | `/webhooks` | Add an endpoint: URL and events (the signing secret is shown once) | `owner` | Planned | | GET | `/webhooks/{id}` | One endpoint and its delivery rate over 7 days | `owner` | Planned | | PATCH | `/webhooks/{id}` | Change its URL or events, pause or resume it | `owner` | Planned | | DELETE | `/webhooks/{id}` | Remove an endpoint | `owner` | Planned | | POST | `/webhooks/{id}/rotate-secret` | New signing secret; the old one works 24 hours more | `owner` | Planned | | POST | `/webhooks/{id}/test` | Send a `ping` event now | `owner` | Planned | | GET | `/webhooks/{id}/deliveries` | Recent deliveries, their status and answer | `owner` | Planned | | POST | `/webhooks/{id}/deliveries/{delivery_id}/retry` | Send one delivery again | `owner` | Planned | ### Events | Event | Sent when | Permission the data needs | |---|---|---| | `conversation.started` | A fan writes for the first time (with `source_link_id` when known) | `can_fan_read` | | `conversation.needs_review` | A conversation gets a Review or Safety hold status | `can_fan_read` | | `conversation.taken_over` | A person takes a conversation over, or gives it back | `can_fan_read` | | `message.received` | A fan sends a message | `can_fan_read` | | `sale.completed` | A verified purchase (Stars or payment link) | `can_sales_read` | | `sale.refunded` | A refund is confirmed | `can_sales_read` | | `media.ready` | An uploaded media is processed, or failed | `can_setup` | | `account.health_changed` | An account goes connected, pending or expired | `can_setup` | | `pool.saturated` | A pool reaches 95% of its hourly capacity, or the workspace cap | `can_tracking` | | `brain.published` | A brain draft is published | `can_engine` | | `billing.low_balance` | The balance drops under the amount of the next 7 days of licences | `owner` | | `ping` | You pressed Test | none | An endpoint receives an event only if the token that created it has the permission its data needs. ### The webhook endpoint object ```json { "id": "wh_12", "url": "https://hooks.mia-agency.com/lanachat/webhook", "events": ["sale.completed", "sale.refunded", "conversation.needs_review"], "status": "active", "delivery_rate_7d": 0.998, "created_at": "2026-10-01T09:00:00Z" } ``` | Field | Type | Description | |---|---|---| | `id` | string | The endpoint | | `url` | string | Your HTTPS URL | | `events` | array of strings | The events it receives (see the table above) | | `status` | string | `active` or `paused` (by you, or after 3 days of failures) | | `delivery_rate_7d` | number | Share of deliveries answered `2xx` over 7 days, 0 to 1 | | `created_at` | string | ISO 8601, UTC | ### Manage endpoints All these calls need an **owner** token. #### Add an endpoint `POST /webhooks` · `owner` | Parameter | Type | Required | Description | |---|---|---|---| | `url` | string | Yes | An HTTPS URL of your server | | `events` | array of strings | Yes | The events to receive | ```bash curl -X POST https://api.lanachat.ai/v1/webhooks \ -H "Authorization: Bearer $LANACHAT_TOKEN" \ -H "Idempotency-Key: $(uuidgen)" \ -H "Content-Type: application/json" \ -d '{"url": "https://hooks.mia-agency.com/lanachat/webhook", "events": ["sale.completed", "sale.refunded"]}' ``` The answer is the endpoint (`201`) and its **signing secret**, shown in this answer only: store it at once, next to your token. An unknown event name answers `400`. #### List, read, change and remove | Call | What it does | |---|---| | `GET /webhooks` | Every endpoint of the workspace | | `GET /webhooks/{id}` | One endpoint and its delivery rate over 7 days | | `PATCH /webhooks/{id}` | Change `url` or `events`; pause or resume it with `status` | | `DELETE /webhooks/{id}` | Remove it; nothing more is sent | ```bash curl -X PATCH https://api.lanachat.ai/v1/webhooks/wh_12 \ -H "Authorization: Bearer $LANACHAT_TOKEN" \ -H "Content-Type: application/json" \ -d '{"status": "active"}' ``` #### Rotate the secret `POST /webhooks/{id}/rotate-secret` · `owner` ```bash curl -X POST https://api.lanachat.ai/v1/webhooks/wh_12/rotate-secret \ -H "Authorization: Bearer $LANACHAT_TOKEN" \ -H "Idempotency-Key: $(uuidgen)" ``` The answer carries the new secret, once. The old one keeps working 24 hours, so you can deploy the new one without losing a delivery. #### Send a test `POST /webhooks/{id}/test` · `owner` ```bash curl -X POST https://api.lanachat.ai/v1/webhooks/wh_12/test \ -H "Authorization: Bearer $LANACHAT_TOKEN" \ -H "Idempotency-Key: $(uuidgen)" ``` Your server receives a `ping` event within seconds, signed like any other delivery. #### Deliveries and retry `GET /webhooks/{id}/deliveries` lists the recent deliveries, their status and your server's answer. `POST /webhooks/{id}/deliveries/{delivery_id}/retry` sends one of them again, for example after you fixed a bug on your side. ```bash curl -X POST https://api.lanachat.ai/v1/webhooks/wh_12/deliveries/dlv_5f21a9/retry \ -H "Authorization: Bearer $LANACHAT_TOKEN" \ -H "Idempotency-Key: $(uuidgen)" ``` ### A delivery ```http POST /lanachat/webhook HTTP/1.1 Host: hooks.mia-agency.com Content-Type: application/json LanaChat-Event: sale.completed LanaChat-Delivery: dlv_5f21a9 LanaChat-Signature: t=1759762800,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd ``` ```json { "id": "evt_31877", "type": "sale.completed", "created_at": "2026-10-06T15:00:00Z", "workspace_id": "ws_7Hq2", "data": { "sale_id": "sale_8812", "fan_id": "fan_921", "creator_id": "cr_lea", "account_id": "acc_1001", "conversation_id": "conv_1001_88231", "stars": 300, "net_cents": 390, "sent_by": "ai", "kind": "offer" } } ``` Every event has the same envelope: `id`, `type`, `created_at`, `workspace_id` and `data`. `data` carries the object the event is about, with the fields the matching API endpoint returns. ### Payload of each event `conversation.started`: the [conversation](https://lanachat.ai/guides/api-conversations/), with the link it came from. ```json { "id": "evt_31801", "type": "conversation.started", "created_at": "2026-10-06T14:01:12Z", "workspace_id": "ws_7Hq2", "data": { "id": "conv_1001_88231", "fan_id": "fan_921", "creator_id": "cr_lea", "account_id": "acc_1001", "state": "ai", "source_link_id": "lnk_3" } } ``` `conversation.needs_review`: the conversation and its new status. ```json { "id": "evt_31840", "type": "conversation.needs_review", "created_at": "2026-10-06T14:20:00Z", "workspace_id": "ws_7Hq2", "data": { "id": "conv_1001_88231", "creator_id": "cr_lea", "account_id": "acc_1001", "state": "off", "status": { "tag": "review", "reason": "The fan asked for a refund." } } } ``` `conversation.taken_over`: who holds the conversation now (`state` is `human` when a person takes it, `ai` when it is given back). ```json { "id": "evt_31852", "type": "conversation.taken_over", "created_at": "2026-10-06T14:04:00Z", "workspace_id": "ws_7Hq2", "data": { "id": "conv_1001_88231", "state": "human", "taken_by": "tok_31", "taken_at": "2026-10-06T14:04:00Z" } } ``` `message.received`: the fan's message. ```json { "id": "evt_31860", "type": "message.received", "created_at": "2026-10-06T14:02:10Z", "workspace_id": "ws_7Hq2", "data": { "id": "msg_77119", "conversation_id": "conv_1001_88231", "from": "fan", "text": "show me more", "at": "2026-10-06T14:02:10Z" } } ``` `sale.completed` and `sale.refunded`: the sale, as in the delivery above. A refund carries the same `sale_id` as the sale it cancels. `media.ready`: the [media](https://lanachat.ai/guides/api-vault/), `status` `ready` or `failed`. ```json { "id": "evt_31870", "type": "media.ready", "created_at": "2026-10-06T14:22:05Z", "workspace_id": "ws_7Hq2", "data": { "id": "med_5521", "creator_id": "cr_lea", "type": "photo", "status": "ready", "folder_id": "vf_3" } } ``` `account.health_changed`: the [Telegram account](https://lanachat.ai/guides/api-telegram-accounts/) and its new `health`. ```json { "id": "evt_31881", "type": "account.health_changed", "created_at": "2026-10-06T15:10:00Z", "workspace_id": "ws_7Hq2", "data": { "id": "acc_1004", "creator_id": "cr_lea", "username": "lea_backup", "health": "expired" } } ``` `pool.saturated`: the [pool](https://lanachat.ai/guides/api-telegram-accounts/) and its load. ```json { "id": "evt_31890", "type": "pool.saturated", "created_at": "2026-10-06T21:00:00Z", "workspace_id": "ws_7Hq2", "data": { "id": "pool_lea_fr_instagram", "creator_id": "cr_lea", "sent_last_hour": 381, "capacity_per_hour": 400, "status": "saturated" } } ``` `brain.published`: the [brain](https://lanachat.ai/guides/api-ai-brains/) and its new version. ```json { "id": "evt_31901", "type": "brain.published", "created_at": "2026-10-06T14:20:03Z", "workspace_id": "ws_7Hq2", "data": { "id": "br_lea_main", "version": 13, "published_at": "2026-10-06T14:20:03Z" } } ``` `billing.low_balance`: your [balance](https://lanachat.ai/guides/api-billing/). ```json { "id": "evt_31910", "type": "billing.low_balance", "created_at": "2026-10-06T08:00:00Z", "workspace_id": "ws_7Hq2", "data": { "balance_cents": 2900 } } ``` `ping`: sent by **Test**; `data` is empty. ```json { "id": "evt_31920", "type": "ping", "created_at": "2026-10-06T16:00:00Z", "workspace_id": "ws_7Hq2", "data": {} } ``` ### Check the signature `LanaChat-Signature` holds a timestamp `t` and `v1`, the HMAC-SHA256 of `t + "." + raw body` with your endpoint's signing secret, in hex. In Node (any framework that gives you the raw body): ```js import { createHmac, timingSafeEqual } from 'node:crypto'; // rawBody: the request body as received (Buffer or string), before any JSON parsing export function verify(rawBody, header, secret) { const parts = (header || '').split(',').map((p) => p.trim().split('=')); const t = parts.find(([k]) => k === 't')?.[1]; const signatures = parts.filter(([k]) => k === 'v1').map(([, v]) => v); // two during a secret rotation if (!t || !(Math.abs(Date.now() / 1000 - Number(t)) < 300)) return false; // older than 5 minutes: refuse const want = createHmac('sha256', secret).update(t + '.').update(rawBody).digest('hex'); return signatures.some((v) => v.length === want.length && timingSafeEqual(Buffer.from(v), Buffer.from(want))); } ``` A complete receiver with Express: ```js import express from 'express'; import { verify } from './verify.js'; const app = express(); const seen = new Set(); // use your database in production app.post('/lanachat/webhook', express.raw({ type: 'application/json' }), (req, res) => { if (!verify(req.body, req.get('LanaChat-Signature'), process.env.LANACHAT_WEBHOOK_SECRET)) return res.sendStatus(400); const event = JSON.parse(req.body); res.sendStatus(200); // answer fast, work after if (seen.has(event.id)) return; // the same event can arrive twice seen.add(event.id); if (event.type === 'sale.completed') console.log('New sale', event.data.stars, 'Stars for', event.data.creator_id); }); app.listen(3000); ``` In Python, with Flask: ```python import hashlib import hmac import json import os import time from flask import Flask, abort, request app = Flask(__name__) SECRET = os.environ["LANACHAT_WEBHOOK_SECRET"].encode() def verify(raw_body: bytes, header: str) -> bool: parts = [p.strip().split("=", 1) for p in (header or "").split(",") if "=" in p] t = next((v for k, v in parts if k == "t"), None) signatures = [v for k, v in parts if k == "v1"] # two during a secret rotation if not t or abs(time.time() - int(t)) >= 300: # older than 5 minutes: refuse return False want = hmac.new(SECRET, t.encode() + b"." + raw_body, hashlib.sha256).hexdigest() return any(hmac.compare_digest(want, v) for v in signatures) @app.post("/lanachat/webhook") def webhook(): raw = request.get_data() if not verify(raw, request.headers.get("LanaChat-Signature")): abort(400) event = json.loads(raw) if event["type"] == "sale.completed": print("New sale", event["data"]["stars"], "Stars for", event["data"]["creator_id"]) return "", 200 ``` - Compute it on the raw body, before any JSON parsing. - Refuse a timestamp older than 5 minutes: it stops a replay. - During a secret rotation, deliveries carry two `v1` values; accept either. ### Retries - Answer any `2xx` within 10 seconds. Anything else, or no answer, is a failure. - A failed delivery is retried 8 times over about 24 hours (1 min, 5 min, 30 min, 2 h, 5 h, 10 h, 14 h, 24 h). - The same event can arrive twice: use `id` to ignore duplicates. Order is not guaranteed: use `created_at`. - After 3 days of failures the endpoint is paused and the owner gets an e-mail; resume it with `PATCH /webhooks/{id}`. --- ## API: balance, licences, withdrawals and invoices _API · 7 min read · Updated 2026-10-23 · https://lanachat.ai/guides/api-billing/_ LanaChat is paid from one prepaid **balance** in US dollars: **licences** (one per Telegram account, 30 days) and a **commission** on net sales are taken from it. You top it up with crypto deposits. Affiliate earnings can be **withdrawn**. Every billing endpoint needs an **owner** token: in the examples, `$LANACHAT_TOKEN` holds one. ### Endpoints | Method | Path | Description | Permission | Status | |---|---|---|---|---| | GET | `/billing/balance` | The balance, this month's net sales and commission tier | `owner` | Planned | | GET | `/billing/ledger` | Every movement: deposits, licences, commission, refunds | `owner` | Planned | | GET | `/billing/ledger.csv` | The same ledger as CSV (`from=`, `to=`) | `owner` | Planned | | GET | `/billing/deposit-addresses` | One deposit address per chain (with a memo on Solana) | `owner` | Planned | | GET | `/billing/deposits` | Deposits and their confirmations | `owner` | Planned | | GET | `/billing/licences` | Licences in stock and assigned, with days left | `owner` | Planned | | POST | `/billing/licences/buy` | Buy licences: single or a pack of 10, 25 or 50 | `owner` | Planned | | POST | `/billing/licences/assign` | Give a licence from stock to an account | `owner` | Planned | | POST | `/billing/licences/unassign` | Take it back to stock with its days left | `owner` | Planned | | PATCH | `/billing/licences/auto-renew` | Turn auto-renew on or off for an account | `owner` | Planned | | GET | `/billing/withdrawals` | Affiliate withdrawals and their status | `owner` | Planned | | POST | `/billing/withdrawals` | Ask for a withdrawal of affiliate earnings (from $500) | `owner` | Planned | | GET | `/billing/invoices` | Monthly statements (`year=`) | `owner` | Planned | | GET | `/billing/invoices/{id}.pdf` | One statement as PDF | `owner` | Planned | | PUT | `/billing/details` | Company name, address and VAT number on statements | `owner` | Planned | ### Prices in one table | What | Price | |---|---| | One licence (one Telegram account, 30 days) | $19 | | Pack of 10 licences | $170 | | Pack of 25 licences | $375 | | Pack of 50 licences | $650 | | Commission up to $30k of net sales in the month | 12% of AI sales, 4% of manual sales | | Commission from $30k to $100k | 10% and 3% | | Commission above $100k | 8% and 2% | The counter is the net sales of the whole workspace in the calendar month; it resets on the 1st. Telegram Stars count at $0.013 each in net sales. ### The balance object ```json { "balance_cents": 48210, "month": "2026-10", "net_sales_cents": 1870400, "tier": { "up_to_cents": 3000000, "ai_rate_bp": 1200, "manual_rate_bp": 300 }, "licences": { "in_stock": 4, "assigned": 11, "expiring_7d": 2 }, "low_balance": false } ``` | Field | Type | Description | |---|---|---| | `balance_cents` | integer | Prepaid balance, in US cents | | `month` | string | The calendar month counted, `YYYY-MM` | | `net_sales_cents` | integer | Net sales of the workspace this month | | `tier` | object | The current tier: its ceiling `up_to_cents`, the AI rate and the manual rate in basis points | | `licences` | object | Licences `in_stock`, `assigned`, and assigned ones ending within 7 days (`expiring_7d`) | | `low_balance` | boolean | `true` when the balance does not cover the next 7 days of licences | Rates are in basis points: `1200` is 12%. ### The ledger entry object Each line of **Billing › Activity** in the Console. ```json { "id": "led_90211", "at": "2026-10-06T14:40:00Z", "kind": "licences", "label": "Licences · pack of 10", "amount_cents": -17000, "balance_after_cents": 31210 } ``` | Field | Type | Description | |---|---|---| | `id` | string | The line | | `at` | string | ISO 8601, UTC | | `kind` | string | `deposit`, `licences`, `commission`, `refund`, `affiliate` or `other` | | `label` | string | The text of the line, as in the Console | | `amount_cents` | integer | Positive when money comes in, negative when it goes out | | `balance_after_cents` | integer | The balance after this line | A `commission` line belongs to one sale: the Console shows the fan, the tier, who sent the offer (AI or manual), how the net was counted ("12,500 ★ × $0.013") and the rate. ### The deposit object ```json { "id": "dep_4", "at": "2026-10-06T13:52:00Z", "chain": "usdt-tron", "sent_cents": 100000, "fee_cents": 1000, "credited_cents": 99000, "status": "pending", "confirmations": "12/19" } ``` | Field | Type | Description | |---|---|---| | `id` | string | The deposit | | `at` | string | When it was seen, ISO 8601 | | `chain` | string | `usdc-eth`, `usdc-sol`, `usdt-sol`, `usdt-tron` or `usdt-eth` | | `sent_cents`, `fee_cents`, `credited_cents` | integer | What you sent, the fee, what lands on the balance | | `status` | string | `pending` then `confirmed` | | `confirmations` | string | Network confirmations counted, while pending | USDC on Ethereum is credited 1:1 with no fee. Every other chain has a 1% fee: the deposit is converted to USDC (ERC20) when it arrives. The minimum is $25 per top-up. ### The licence object ```json { "account_id": "acc_1001", "creator_id": "cr_lea", "days_left": 18, "expires_at": "2026-10-24T09:00:00Z", "auto_renew": true } ``` | Field | Type | Description | |---|---|---| | `account_id` | string | The Telegram account the licence runs on | | `creator_id` | string | Her creator | | `days_left` | integer | Days before it ends, out of 30 | | `expires_at` | string | When it ends | | `auto_renew` | boolean | Renew from stock (or buy a single) when it ends | Licences in stock are counted, not listed one by one: each keeps its own days left (30 for a new one). ### The withdrawal object ```json { "id": "wd_118", "status": "pending_review", "amount_cents": 50000, "requested_at": "2026-10-06T15:00:00Z", "tx_hash": null } ``` | Field | Type | Description | |---|---|---| | `id` | string | The withdrawal | | `status` | string | `pending_review`, `sent` (with `tx_hash`) or `rejected` with a reason | | `amount_cents` | integer | Amount asked, at least 50000 ($500) | | `requested_at` | string | ISO 8601, UTC | | `tx_hash` | string or null | The transaction, once sent | ### The invoice object ```json { "id": "LC-2026-09", "month": "2026-09", "licences_cents": 22800, "commission_cents": 930000, "total_cents": 952800, "status": "paid", "pdf_url": "https://api.lanachat.ai/v1/billing/invoices/LC-2026-09.pdf" } ``` | Field | Type | Description | |---|---|---| | `id` | string | Statement number, `LC-YYYY-MM` | | `month` | string | The month it covers | | `licences_cents`, `commission_cents`, `total_cents` | integer | Licences, commission and total of the month | | `status` | string | Paid, in progress (the current month) or failed | | `pdf_url` | string | The PDF of the statement | ### Balance and ledger #### Get the balance `GET /billing/balance` · `owner` ```bash curl https://api.lanachat.ai/v1/billing/balance \ -H "Authorization: Bearer $LANACHAT_TOKEN" ``` The answer is the balance object. #### List the ledger `GET /billing/ledger` · `owner` | Parameter | Type | Required | Description | |---|---|---|---| | `from`, `to` | string | No | Days `YYYY-MM-DD`, UTC, both included | | `limit`, `cursor` | number, string | No | [Pagination](https://lanachat.ai/guides/api-overview/) | ```bash curl "https://api.lanachat.ai/v1/billing/ledger?from=2026-10-01&to=2026-10-06" \ -H "Authorization: Bearer $LANACHAT_TOKEN" ``` ```json { "data": [ { "id": "led_90211", "at": "2026-10-06T14:40:00Z", "kind": "licences", "label": "Licences · pack of 10", "amount_cents": -17000, "balance_after_cents": 31210 }, { "id": "led_90207", "at": "2026-10-06T13:20:00Z", "kind": "commission", "label": "Lea · Marco", "amount_cents": -468, "balance_after_cents": 48210 }, { "id": "led_90150", "at": "2026-10-05T09:02:00Z", "kind": "deposit", "label": "Deposit · USDC on Ethereum", "amount_cents": 300000, "balance_after_cents": 48678 } ], "next_cursor": "eyJpZCI6ImxlZF85MDE0OSJ9" } ``` #### Export the ledger as CSV `GET /billing/ledger.csv` · `owner` | Parameter | Type | Required | Description | |---|---|---|---| | `from`, `to` | string | No | Days `YYYY-MM-DD`, UTC | ```bash curl "https://api.lanachat.ai/v1/billing/ledger.csv?from=2026-09-01&to=2026-09-30" \ -H "Authorization: Bearer $LANACHAT_TOKEN" -o ledger-2026-09.csv ``` The same lines as **Export CSV** in **Billing › Activity**, ready for your accountant. ### Deposits #### Get the deposit addresses `GET /billing/deposit-addresses` · `owner` ```bash curl https://api.lanachat.ai/v1/billing/deposit-addresses \ -H "Authorization: Bearer $LANACHAT_TOKEN" ``` The answer gives one address per chain (Ethereum, Solana, Tron) and, for Solana, the memo. > Warning: On Solana, a deposit sent without the memo cannot be matched to your workspace. Always send both the address and the memo. You can send USDC on Ethereum (ERC20), USDC on Solana, USDT on Solana, USDT on Tron (TRC20) or USDT on Ethereum (ERC20). The network fee of your transfer is paid from your wallet. #### List deposits `GET /billing/deposits` · `owner` ```bash curl https://api.lanachat.ai/v1/billing/deposits \ -H "Authorization: Bearer $LANACHAT_TOKEN" ``` ```json { "data": [ { "id": "dep_4", "at": "2026-10-06T13:52:00Z", "chain": "usdt-tron", "sent_cents": 100000, "fee_cents": 1000, "credited_cents": 99000, "status": "pending", "confirmations": "12/19" }, { "id": "dep_3", "at": "2026-10-05T09:02:00Z", "chain": "usdc-eth", "sent_cents": 300000, "fee_cents": 0, "credited_cents": 300000, "status": "confirmed", "confirmations": null } ], "next_cursor": null } ``` The balance is credited automatically when a deposit is `confirmed`; it is then also a `deposit` line of the ledger. ### Licences #### List licences `GET /billing/licences` · `owner` ```bash curl https://api.lanachat.ai/v1/billing/licences \ -H "Authorization: Bearer $LANACHAT_TOKEN" ``` The answer gives the licences in stock and one licence object per assigned account, with its days left. #### Buy licences `POST /billing/licences/buy` · `owner` | Parameter | Type | Required | Description | |---|---|---|---| | `pack` | integer | Yes | `1` (single, $19), `10` ($170), `25` ($375) or `50` ($650) | | `qty` | integer | Yes | How many of that pack | ```bash curl -X POST https://api.lanachat.ai/v1/billing/licences/buy \ -H "Authorization: Bearer $LANACHAT_TOKEN" \ -H "Idempotency-Key: $(uuidgen)" \ -H "Content-Type: application/json" \ -d '{"pack": 10, "qty": 1}' ``` ```json { "licences_added": 10, "amount_cents": 17000, "balance_cents": 31210, "ledger_id": "led_90211" } ``` The licences go to your stock at once. A balance too low answers `402` (`insufficient_balance`). Licences in stock never expire, and bought licences are not refundable. #### Assign a licence `POST /billing/licences/assign` · `owner` | Parameter | Type | Required | Description | |---|---|---|---| | `account_id` | string | Yes | The Telegram account that gets a licence | ```bash curl -X POST https://api.lanachat.ai/v1/billing/licences/assign \ -H "Authorization: Bearer $LANACHAT_TOKEN" \ -H "Idempotency-Key: $(uuidgen)" \ -H "Content-Type: application/json" \ -d '{"account_id": "acc_1001"}' ``` The answer is the licence object of the account. The stock licence with the fewest days left is used first: its remaining days, or 30 days if it is new. Auto-renew is on by default. #### Take a licence back `POST /billing/licences/unassign` · `owner` | Parameter | Type | Required | Description | |---|---|---|---| | `account_id` | string | Yes | The account that gives its licence back | ```bash curl -X POST https://api.lanachat.ai/v1/billing/licences/unassign \ -H "Authorization: Bearer $LANACHAT_TOKEN" \ -H "Idempotency-Key: $(uuidgen)" \ -H "Content-Type: application/json" \ -d '{"account_id": "acc_1001"}' ``` The licence goes back to your stock with its days left. The AI stops replying on that account right away. To move a licence to another account, take it back, then assign it: it keeps its days, for free. #### Turn auto-renew on or off `PATCH /billing/licences/auto-renew` · `owner` | Parameter | Type | Required | Description | |---|---|---|---| | `account_id` | string | Yes | The account | | `auto_renew` | boolean | Yes | `true` to renew it when its days run out | ```bash curl -X PATCH https://api.lanachat.ai/v1/billing/licences/auto-renew \ -H "Authorization: Bearer $LANACHAT_TOKEN" \ -H "Content-Type: application/json" \ -d '{"account_id": "acc_1001", "auto_renew": false}' ``` When the days run out, auto-renew takes a licence from your stock first, or buys a single licence ($19) if the stock is empty. It cannot buy without balance: watch `low_balance` or the `billing.low_balance` [webhook](https://lanachat.ai/guides/api-webhooks/). ### Affiliate withdrawals #### List withdrawals `GET /billing/withdrawals` · `owner` ```bash curl https://api.lanachat.ai/v1/billing/withdrawals \ -H "Authorization: Bearer $LANACHAT_TOKEN" ``` A list of withdrawal objects, newest first. #### Ask for a withdrawal `POST /billing/withdrawals` · `owner` | Parameter | Type | Required | Description | |---|---|---|---| | `amount_cents` | integer | Yes | At least 50000 ($500), at most what is available to withdraw | ```bash curl -X POST https://api.lanachat.ai/v1/billing/withdrawals \ -H "Authorization: Bearer $LANACHAT_TOKEN" \ -H "Idempotency-Key: $(uuidgen)" \ -H "Content-Type: application/json" \ -d '{"amount_cents": 50000}' ``` ```json { "id": "wd_118", "status": "pending_review", "amount_cents": 50000, "requested_at": "2026-10-06T15:00:00Z", "tx_hash": null } ``` The earnings are sent in USDC to the wallet on file, 7 days after the month ends. Only affiliate earnings can be withdrawn, never the prepaid balance. A request under $500 is refused. ### Statements #### List statements `GET /billing/invoices` · `owner` | Parameter | Type | Required | Description | |---|---|---|---| | `year` | integer | No | For example `2026` | ```bash curl "https://api.lanachat.ai/v1/billing/invoices?year=2026" \ -H "Authorization: Bearer $LANACHAT_TOKEN" ``` One invoice object per month. #### Download a statement `GET /billing/invoices/{id}.pdf` · `owner` ```bash curl https://api.lanachat.ai/v1/billing/invoices/LC-2026-09.pdf \ -H "Authorization: Bearer $LANACHAT_TOKEN" -o LC-2026-09.pdf ``` > Warning: Check your statements. A billing error must be reported within 60 days of the statement that shows it; after that, the statement is final. #### Set the billing details `PUT /billing/details` · `owner` | Parameter | Type | Required | Description | |---|---|---|---| | `company` | string | No | Company name | | `email` | string | No | Billing e-mail | | `address`, `city`, `postal`, `country` | string | No | Postal address | | `vat` | string | No | VAT number | ```bash curl -X PUT https://api.lanachat.ai/v1/billing/details \ -H "Authorization: Bearer $LANACHAT_TOKEN" \ -H "Content-Type: application/json" \ -d '{"company": "Mia Agency Ltd", "email": "billing@mia-agency.com", "address": "12 Market Street", "city": "Dublin", "postal": "D02 X285", "country": "IE", "vat": "IE1234567T"}' ``` The same fields as **Billing › Billing details**. Statements carry these details. `PUT` replaces them all: a field you leave out is emptied. --- ## API: team members, roles and access tokens _API · 6 min read · Updated 2026-10-23 · https://lanachat.ai/guides/api-team/_ Your **team** is the people who work in the workspace. Each **member** has a **role** (built-in or custom) that sets what they can do, the creators they work on, and a personal access key to sign in. **Access tokens** are the keys of the API and of the MCP connection. All these endpoints need an **owner** token: in the examples, `$LANACHAT_TOKEN` holds one. ### Endpoints | Method | Path | Description | Permission | Status | |---|---|---|---|---| | GET | `/members` | List members (`status=active,disabled`, `role_id=`, `q=`) | `owner` | Planned | | POST | `/members` | Add a member with a role and creators | `owner` | Planned | | GET | `/members/{id}` | One member, last activity and overrides | `owner` | Planned | | PATCH | `/members/{id}` | Change role, creators, overrides; disable or enable | `owner` | Planned | | DELETE | `/members/{id}` | Delete a member (their past messages keep their name) | `owner` | Planned | | POST | `/members/{id}/access-key` | Create a personal access key (shown once) | `owner` | Planned | | POST | `/members/{id}/invitation` | E-mail an access key to the member | `owner` | Planned | | DELETE | `/members/{id}/access-key` | Revoke the member's key: they are signed out | `owner` | Planned | | GET | `/roles` | Built-in and custom roles with their permission table | `owner` | Planned | | POST | `/roles` | Create a custom role | `owner` | Planned | | PATCH | `/roles/{id}` | Rename a role or change its permissions | `owner` | Planned | | DELETE | `/roles/{id}` | Delete a custom role no member has | `owner` | Planned | | GET | `/tokens` | API and MCP access tokens (`include_revoked=true`) | `owner` | Planned | | POST | `/tokens` | Create a token with its permissions (shown once) | `owner` | Planned | | PATCH | `/tokens/{id}` | Rename a token or change its permissions | `owner` | Planned | | POST | `/tokens/{id}/rotate` | Replace the secret; the old one stops at once | `owner` | Planned | | DELETE | `/tokens/{id}` | Revoke a token | `owner` | Planned | ### The member object ```json { "id": "mem_4", "name": "Ana", "email": "ana@mia-agency.com", "status": "active", "role_id": "role_chatter", "creator_ids": ["cr_lea", "cr_mia"], "overrides": { "billing.read": false, "fans.export": true }, "access_key": { "active": true, "created_at": "2026-09-20T09:00:00Z" }, "last_active_at": "2026-10-06T13:40:00Z" } ``` | Field | Type | Description | |---|---|---| | `id` | string | Starts with `mem_` | | `name` | string | Their name in the Console | | `email` | string or null | Where the invitation goes | | `status` | string | `active` or `disabled` | | `role_id` | string | Their role | | `creator_ids` | array of strings | The creators they work on | | `overrides` | object | Permissions set for this member only, on top of the role | | `access_key` | object | Whether they have an `active` personal access key, and since when; never the key itself | | `last_active_at` | string or null | Their last activity | A disabled member cannot sign in and keeps their history, role and creators. ### The role object ```json { "id": "role_chatter", "name": "Chatter", "builtin": true, "permissions": { "live.read": true, "live.reply": true, "fans.read": true, "fans.export": false, "billing.read": false }, "members": 6 } ``` | Field | Type | Description | |---|---|---| | `id` | string | The role | | `name` | string | Its name | | `builtin` | boolean | `true` for Owner, Manager and Chatter | | `permissions` | object | One key per row of the permission table, `true` or `false` | | `members` | integer | How many members have it | Permission keys follow the rows of the permission table in **Team Management › Roles**, grouped by area: Dashboard, Creators, AI Brain, Conversations, Vault, Scripts, Playground, Telegram and Employees. **Owner** always has every permission and cannot be edited. **Manager** and **Chatter** are built in: you can change their permissions but not rename or delete them. ### The access token object ```json { "id": "tok_31", "name": "Reporting script", "permissions": ["can_fan_read", "can_sales_read"], "status": "active", "created_at": "2026-10-06T15:10:00Z", "expires_at": "2027-01-04T15:10:00Z" } ``` | Field | Type | Description | |---|---|---| | `id` | string | Starts with `tok_` | | `name` | string | Up to 100 characters, required | | `permissions` | array of strings | The [permissions](https://lanachat.ai/guides/api-overview/) it has | | `status` | string | Active, expired or revoked | | `created_at`, `expires_at` | string | ISO 8601, UTC | | `token` | string | The secret, only in the answer that creates or rotates it | ### Members #### List members `GET /members` · `owner` | Parameter | Type | Required | Description | |---|---|---|---| | `status` | string | No | `active` or `disabled`; both separated by a comma | | `role_id` | string | No | Only members with this role | | `q` | string | No | Part of a name | | `limit`, `cursor` | number, string | No | [Pagination](https://lanachat.ai/guides/api-overview/) | ```bash curl "https://api.lanachat.ai/v1/members?status=active&role_id=role_chatter" \ -H "Authorization: Bearer $LANACHAT_TOKEN" ``` ```json { "data": [ { "id": "mem_4", "name": "Ana", "email": "ana@mia-agency.com", "status": "active", "role_id": "role_chatter", "creator_ids": ["cr_lea", "cr_mia"], "overrides": {}, "access_key": { "active": true, "created_at": "2026-09-20T09:00:00Z" }, "last_active_at": "2026-10-06T13:40:00Z" } ], "next_cursor": null } ``` #### Add a member `POST /members` · `owner` | Parameter | Type | Required | Description | |---|---|---|---| | `name` | string | Yes | Their name | | `email` | string | No | Needed to send an invitation | | `role_id` | string | Yes | A built-in or custom role | | `creator_ids` | array of strings | No | The creators they work on | ```bash curl -X POST https://api.lanachat.ai/v1/members \ -H "Authorization: Bearer $LANACHAT_TOKEN" \ -H "Idempotency-Key: $(uuidgen)" \ -H "Content-Type: application/json" \ -d '{"name": "Ana", "email": "ana@mia-agency.com", "role_id": "role_chatter", "creator_ids": ["cr_lea"]}' ``` The answer is the new member (`201`), active, without an access key yet. #### Get a member `GET /members/{id}` · `owner` ```bash curl https://api.lanachat.ai/v1/members/mem_4 \ -H "Authorization: Bearer $LANACHAT_TOKEN" ``` The answer is the member object. An unknown id answers `404`. #### Update a member `PATCH /members/{id}` · `owner` | Parameter | Type | Required | Description | |---|---|---|---| | `role_id` | string | No | New role | | `creator_ids` | array of strings | No | Replaces their list of creators | | `overrides` | object | No | Permissions for this member only | | `status` | string | No | `active` or `disabled` | ```bash curl -X PATCH https://api.lanachat.ai/v1/members/mem_4 \ -H "Authorization: Bearer $LANACHAT_TOKEN" \ -H "Content-Type: application/json" \ -d '{"creator_ids": ["cr_lea", "cr_mia"], "overrides": {"fans.export": true}}' ``` The answer is the updated member. `status: "disabled"` cuts access at once; the role and creators are kept. #### Delete a member `DELETE /members/{id}` · `owner` ```bash curl -X DELETE https://api.lanachat.ai/v1/members/mem_4 \ -H "Authorization: Bearer $LANACHAT_TOKEN" ``` The member is removed and their creators are unassigned. Their past messages keep their name. To keep them for later, disable them instead. ### Personal access keys Team members don't use a password: they sign in with a personal access key. Keys start with `emp_`. #### Create an access key `POST /members/{id}/access-key` · `owner` ```bash curl -X POST https://api.lanachat.ai/v1/members/mem_4/access-key \ -H "Authorization: Bearer $LANACHAT_TOKEN" \ -H "Idempotency-Key: $(uuidgen)" ``` ```json { "member_id": "mem_4", "sign_in_url": "https://app.lanachat.ai/login/?mode=employee", "access_key": "emp_6Yq2…", "shown_once": true } ``` Send both the sign-in address and the key to the person through a channel you trust. A disabled member answers `409`: enable them first. #### E-mail an access key `POST /members/{id}/invitation` · `owner` ```bash curl -X POST https://api.lanachat.ai/v1/members/mem_4/invitation \ -H "Authorization: Bearer $LANACHAT_TOKEN" \ -H "Idempotency-Key: $(uuidgen)" ``` The key is e-mailed to the address on their card. A member without an e-mail address, or a disabled one, answers `409`. #### Revoke an access key `DELETE /members/{id}/access-key` · `owner` ```bash curl -X DELETE https://api.lanachat.ai/v1/members/mem_4/access-key \ -H "Authorization: Bearer $LANACHAT_TOKEN" ``` The key stops at once and the member is signed out. Create a new key to let them back in. ### Roles #### List roles `GET /roles` · `owner` ```bash curl https://api.lanachat.ai/v1/roles \ -H "Authorization: Bearer $LANACHAT_TOKEN" ``` A list of role objects: Owner, Manager, Chatter and your custom roles. #### Create a custom role `POST /roles` · `owner` | Parameter | Type | Required | Description | |---|---|---|---| | `name` | string | Yes | The role's name | | `permissions` | object | No | The rows to turn on; the others are off | ```bash curl -X POST https://api.lanachat.ai/v1/roles \ -H "Authorization: Bearer $LANACHAT_TOKEN" \ -H "Idempotency-Key: $(uuidgen)" \ -H "Content-Type: application/json" \ -d '{"name": "Night chatter", "permissions": {"live.read": true, "live.reply": true, "fans.read": true}}' ``` The answer is the new role (`201`) with `builtin: false`. #### Update a role `PATCH /roles/{id}` · `owner` | Parameter | Type | Required | Description | |---|---|---|---| | `name` | string | No | New name (custom roles only) | | `permissions` | object | No | The rows to change; the others are kept | ```bash curl -X PATCH https://api.lanachat.ai/v1/roles/role_chatter \ -H "Authorization: Bearer $LANACHAT_TOKEN" \ -H "Content-Type: application/json" \ -d '{"permissions": {"fans.export": false}}' ``` The change applies at once to every member with that role, except their own overrides. Editing Owner, or renaming Manager or Chatter, answers `409`. #### Delete a custom role `DELETE /roles/{id}` · `owner` ```bash curl -X DELETE https://api.lanachat.ai/v1/roles/role_night \ -H "Authorization: Bearer $LANACHAT_TOKEN" ``` Deleting a role that members still have answers `409`: give them another role first. Built-in roles cannot be deleted. ### Access tokens #### List tokens `GET /tokens` · `owner` | Parameter | Type | Required | Description | |---|---|---|---| | `include_revoked` | boolean | No | `true` also lists revoked tokens | ```bash curl "https://api.lanachat.ai/v1/tokens?include_revoked=true" \ -H "Authorization: Bearer $LANACHAT_TOKEN" ``` A list of access token objects, without their secret. #### Create a token `POST /tokens` · `owner` | Parameter | Type | Required | Description | |---|---|---|---| | `name` | string | Yes | What it is for, up to 100 characters | | `permissions` | array of strings | Yes | The [permissions](https://lanachat.ai/guides/api-overview/) it gets | | `expires_in_days` | integer | No | When it stops | ```bash curl -X POST https://api.lanachat.ai/v1/tokens \ -H "Authorization: Bearer $LANACHAT_TOKEN" \ -H "Idempotency-Key: $(uuidgen)" \ -H "Content-Type: application/json" \ -d '{"name": "Reporting script", "permissions": ["can_fan_read", "can_sales_read"], "expires_in_days": 90}' ``` ```json { "id": "tok_31", "name": "Reporting script", "token": "lc_live_8f2c1d0e9b7a4c6f", "permissions": ["can_fan_read", "can_sales_read"], "expires_at": "2027-01-04T15:10:00Z" } ``` `token` is in this answer only. A token can never give more than the owner token that created it. A missing name answers `400`. #### Update a token `PATCH /tokens/{id}` · `owner` | Parameter | Type | Required | Description | |---|---|---|---| | `name` | string | No | New name | | `permissions` | array of strings | No | Replaces its permissions | ```bash curl -X PATCH https://api.lanachat.ai/v1/tokens/tok_31 \ -H "Authorization: Bearer $LANACHAT_TOKEN" \ -H "Content-Type: application/json" \ -d '{"permissions": ["can_sales_read"]}' ``` The answer is the token, without its secret. Turning `can_engine` off also removes publishing, Advanced AI and experiment-report permissions. A revoked token answers `409`. #### Rotate a token `POST /tokens/{id}/rotate` · `owner` ```bash curl -X POST https://api.lanachat.ai/v1/tokens/tok_31/rotate \ -H "Authorization: Bearer $LANACHAT_TOKEN" \ -H "Idempotency-Key: $(uuidgen)" ``` The answer is the token with a new `token` secret, shown once. The old secret stops at once, so update your script right after. A revoked token answers `409`. #### Revoke a token `DELETE /tokens/{id}` · `owner` ```bash curl -X DELETE https://api.lanachat.ai/v1/tokens/tok_31 \ -H "Authorization: Bearer $LANACHAT_TOKEN" ``` The token stops at once. A token already revoked answers `409`. > Warning: A token works like a password. Revoke it as soon as you stop using it or think it leaked. --- ## Billing: licences, commission and balance _Billing · 4 min read · Updated 2026-10-23 · https://lanachat.ai/guides/billing/_ Everything about paying for LanaChat is on the **Billing** page, in Users at the bottom of the sidebar. You pay in two ways, both from one prepaid **balance** in crypto: - **Licences**: $19 per Telegram account for 30 days, cheaper by pack. - **A share of your sales**: 12% of what Lana sells, 4% of what your team sells by hand, lower as your month grows. There is no plan to choose, no seat fee, no message quota and no card. ![The Billing Overview: balance, month to date and licences](https://lanachat.ai/guides/img/billing/overview.png) ### The price in one minute - **Licences.** One licence gives one Telegram account 30 days: $19 one by one, or packs of 10 for $170, 25 for $375, 50 for $650. They wait in your stock and never expire. See [Buy licences](https://lanachat.ai/guides/buy-licences/). - **Share of sales.** One counter adds up the net sales of the whole workspace in the calendar month and resets on the 1st. Up to $30k: 12% on AI sales, 4% on manual sales. From $30k to $100k: 10% and 3%. Above $100k: 8% and 2%. See [LanaChat's share of your sales](https://lanachat.ai/guides/commission-on-sales/). - **AI or manual.** It depends on who sent the paid offer: Lana, an AI sale; your team or a script step, a manual sale. See [AI sale or manual sale?](https://lanachat.ai/guides/ai-sale-or-manual-sale/). - **Refunds.** A refund confirmed within 7 days of the sale gives the share back. See [Refunds and chargebacks](https://lanachat.ai/guides/refunds-and-chargebacks/). > Note: Example: $87,000 net in a month, all sent by Lana. 30,000 × 12% + 57,000 × 10% = $9,300 of commission (10.7%). ### The six tabs 1. **Overview**: your balance with **Top up** and **View activity**, the **Month to date** (net sales, commission so far, effective rate, your tier) and your licences with **Manage licences**. Below, **How your bill is calculated**, a worked example and the simulator. See [Estimate your monthly bill](https://lanachat.ai/guides/estimate-your-bill/). 2. **Top up**: send crypto to your deposit address, minimum $25. See [Top up your balance](https://lanachat.ai/guides/top-up-your-balance/). 3. **Licences**: buy, assign, move, renew, auto-renew. See [Assign, move or take back a licence](https://lanachat.ai/guides/assign-and-move-licences/) and [Licence expiry and auto-renew](https://lanachat.ai/guides/licence-expiry-and-auto-renew/). 4. **Activity**: every movement of your balance, with **Export CSV**. 5. **Invoices**: one statement per month. 6. **Billing details**: what is printed on your statements. Tabs 4 to 6: [Activity, statements and billing details](https://lanachat.ai/guides/activity-statements-and-details/). Your affiliate link and earnings have their own page, **Affiliates**: [The affiliate program](https://lanachat.ai/guides/affiliate-program/). ### Every money guide - [Top up your balance](https://lanachat.ai/guides/top-up-your-balance/) - [When your balance runs low or hits $0](https://lanachat.ai/guides/low-or-empty-balance/) - [Get your unused balance back](https://lanachat.ai/guides/get-unused-balance-back/) - [Buy licences](https://lanachat.ai/guides/buy-licences/) - [Assign, move or take back a licence](https://lanachat.ai/guides/assign-and-move-licences/) - [Licence expiry and auto-renew](https://lanachat.ai/guides/licence-expiry-and-auto-renew/) - [LanaChat's share of your sales](https://lanachat.ai/guides/commission-on-sales/) - [AI sale or manual sale?](https://lanachat.ai/guides/ai-sale-or-manual-sale/) - [Estimate your monthly bill](https://lanachat.ai/guides/estimate-your-bill/) - [Refunds and chargebacks](https://lanachat.ai/guides/refunds-and-chargebacks/) - [How fans pay: Telegram Stars and payment links](https://lanachat.ai/guides/fan-payments-stars-and-links/) - [Activity, statements and billing details](https://lanachat.ai/guides/activity-statements-and-details/) - [The affiliate program](https://lanachat.ai/guides/affiliate-program/) > Tip: Keep at least a week of commission on your balance. When it runs out, Lana stops replying until you top up. See [When your balance runs low or hits $0](https://lanachat.ai/guides/low-or-empty-balance/). > Note: Billing is about what you pay LanaChat. The money your creators earn from fans is on the [Dashboard](https://lanachat.ai/guides/reading-your-numbers/), not here. --- ## Estimate your monthly bill _Billing · 2 min read · Updated 2026-10-23 · https://lanachat.ai/guides/estimate-your-bill/_ Want to know what LanaChat will cost you next month? The simulator on the Billing Overview gives the full bill from three numbers. ### Use the simulator 1. Open **Billing**, **Overview**, and scroll to **Simulate your month** (under "How your bill is calculated"). 2. Fill in **Net sales this month ($)**: what your creators sell through LanaChat, after Telegram's and the providers' share. 3. Fill in **Share sent by the AI (%)**: how much of that Lana sells. 100 if your team never closes by hand. 4. Fill in **Telegram accounts**: how many accounts run on LanaChat. The table below updates as you type: **Commission**, **Licences**, **Total** and **Effective rate** (the total as a share of your net sales). ![The simulator: three numbers in, the monthly bill out](https://lanachat.ai/guides/img/estimate-your-bill/simulator.png) ### Read the example With $87,000 of net sales, 100% sent by Lana and 12 accounts: | Line | Amount | |---|---| | 30,000 × 12% | $3,600.00 | | 57,000 × 10% | $5,700.00 | | Commission | $9,300.00 (10.7%) | | 12 licences: 1 pack of 10 + 2 single | $208.00 | | Total | $9,508.00 (10.9%) | The same month with everything sold by your team: $2,910.00 of commission. At $500,000 all sent by Lana: $42,600.00, an effective 8.5%. > Note: It is an estimate. The simulator spreads the AI share evenly over the month and prices licences at the best pack price. Your real bill follows the order of your sales and the licences you actually buy. ### Turn it into a top-up Divide the total by 30 to get a daily cost, and keep at least a week of it on your balance. With the example above, that is about $317 a day, so a top-up of $2,500 covers a little more than a week. See [Top up your balance](https://lanachat.ai/guides/top-up-your-balance/). --- ## Billing FAQ _Billing · 4 min read · Updated 2026-10-23 · https://lanachat.ai/guides/billing-faq/_ The short answers to the questions agencies ask most about paying for LanaChat. Each answer links to the guide with the full rules. ### What you pay #### How much does LanaChat cost? Two things, both taken from one prepaid balance. A **licence** of $19 per Telegram account and per month (30 days), cheaper in packs: 10 for $170, 25 for $375, 50 for $650. And a **share of your net sales**. There is no plan, no seat fee and no message quota. See [Billing: licences, commission and balance](https://lanachat.ai/guides/billing/), and try your own numbers in the simulator: [Estimate your monthly bill](https://lanachat.ai/guides/estimate-your-bill/). #### What is the difference between a licence and the commission? The licence pays for an account to run, whether it sells or not. The commission is a share of what that account sells: no sales, no commission. See [Buy licences](https://lanachat.ai/guides/buy-licences/) and [LanaChat's share of your sales](https://lanachat.ai/guides/commission-on-sales/). #### How much is the commission? It depends on who sent the paid offer and on your month so far: | Net sales in the month | Sent by Lana in free conversation | Sent from Live Convs or by any script step (even one Lana started) | |---|---|---| | $0 to $30,000 | 12% | 4% | | $30,000 to $100,000 | 10% | 3% | | Above $100,000 | 8% | 2% | The counter covers the whole workspace and resets on the 1st. See [AI sale or manual sale?](https://lanachat.ai/guides/ai-sale-or-manual-sale/). #### Is there a free trial? No. Sign-up is open, every new agency is reviewed before activation, and LanaChat is prepaid from the start. ### Your balance #### How do I pay? Top up your balance in crypto from the **Top up** tab of Billing, $25 minimum. No card is ever charged. See [Top up your balance](https://lanachat.ai/guides/top-up-your-balance/). #### What happens when my balance reaches $0? Lana pauses on every account and the CRM becomes read-only. Nothing is deleted. To start again: 1. Press **Top up** on the red banner. 2. Send at least $25. 3. Once the deposit is **Confirmed**, Lana turns back on by herself. See [When your balance runs low or hits $0](https://lanachat.ai/guides/low-or-empty-balance/). > Tip: Keep at least a week of commission plus your licence renewals on the balance. The Overview's "Covers ~N days" line tells you where you stand. #### Can I get money back? Unused balance can be refunded through support, on request within 30 days of the top-up. Balance already used for licences or commission cannot. Licences are not refundable, but they never expire in your stock. See [Get your unused balance back](https://lanachat.ai/guides/get-unused-balance-back/). ### Sales and fans #### A fan was refunded. Do I get the commission back? Yes, if the refund or reversal is confirmed within 7 days of the sale: the share comes back to your balance and your monthly counter goes down. After 7 days, the share stays. See [Refunds and chargebacks](https://lanachat.ai/guides/refunds-and-chargebacks/). #### Stars or payment links: does it change what I pay? The rates are the same. Each Telegram Star counts $0.013 of net sales; a payment link counts the amount it actually settled. The money from fans goes to the creator or your agency, never to LanaChat. See [How fans pay: Telegram Stars and payment links](https://lanachat.ai/guides/fan-payments-stars-and-links/). #### Where do I find my statements? In **Billing**, **Invoices**: one monthly statement with licences, commission and total. Every movement of your balance is in **Activity**, with **Export CSV**. See [Activity, statements and billing details](https://lanachat.ai/guides/activity-statements-and-details/). --- ## Top up your balance _Billing · 4 min read · Updated 2026-10-23 · https://lanachat.ai/guides/top-up-your-balance/_ LanaChat is prepaid. You send crypto to your workspace's deposit address, the network confirms it, and the amount lands on your **balance**. Licences and LanaChat's share of your sales are then taken from that balance. Nothing is ever charged to a card or a wallet without a top-up you start yourself. ![The Top up tab: pick what you send, then copy the deposit address](https://lanachat.ai/guides/img/top-up-your-balance/top-up.png) ### Before you send - **Minimum: $25** per top-up. - **What you can send**: USDC on Ethereum (ERC20), USDC on Solana, USDT on Solana, USDT on Tron (TRC20) or USDT on Ethereum (ERC20). - **Fees**: USDC on Ethereum is credited 1:1, with **0% fee** (it is marked **Recommended**). Every other choice has a **1% fee**, as shown in the Top up tab: the deposit is converted to USDC (ERC20) when it arrives. - **Network fee**: the blockchain fee of your transfer is paid by you, from your wallet. > Note: Example: you send $1,000 in USDT on Tron. The 1% fee is $10, so $990 is credited to your balance. The same $1,000 in USDC on Ethereum credits $1,000. ### Top up, step by step 1. Open **Billing** (Users, in the sidebar), then the **Top up** tab. You can also press **Top up** on the Overview, or click the balance pill next to your name at the bottom of the sidebar. 2. Pick what you will send. The address, the QR code and the rules below them change with your choice. 3. Press **Copy** next to the **Deposit address** (or scan the QR code from your wallet app). 4. On Solana only, also press **Copy** next to **Memo (required)** and paste it in your wallet's memo field. 5. Send the transfer from your wallet. Check the line in orange above the rules: send only that asset, on that network. 6. Wait for the confirmation. The deposit appears in **Recent deposits** as **Pending**, with the confirmations counted (for example 12/19), then **Confirmed**. The balance is credited automatically at that moment. ![On Solana, the memo is required](https://lanachat.ai/guides/img/top-up-your-balance/solana-memo.png) > Warning: On Solana, a deposit sent without the memo cannot be matched to your workspace. Always copy both the address and the memo. > Warning: Send only the asset and network shown. A token sent on another network to this address is not credited automatically. ### Recent deposits The table under the address lists your last deposits: **Date**, **Asset**, **Sent**, **Fee**, **Credited** and **Status**. Every confirmed deposit is also a line of type **Deposit** in [Activity](https://lanachat.ai/guides/activity-statements-and-details/), with the balance after it. ### Who can top up The balance pill and the Billing page are for the people your role lets in. Someone without billing access who clicks the pill sees "Only the agency owner can top up the balance". See [Team Management](https://lanachat.ai/guides/team-and-roles/). ### Questions #### How long does a top-up take? As long as the network takes to confirm the transfer. Nothing is needed from you: the balance updates by itself once the deposit is **Confirmed**. #### Can I get my money back if I stop? Unused balance can be refunded through support, on request within 30 days of the top-up. See [Get your unused balance back](https://lanachat.ai/guides/get-unused-balance-back/). #### How much should I keep on the balance? At least a week of commission plus your licence renewals. The Overview tells you how many days your balance covers at this month's pace. See [When your balance runs low or hits $0](https://lanachat.ai/guides/low-or-empty-balance/). --- ## When your balance runs low or hits $0 _Billing · 3 min read · Updated 2026-10-23 · https://lanachat.ai/guides/low-or-empty-balance/_ Your balance pays for two things: licences, and LanaChat's share of each sale as it happens. When it runs out, Lana stops working until you top up. LanaChat warns you well before that, in three places. ### The warnings - **The balance pill**, at the bottom of the sidebar next to your name, shows your balance in whole dollars. It turns **red below $50**. Click it to go straight to [Top up](https://lanachat.ai/guides/top-up-your-balance/). - **The Overview of Billing** shows how long your balance lasts: "Covers ~15 days at this month's pace". When that drops **under 7 days**, an amber banner appears: "Your balance covers ~N days. Top up to keep the AI replying.", with a **Top up** button. - **Buying licences** with too little balance tells you exactly what is missing: "Not enough balance: $X missing. Top up". **Renewing** an expired licence says "Not enough balance. Top up first." ![A low balance: the banner on the Overview and the red pill in the sidebar](https://lanachat.ai/guides/img/low-or-empty-balance/low.png) ### What happens at $0 When the balance reaches $0: - **Lana pauses** on every account of the workspace. She stops replying to fans and stops sending offers. - **The CRM becomes read-only.** Your team can still open and read every conversation, but the Console does not let anyone work in it until the balance is back. - The Overview shows a red banner, **AI paused, CRM read-only**, and the balance card says "AI paused until you top up." ![The balance at $0: AI paused, CRM read-only](https://lanachat.ai/guides/img/low-or-empty-balance/empty.png) Nothing is deleted: your creators, conversations, scripts and media stay exactly where they are. ### Start again 1. Press **Top up** on the red banner (or in Billing, **Top up** tab). 2. Send a deposit of at least $25. See [Top up your balance](https://lanachat.ai/guides/top-up-your-balance/). 3. Once the deposit is **Confirmed**, the balance is credited and Lana turns back on by herself. ![Buying licences with too little balance says how much is missing](https://lanachat.ai/guides/img/low-or-empty-balance/not-enough.png) > Tip: Keep at least a week of commission on the balance. The Overview's "Covers ~N days" line is the easiest way to judge it: it uses this month's real pace of sales. > Note: Licences on auto-renew are also paid from the balance when your stock is empty ($19 per renewal). Keep enough for them too. See [Licence expiry and auto-renew](https://lanachat.ai/guides/licence-expiry-and-auto-renew/). ### Questions #### Do fans notice when Lana pauses? They simply stop getting replies from Lana. Nothing is sent to them about your balance. #### Does a $0 balance cancel my licences? No. Licences in stock never expire, and running licences keep counting their days. Top up, and everything starts again where it stopped. --- ## Get your unused balance back _Billing · 3 min read · Updated 2026-10-23 · https://lanachat.ai/guides/get-unused-balance-back/_ Money on your balance that has not been used yet can be refunded. Money already used for licences or for LanaChat's share of your sales cannot. Here is how it works, from section 8 of the Terms of Service. ### The rule - **Unused balance** is refunded **through support**, on request made **within 30 days of the top-up**. - It goes back **in the same asset, to the same wallet** (or payment method) it came from. - Any **network or processor fee** is deducted from the refund. - Balance **already consumed** by licences or by the share of sales is not refundable. - **Licences you bought** are not refundable, but they **never expire**: they wait in your stock until you need them, or move to another account. See [Buy licences](https://lanachat.ai/guides/buy-licences/). > Note: Example: on March 3 you top up $500. By March 20 you have used $140 (licences and commission). You can ask support for the remaining $360 back until April 2, minus the network fee of the transfer back to your wallet. ### When the 30 days do not apply Your unused balance is refunded whatever its age when: - **LanaChat changes its prices** and you do not agree: you can stop and ask for your unused balance back. Price changes are announced at least 30 days ahead, in the Console or by email. - **LanaChat ends the contract for convenience** (with 30 days' notice): your unused balance and the value of your unused licences are refunded. ### How to ask There is no refund button in the Console. Write to support with your workspace name and the deposit you want refunded (date and amount, as shown in **Billing**, **Top up** tab, **Recent deposits**). Use the help bubble at the bottom right of the Console, or **Contact support** at the bottom of these guides. > Tip: Before you ask, check [Activity](https://lanachat.ai/guides/activity-statements-and-details/) with the **Deposits** filter: it lists every top-up with its date, so you know which ones are still inside their 30 days. ### Not the same thing - **Affiliate earnings** are not prepaid balance: they can be withdrawn from $500. See [The affiliate program](https://lanachat.ai/guides/affiliate-program/). - **Refunds to fans** happen with Telegram or your payment provider, never on your LanaChat balance. See [Refunds and chargebacks](https://lanachat.ai/guides/refunds-and-chargebacks/). --- ## Buy licences _Billing · 3 min read · Updated 2026-10-23 · https://lanachat.ai/guides/buy-licences/_ A **licence** lets one Telegram account run on LanaChat for **30 days**. Every account Lana chats from needs one. You buy licences from your balance, they wait in your **stock**, and you give them to accounts whenever you want. ### Prices | What you buy | Price | Per licence | |---|---|---| | Single licence (1 to 9) | $19 each | $19 | | Pack of 10 | $170 | $17 | | Pack of 25 | $375 | $15 | | Pack of 50 | $650 | $13 | - Licences in stock **never expire**. The 30 days only start when you assign one to an account. - There is no seat fee: your team members, creators and fans cost nothing extra. > Note: Example: 12 Telegram accounts. One pack of 10 ($170) plus 2 single licences ($38) = $208 a month, or $17.33 per account. ### Buy, step by step 1. Make sure your balance covers the price. If not, [top up](https://lanachat.ai/guides/top-up-your-balance/) first. 2. Open **Billing**, then the **Licences** tab. **Buy licences** is at the top. 3. Pick **Single licence** and set the number with **−** and **+** (1 to 9), or pick a pack of 10, 25 or 50. The pack of 10 is selected when you arrive. 4. Press **Buy · $170.00** (the button shows the total of your choice). 5. Confirm: "Buy 10 licences for $170.00 from your balance?" Press **Confirm**. ![Buy licences: pick a single licence or a pack, then Buy](https://lanachat.ai/guides/img/buy-licences/buy-licences.png) The licences go to your stock at once. The **In stock** counter goes up, a line appears in **Stock history**, and the purchase is a **Licences** line in [Activity](https://lanachat.ai/guides/activity-statements-and-details/). ![The confirmation before anything is taken from your balance](https://lanachat.ai/guides/img/buy-licences/confirm.png) > Tip: Going over 9 singles? The Console stops you at 9 and suggests a pack of 10, which is cheaper ($170 instead of $190). ### What the Console tells you - **Not enough balance: $X missing. Top up**: the purchase would take more than your balance. The link opens Top up. - **A pack of 10 is cheaper**: you picked 9 singles, which cost more than a pack of 10. - Under the purchase block: **Active** (accounts running on a licence), **In stock** (licences waiting) and **Expiring within 7 days**. ### Next Give a licence to an account: [Assign, move or take back a licence](https://lanachat.ai/guides/assign-and-move-licences/). Keep accounts running without thinking about it: [Licence expiry and auto-renew](https://lanachat.ai/guides/licence-expiry-and-auto-renew/). > Note: Bought licences are not refundable, but since they never expire, nothing is lost: they stay in your stock. See [Get your unused balance back](https://lanachat.ai/guides/get-unused-balance-back/). --- ## Assign, move or take back a licence _Billing · 4 min read · Updated 2026-10-23 · https://lanachat.ai/guides/assign-and-move-licences/_ A licence in your stock does nothing until you give it to a Telegram account. From then on, its days count down on that account (30 days for a new licence). You can move a running licence to another account, or take it back to your stock, at any time and for free: the days left always travel with it. Everything happens in **Billing**, **Licences** tab, in the **Telegram accounts** table. ![The Telegram accounts table: days left, auto-renew and actions for each account](https://lanachat.ai/guides/img/assign-and-move-licences/accounts.png) ### Read the table - **Creator** and **Account**: the creator and the Telegram account (its @ or its name). - **Days left**: a bar and "N/30". It changes look in the last 3 days. - **Auto-renew**: a switch per account. See [Licence expiry and auto-renew](https://lanachat.ai/guides/licence-expiry-and-auto-renew/). - **Actions**: **Assign**, **Reassign**, **Unassign** or **Renew**, depending on the state. Narrow the list with the **Creator** picker and the state switch: **All**, **Active**, **Expiring soon**, **Expired**, **No licence**. Choose 10, 25 or 50 rows per page at the bottom. ### Give a licence to an account 1. Click **No licence** to see the accounts that have none. 2. Press **Assign** on the account. A licence leaves your stock: the stock licence with the fewest days left is used first: its remaining days, or 30 days if it is new. Auto-renew is on by default; turn it off with the switch in the **Auto-renew** column. ![Accounts without a licence, with Assign](https://lanachat.ai/guides/img/assign-and-move-licences/no-licence.png) > Note: Assign needs a licence in stock. With an empty stock, [buy licences](https://lanachat.ai/guides/buy-licences/) first. ### Move a licence to another account Useful when an account is banned, retired, or when a creator stops and another starts. 1. Press **Reassign** on the account that has the licence. 2. In **Move to**, pick the new account. Only accounts without a running licence are listed. 3. Press **Reassign**. ![Reassign: the licence keeps its days left, for free](https://lanachat.ai/guides/img/assign-and-move-licences/reassign.png) The licence keeps its days left: a licence with 4 days left gives the new account 4 days. Reassigning is free. ### Take a licence back to your stock 1. Press **Unassign** on the account. 2. Read the confirmation: "The AI stops replying on @account. The licence goes back to your stock with its N days left." 3. Press **Unassign** (or **Keep** to cancel). ![Unassign: Lana stops on that account, the licence returns to your stock](https://lanachat.ai/guides/img/assign-and-move-licences/unassign.png) > Warning: Unassigning stops Lana on that account right away. Fans who write to it no longer get replies from her. Every move is written in **Stock history** at the bottom of the tab: "Assigned to @account", "Moved from @a to @b", "Back from @account", with the stock after each line. ### Questions #### Does moving a licence reset it to 30 days? No. It keeps exactly the days it had. A licence taken from the stock brings its own days: the stock licence with the fewest days left is used first: its remaining days, or 30 days if it is new. #### Is there a limit to how often I can move a licence? No limit is shown in the Console, and moving is free. --- ## Licence expiry and auto-renew _Billing · 3 min read · Updated 2026-10-23 · https://lanachat.ai/guides/licence-expiry-and-auto-renew/_ A new licence runs for 30 days from the moment it is assigned to an account (a licence that went back to your stock keeps its days left). With **auto-renew** on, the account gets a new licence when its days run out, without you doing anything. Auto-renew is on by default when you assign a licence. ### How auto-renew works When the days run out, for an account with auto-renew on: 1. LanaChat takes **a licence from your stock**: the stock licence with the fewest days left is used first: its remaining days, or 30 days if it is new. 2. If the stock is empty, it **buys one single licence ($19) from your balance**. 3. With no licence in stock and less than $19 on the balance, nothing can renew: the licence expires and **Lana stops on that account** until a licence is assigned to it. To turn it off, use the switch of the account. The switch is per account, in **Billing**, **Licences** tab, column **Auto-renew**. Above the table, "Auto-renew on for 10 of 12 accounts" tells you where you stand, and **Turn on auto-renew for all** (or **Turn off auto-renew for all**) acts on every account shown, after a confirmation. ![Expiring soon: the accounts with 7 days or less, with their auto-renew switch](https://lanachat.ai/guides/img/licence-expiry-and-auto-renew/expiring-soon.png) > Tip: Filter by creator before you press **Turn on auto-renew for all**: it only acts on the accounts the table shows. ### Keep an eye on expiry - **Expiring within 7 days**, at the top of the tab, counts the licences close to their end. - The **Expiring soon** filter lists them. - The Overview shows "next renewal in N days" next to your licences. ### When a licence expires An account whose licence has ended shows a red **Expired** badge. **Lana stops on that account** until a licence is assigned to it. Two buttons: - **Renew**: gives it a licence from your stock (the stock licence with the fewest days left is used first: its remaining days, or 30 days if it is new), or buys a single licence ($19) if the stock is empty. With less than $19 on the balance, the Console says "Not enough balance. Top up first." - **Unassign**: clears the account from the licence list. > Note: Cheaper renewals: buy a pack ahead of time. Auto-renew always takes from the stock first, so a pack of 25 bought at $15 each is used before any $19 single. ### Questions #### Do licences in stock expire? Never. Only the 30 days of an assigned licence count down. #### What if my balance is empty when a renewal is due? Auto-renew cannot buy a licence without balance. Keep your stock or your balance ready for the renewals shown in "next renewal in N days", and see [When your balance runs low or hits $0](https://lanachat.ai/guides/low-or-empty-balance/). --- ## LanaChat's share of your sales _Billing · 4 min read · Updated 2026-10-23 · https://lanachat.ai/guides/commission-on-sales/_ On top of licences, LanaChat takes a **share of the net sales** made through your connected accounts. The share is bigger on what Lana sells herself than on what your team sells by hand, and it gets smaller as your month grows. It is taken from your balance at each sale. ### The tiers One counter adds up the net sales of the **whole workspace** (all creators, all accounts, AI and manual together) in the calendar month. It resets on the 1st (UTC). | Net sales in the month | Sent by the AI | Sent by your team | |---|---|---| | $0 to $30,000 | 12% | 4% | | $30,000 to $100,000 | 10% | 3% | | Above $100,000 | 8% | 2% | - Each sale is charged at the tier your counter has reached when it is paid. - A sale that crosses $30,000 or $100,000 is split at the threshold. - Whether a sale counts as an **AI sale** or a **manual sale** depends on who sent the paid offer. An offer sent by a script step is a manual sale. See [AI sale or manual sale?](https://lanachat.ai/guides/ai-sale-or-manual-sale/). ![How your bill is calculated, on the Billing Overview](https://lanachat.ai/guides/img/commission-on-sales/commission-table.png) ### Worked examples > Note: $50,000 net in a month, all sent by Lana: 30,000 × 12% + 20,000 × 10% = $3,600 + $2,000 = **$5,600**, an effective 11.2%. > Note: $87,000 net in a month, all sent by Lana: 30,000 × 12% + 57,000 × 10% = $3,600 + $5,700 = **$9,300**, an effective 10.7%. The same month sold entirely by your team: 30,000 × 4% + 57,000 × 3% = $1,200 + $1,710 = **$2,910**. > Note: A sale that crosses a tier: your counter is at $29,900 and Lana sells a $250 pack. $100 is charged at 12% ($12) and $150 at 10% ($15): **$27**. ### What counts as a net sale Net sales are what the fan **actually paid**, after Telegram's share of Stars, payment fees and refunds. In the Console: - **Telegram Stars**: each Star counts **$0.013**. A 2,500 Star pack is $32.50 of net sales; sold by Lana in the first tier, the share is $3.90. - **Payment links** (FanGate, Dropp Fans and others): the amount the link **actually settled**. When that amount is not known, the Console uses the gross minus the provider's public fee, as shown in Billing (FanGate 8%, Dropp Fans 10%). For example a $49.00 Dropp Fans sale counts $44.10. At most 15% of payment fees are deducted. - **Refunds**: a refund confirmed within 7 days gives the share back and lowers the counter. See [Refunds and chargebacks](https://lanachat.ai/guides/refunds-and-chargebacks/). ### What is never charged - Subscriptions sold outside the chat. - Tips with no earlier message in the conversation. - Sales made on tools not connected to LanaChat. - Fans' messages: chatting costs nothing, only sales count. ### Where to follow it - **Billing**, **Overview**, card **Month to date**: **Net sales**, **Commission so far**, **Effective rate**, the tier you are in ("Tier 2 · AI 10% · manual 3%") and how much is left before the next one ("$13,000.00 to tier 3"). - **Billing**, **Activity**: one line per sale, with its net, its rate and the commission taken. See [Activity, statements and billing details](https://lanachat.ai/guides/activity-statements-and-details/). - The [Dashboard](https://lanachat.ai/guides/reading-your-numbers/) shows what your creators earn; Billing shows what you pay LanaChat. > Tip: Try your own numbers in the simulator: [Estimate your monthly bill](https://lanachat.ai/guides/estimate-your-bill/). --- ## AI sale or manual sale? _Billing · 3 min read · Updated 2026-10-23 · https://lanachat.ai/guides/ai-sale-or-manual-sale/_ LanaChat takes 12%, 10% or 8% on what Lana sells, and only 4%, 3% or 2% on what your team sells by hand. So which is which? One rule decides: **who sent the paid offer**. ### The rule - A **paid offer** is the locked media, the price or the payment link sent to the fan. - Sent by **Lana**: it is an **AI sale**. - Sent by **a person on your team** from Live Convs: it is a **manual sale**. - Sent by **a script step**: it is a **manual sale**, charged at the team tiers (4%, 3%, 2%). An offer Lana chose to send herself is an AI sale (12%, 10%, 8%). - A **tip** goes to whoever sent the last message to the fan before it: by Lana, an AI sale; by your team or a script step, a manual sale. - There is **no time window**. If Lana sent the offer on Monday and the fan pays on Friday, it is an AI sale. - Turning Lana off in a conversation never changes an offer that was already sent. ### See it in the chat In [Live Convs](https://lanachat.ai/guides/live-convs/), under every paid offer, a small line says who sent it and the tier: "Sent by AI · 12% tier" or "Sent by you · 4% tier". An offer sent by a script step says "Sent by a script · 4% tier". ![Under a paid offer: Sent by AI, with the rate of the tier](https://lanachat.ai/guides/img/ai-sale-or-manual-sale/sent-by-ai.png) ### Common cases | What happens | Counts as | |---|---| | Lana sends a locked video at 250 Stars, the fan unlocks it | AI sale | | A chatter takes over, sends a pack from the Vault with a price, the fan pays | Manual sale | | Lana sent the offer, then a chatter takes over and chats, the fan pays the same offer later | AI sale (Lana sent it) | | A chatter sends a payment link by hand, the fan pays it | Manual sale | | A script step sends a paid video, the fan unlocks it | Manual sale | | Lana chats, the fan sends a tip right after her message | AI sale | | A chatter replies, the fan tips after that reply | Manual sale | > Note: Taking over a conversation does not cost you more. If your team closes the sale, you pay the manual rate on it. ### Check it in Billing Open **Billing**, **Activity**, pick **Sales**, then **Sent by AI** or **Sent by human**. Each sale line shows its tier and who sent it ("tier 2 · AI", "tier 1 · human"), the net and the commission taken. ![Activity filtered on sales sent by a human](https://lanachat.ai/guides/img/ai-sale-or-manual-sale/activity-by-human.png) Both kinds of sale feed the **same monthly counter**: a manual sale also moves you toward the next, cheaper tier. See [LanaChat's share of your sales](https://lanachat.ai/guides/commission-on-sales/). More on taking over: the [Live Convs feature page](https://lanachat.ai/landing/features/live-convs/). --- ## Refunds and chargebacks _Billing · 5 min read · Updated 2026-10-23 · https://lanachat.ai/guides/refunds-and-chargebacks/_ Sometimes a fan wants his money back, or a payment is reversed by his bank. This guide follows a refund from start to end: in the chat, in your sales, and on your LanaChat balance. ### Who refunds the fan Fans pay the creator or your agency, in Telegram Stars or through your payment links. **LanaChat never holds fan money**, so a refund is made where the payment was made: - **Telegram Stars**: from the creator's bot or account that received the Stars, under Telegram's rules. - **Payment links** (FanGate, Dropp Fans and others): with the provider, from your account there. Chargebacks, disputes, refunds and provider holds are between your agency, the creator, the fan and the provider. LanaChat is not a party to them. ### In the chat When a fan asks for a refund, **Lana is paused on that conversation** until a person on your team resumes her. In [Live Convs](https://lanachat.ai/guides/live-convs/): - The conversation shows the grey badge **AI stopped · Asked for a refund**. - Above the reply box, a banner says **AI has stopped · Asked for a refund**, with a **Resume AI** button. - The switch at the top reads **AI stopped · you are replying**. ![Lana stopped after a refund request: a person on your team takes it from here](https://lanachat.ai/guides/img/refunds-and-chargebacks/ai-stopped.png) What to do: 1. Read the conversation and decide with your agency's refund policy. Lana never decides a refund: only a person on your team can. 2. Reply to the fan yourself from Live Convs. 3. If you refund, do it with Telegram or the provider (see above). 4. When the matter is closed and you want Lana back, press **Resume AI**. It needs the "Pause the AI on a conversation" permission (see [Custom roles](https://lanachat.ai/guides/custom-roles/)). > Tip: Not sure Lana should talk to this fan again? Leave her stopped. The conversation stays with your team until someone presses **Resume AI**. ### In your sales The refunded sale stays in your sales history with the status **Refunded**, in red, and a negative amount. Look in the **Sales logs** of the [Dashboard](https://lanachat.ai/guides/sales-log/), which list Telegram and FanGate sales with their status: **Paid**, **Pending**, **Failed** or **Refunded**. On payment links, refunds and the provider's reversal fees also lower your net earnings. ![Sales logs: refunded sales in red, with a negative amount](https://lanachat.ai/guides/img/refunds-and-chargebacks/sales-log.png) ### On your LanaChat balance LanaChat took its share when the sale was paid. What happens to that share depends on **when the refund or reversal is confirmed**: - **Within 7 days of the sale**: the share taken on it comes **back to your balance**, at the rate it was charged, and your **monthly counter goes down** by the same net amount. - **After 7 days**: the share stays. Each refund is a line of type **Refund** in **Billing**, **Activity**, with "commission back" and "refund within 7 d", the net in negative and the share credited back in green. Filter with **Refunds** to see only them. ![Activity filtered on refunds: the share comes back to the balance](https://lanachat.ai/guides/img/refunds-and-chargebacks/activity-refunds.png) > Note: Example: Lana sold a 12,500 Star video, so $162.50 of net sales, while you were in the second tier (10%). LanaChat took $16.25. The fan is refunded 2 days later: $16.25 comes back to your balance and your monthly counter goes down by $162.50. Had the refund come on day 9, the $16.25 would have stayed. > Note: Example on a payment link: a $49.00 Dropp Fans sale counts $44.10 net. Refunded within 7 days at 10%, $4.41 comes back to your balance. ### Questions #### Does a refund cost me anything on LanaChat? No. LanaChat charges no fee on a refund. Within 7 days, you even get its share back. #### Does it matter whether Lana or my team made the sale? Only for the rate: the share given back is the one that was taken, 12%, 10% or 8% for an AI sale, 4%, 3% or 2% for a manual sale. See [AI sale or manual sale?](https://lanachat.ai/guides/ai-sale-or-manual-sale/). --- ## How fans pay: Telegram Stars and payment links _Billing · 3 min read · Updated 2026-10-23 · https://lanachat.ai/guides/fan-payments-stars-and-links/_ Fans pay for your creators' content in two ways: in **Telegram Stars**, right in the chat, or through **your own payment links** (FanGate, Dropp Fans and others) that Lana sends at the right moment. In both cases the money goes to the creator or your agency, never to LanaChat. ### Telegram Stars - Lana sends a locked photo, video or pack with a price in Stars. The fan unlocks it in Telegram. - The Stars land on the creator's bot or account. **Telegram holds Stars for 21 days** before they can be withdrawn. - Withdrawals are paid by Telegram, in TON, to the bot owner's wallet. LanaChat never holds your Stars. - For LanaChat's share, each Star counts **$0.013** of net sales. Follow the Stars in **Agency settings**, **Telegram balance**: **Total available**, **Pending** (the 21 days) and **Withdrawn this month**, then a **Balance by creator** table with each bot or account. ![Agency settings, Telegram balance: the Stars Telegram holds for each creator](https://lanachat.ai/guides/img/fan-payments-stars-and-links/telegram-balance.png) ### Payment links - Add your links in **Agency settings**, **Payments**: a label, the address, an optional creator, and a switch to turn a link off. Press **Add link**, then **Save changes**. - Lana sends the link to the fan when the conversation is ready for it; your team can send it by hand from Live Convs. - The provider collects the payment under its own terms, with its own fees and payout delays. - For LanaChat's share, a link counts the amount it **actually settled**. ![Agency settings, Payments: your payment links](https://lanachat.ai/guides/img/fan-payments-stars-and-links/payment-links.png) ### Stars or dollars on screen Each person can show amounts in **Dollars** or **Stars** from the account menu; **Agency settings**, **General**, **Default display currency** sets the choice for new team members. It changes how the Dashboard and fan amounts read (1 Star ≈ $0.013), never what you pay: Billing is always in US dollars. ### Where the money shows - What fans paid: the [Dashboard](https://lanachat.ai/guides/reading-your-numbers/) and the [Sales log](https://lanachat.ai/guides/sales-log/), in the original currency of each sale. - What you pay LanaChat on those sales: [LanaChat's share of your sales](https://lanachat.ai/guides/commission-on-sales/). - When a fan is refunded: [Refunds and chargebacks](https://lanachat.ai/guides/refunds-and-chargebacks/). Prices are set per media in the Vault. Lana never invents a discount. She only uses the reduced prices you wrote on script steps, and you can cap them with a discount ceiling in the AI Brain (**AI Brain** > **Conversation** > **Set a discount ceiling**, from 0 to 60 %, 0 means no discount). Without a ceiling, the reduced price of the script step applies as written. See [Vault](https://lanachat.ai/guides/vault/) and the [Vault and paid media feature page](https://lanachat.ai/landing/features/vault-and-paid-media/). --- ## Connect Fangate or Dropp payment links _Billing · 4 min read · Updated 2026-10-23 · https://lanachat.ai/guides/connect-fangate-or-dropp/_ Fangate and Dropp Fans let fans pay with a payment link instead of Telegram Stars. You connect them with an API key from their own settings, and their sales are brought into LanaChat next to your Telegram sales. Only the workspace owner can connect them. ### 1. Add the workspace keys 1. Create a key on the provider's side. In Fangate: **Settings → API → Create key**. In Dropp Fans: **Account → API keys → New key**. 2. In the Console, open **Agency settings** (Users group of the sidebar), then the **Integrations** tab. 3. On the **Fangate API** or **Dropp Fans API** card, paste the key and press **Save key**. 4. Press **Test connection** to check that the key works. From then on only the last 4 characters of the key are shown. **Replace** changes it, **Disconnect** stops the integration. > Warning: An API key works like a password. Never send it in a chat or an email. ### 2. Connect each creator to Fangate Fangate works creator by creator. Open the creator in **Creators** and connect her Fangate account (the Fangate window sends you there when she isn't connected yet). The **Connection** step offers two ways: - paste a **Fangate API key** made for this creator, or - press **Choose an agency account** and pick her from your Fangate agency. The key needs these permissions: **Manage content**, **View transactions** and **Manage webhooks**. Press **Connect creator**. Credentials are encrypted on the server, never saved in your browser. ### 3. Turn on payment notifications Still in **Connection**, press **Enable payment notifications**. This sets up the webhook that tells LanaChat each time a fan pays. Once done, the line reads **Payment notifications are connected**, and the button becomes **Check webhook connection**. **Connection recovery** has two repairs: **Replace webhook signing secret** (when a webhook exists but its secret was not saved) and **Replace API key**. ### 4. Sell media through Fangate Open **Vault** and press **Fangate** at the top, or open one photo or video and press **Fangate checkout**. The window has three tabs. **Media**: prepare a media for sale. 1. Fill in the **Title**, a **Public description** (at least 15 characters) and the **Price** in the account's currency. 2. Choose the **Media origin**: Not AI generated or modified, Fully AI generated, or AI modified (the creator or another person). For AI media, tick the confirmation. 3. Answer **Does another person appear in this media?** (if yes, consent is required) and choose whether to **Allow buyers to download**. 4. Press **Upload & create checkout**. The upload continues on the server, so you can close the window. When it is ready, **Copy link** or **Open checkout**, and **Edit price** at any time. **Create employee checkout** makes a new link for the same media, with the sales attributed to one team member. **Pending**: media waiting for Fangate's moderation, consent and price reviews, and payments not confirmed yet. **Payments**: the wallet and every payment. **Sync last 30 days** syncs the payment history again. Only confirmed sales count as revenue; pending payments and payout holds are separate states. ### What happens next - Each Fangate sale appears in the **Sales logs** of the Dashboard with the source **Fangate**, in its original currency. See [Sales logs](https://lanachat.ai/guides/sales-log/). - Commission is counted on the amount the link actually settled. When that amount is not known, the Console uses the gross minus the provider's public fee (Fangate 8%, Dropp Fans 10%). See [Commission on sales](https://lanachat.ai/guides/commission-on-sales/). --- ## Activity, statements and billing details _Billing · 3 min read · Updated 2026-10-23 · https://lanachat.ai/guides/activity-statements-and-details/_ Every dollar that enters or leaves your LanaChat balance is written down. Three tabs of **Billing** keep the record: **Activity** (each movement), **Invoices** (one statement per month) and **Billing details** (what is printed on them). ### Activity **Activity** lists everything that moves your balance: each sale and its commission, deposits, licences, refunds and affiliate earnings. ![Activity: every movement of the balance, with the balance after each line](https://lanachat.ai/guides/img/activity-statements-and-details/activity.png) - **Filter by type**: **All**, **Sales**, **Deposits**, **Licences**, **Refunds**, **Affiliate**. On **Sales**, a second filter appears: **All**, **Sent by AI**, **Sent by human**. - **Columns**: **Date**, **Type**, **Description**, **Net**, **Rate**, **Amount** and **Balance after**. - **A sale line** shows the fan, the tier and who sent the offer ("tier 1 · AI"), how the net was counted ("12,500 ★ × $0.013" or "Dropp Fans · $49.00 − 10%"), the rate and the commission taken. - **The footer** adds up the lines shown: net sales and commission, the same commission as on the Overview. - **Export CSV** downloads the lines, to keep a copy or hand to your accountant. - **Rows per page**: 10, 25 or 50, with **Previous** and **Next**. > Tip: To check one creator's month, export the CSV and filter it in your spreadsheet. ### Invoices **Invoices** holds your **Monthly statements**: one per month, numbered like LC-2026-10, with **Licences**, **Commission**, **Total** and a **Status** (**Paid**, **In progress**, **Failed**). Pick the year at the top. ![Monthly statements: licences and commission, month by month](https://lanachat.ai/guides/img/activity-statements-and-details/invoices.png) Each row has a PDF button, and **Download all** gets the whole year. PDF downloads are not available yet: the Console tells you so when you press them. > Warning: Check your statements. A billing error must be reported within 60 days of the statement that shows it; after that, the statement is final. ### Billing details **Billing details** is what appears on your statements: **Company**, **Billing email** (monthly statements and deposit receipts are sent there), **Address**, **City**, **Postal code**, **Country** and **VAT ID** (optional). 1. Fill in or change the fields. 2. Press **Save changes**. **Discard** puts back what was saved. Both stay grey until you change something. ![Billing details: printed on your monthly statements](https://lanachat.ai/guides/img/activity-statements-and-details/billing-details.png) > Note: Prices exclude VAT, sales tax and withholding tax. Where a tax applies to LanaChat's invoice, it is added to the amount taken from your balance. --- ## The affiliate program _Billing · 3 min read · Updated 2026-10-23 · https://lanachat.ai/guides/affiliate-program/_ Bring another agency to LanaChat and earn **10% of LanaChat's commission** on its sales, for **12 months**, as shown on the Affiliates page. Your earnings can go on your balance at any time, or be withdrawn in crypto from $500. Open **Affiliates**, in Users at the bottom of the sidebar. ![Affiliates: your link, what you earned and the workspaces you brought](https://lanachat.ai/guides/img/affiliate-program/affiliates.png) ### Share your link 1. Under **Your affiliate link**, press **Copy**. 2. Send it to the agency. When it opens its workspace from your link, it is counted as yours. ### What you earn - **10% of the commission** LanaChat takes on the workspaces you referred, for 12 months from their start. - **On commission only**, not on their licences. - **One way**: they do not earn on you. - **Not eligible**: the same wallet, the same Telegram or the same owner as yours. > Note: Example: an agency you referred sells $50,000 in a month, all through Lana. LanaChat's commission on it is $5,600, so you earn $560 that month. ### Your numbers - **Total earned**, **Total credited**, **Available to withdraw** and **Pending**, with the date pending earnings become available. - "This month so far": what you have earned this month. Earnings are **released 7 days after the month ends**. - **Referred workspaces**: each workspace with **Since**, **Commission generated**, **Your share** and **Months left**, then the total. ### Use your earnings - **Credit to balance**: moves your available earnings to your LanaChat balance at once, to pay your own licences and commission. An "Affiliate earnings credited" line appears in [Activity](https://lanachat.ai/guides/activity-statements-and-details/). - **Withdraw**: from **$500** available. Confirm, and the earnings are sent in USDC to the wallet on file, 7 days after the month ends. > Tip: Under $500, use **Credit to balance**: the earnings are not lost, they lower what you top up. ### Questions #### Does my referral pay more because of me? No. The agency pays the normal price. Your 10% comes out of LanaChat's commission, not from them. #### What happens after 12 months? The workspace stays with LanaChat, and you stop earning on it. **Months left** shows how long is left for each one.