Channels
Every way a customer can reach you, and how to connect each one.
Website live chat
The website channel puts a chat bubble in the corner of your own site. A visitor clicks it, types, and the message lands in Conversations next to your WhatsApp and your email — same inbox, same agents, same labels, same reports. It is the fastest channel to connect, because nothing outside Lynomia Chat has to approve it. There is no business verification, no template review and no provider account: you create the channel, paste one script tag into your site, and it is live. This article shows both ends of it — the visitor's and yours. What you need - An administrator account. - The ability to add a <script> tag to your website. On a CMS that is usually a "custom code", "header scripts" or "tracking code" box; on a site you build yourself it goes before </body>. Steps 1. Create the channel Go to Settings → Inboxes, choose to add an inbox, and pick Website. You are asked for five things, and all five are visible to your visitors except the first: | Field | What it is | |---|---| | Website Name | the inbox's name in your dashboard, and the name at the top of the widget | | Website Domain | the address of the site the widget will live on, e.g. paperlayer.test | | Widget Color | the colour of the bubble and of the visitor's own messages | | Welcome Heading | the first line a visitor reads when they open the widget | | Welcome Tagline | the sentence under it | Then Enable channel greeting, and if you switch it on, the greeting itself. A greeting is sent automatically when a visitor sends their first message — it is a message in the conversation, not a label on the widget, so it appears in the thread and your agents can see it was sent. 2. Choose who works in it The next step adds agents. An agent who is not a member of this channel sees nothing from it — not in their list, not in search, not in their notifications. Administrators see every channel without being added. 3. Install the widget The last step of setup shows you a script. It is also on the channel's own page afterwards: open Settings → Inboxes → your website channel, and switch the preview panel on the right from Preview to Script. The website channel's settings with the preview panel switched to Script, showing the install snippet Copy it and paste it into your site's HTML, before the closing </body> tag, on every page you want the chat to appear on. It looks like this, with your own installation address and your own website token: <script> (function(d,t) { var BASE_URL="https://chat.lynomia.com"; var g=d.createElement(t),s=d.getElementsByTagName(t)[0]; g.src=BASE_URL+"/packs/js/sdk.js"; g.async = true; s.parentNode.insertBefore(g,s); g.onload=function(){ window.chatwootSDK.run({ websiteToken: 'your-website-token', baseUrl: BASE_URL }) } })(document,"script"); </script> The script is async, so it never blocks your page from rendering. The website token in it is what identifies the channel; it is not a secret in the sense a password is — it is in the source of every page you put it on — but it is the only thing tying that widget to your account, so do not publish it anywhere it does not need to be. 4. Check it from the visitor's side Open your own site in a normal browser window. The bubble appears in the bottom corner, in the colour you chose. A demo shop with the chat bubble in the bottom corner Click it. The widget opens on your welcome heading, your tagline, whether anyone is available, and the reply time you set — not on an empty composer. The visitor starts the conversation deliberately, with Start Conversation. The widget open on the demo shop, showing the welcome heading, the tagline and the Start Conversation button 5. Watch it arrive Send yourself a message from that widget, then look at Conversations in the dashboard. It is there, on the website channel, from a contact Lynomia Chat has just created for this visitor. The message from the widget, open in the agent's inbox on the website channel A visitor who has not told you who they are gets an invented friendly name and no email address. That is not a gap to be fixed — it is what you know about them so far. A pre-chat form, the email collect box, and anything your own site passes to the widget all fill it in; each of those is below. What the visitor sees, and what controls it Everything on the widget comes from one place: Settings → Inboxes → your website channel, and the Widget features section on it. The panel on the right is a live preview — it changes as you type, before you save. | On the widget | The setting | |---|---| | the name at the top | the inbox's name | | the first line, and the sentence under it | Welcome Heading, Welcome Tagline | | the colour of the bubble and the visitor's messages | Widget Color | | "Typically replies in a few minutes" | Reply time | | "We are Online" / "We are away at the moment" | whether any agent of this channel is online right now | | the first reply the visitor receives | the channel greeting, in Channel Preferences | | the paper-clip, the emoji button, "End conversation" | Features | Reply time is a promise you are making, not a measurement. It says what you choose — a few minutes, a few hours, or a day — and nothing in the product checks it against reality. Pick the one you can keep on your worst day, not your best. Online and away is about people, not opening hours. The widget says you are online when at least one agent who is a member of this channel is signed in and set to online. Nobody signed in, or everybody set to busy, and a visitor is told you are away. If you want the widget to follow your opening hours instead, that is business hours on the same channel. Where the bubble sits, and what it says Bubble (left or right, Standard or Expanded) and Launcher Title behave differently from everything else on that page, and it is worth knowing why before you go looking for them on a colleague's screen. They are not account settings. They are written into the snippet you copy: window.chatwootSettings = {"position":"left","type":"expanded_bubble","launcherTitle":"Chat with us"}; So the widget obeys whatever the snippet on your site says, and the controls in the dashboard only exist to produce that snippet. They are remembered in your own browser, which means a colleague opening the same page sees the defaults rather than your choices — and changing them in the dashboard changes nothing on your site until you copy the snippet again and replace the one on your page. Asking who they are first A pre-chat form puts a short form in front of the conversation: name, email, phone, or fields you add yourself. Open the Pre Chat Form tab on the channel, switch it on, and choose which fields appear and which are required. The Pre Chat Form tab: the switch, the message shown above the form, and the fields it asks for It is a trade. Every field you ask for is a visitor who closes the widget instead of filling it in, and a contact with an email address is worth a great deal — you can reply when they have gone, and the conversation can continue over email. Asking for a name and an email is usually right; asking for a phone number, a company and an order number usually is not. If you do not use a pre-chat form, switch on the email collect box instead (in Channel Preferences, the accordion below Widget features). It asks for an email address inside the conversation, after the visitor has already started talking to you, which costs far fewer of them. Making the channel yours Three settings on the Channel Preferences section decide how the conversation behaves rather than how it looks: - Enable email collect box — asks an anonymous visitor for their email address inside the chat. - Allow messages after conversation resolved — lets a visitor reply to a conversation an agent has closed, instead of starting a new one. - Enable conversation continuity via email — when you know the visitor's email address, a reply sent after they have left the page reaches them by email, and their reply comes back into the same conversation. This is what stops a live chat from being useless the moment the visitor closes the tab. Keeping it to your own site The Configuration tab carries the three security settings, and a production installation should look at all three: The Configuration tab: allowed domains, the mobile web view switch, and identity validation with its secret key masked - Allowed Domains. The widget script works on any page it is pasted into, including somebody else's. List the domains you own — example.com, www.example.com, shop.example.com — and the widget refuses to run anywhere else. Left blank it runs everywhere, which is fine while you are testing and not fine afterwards. - Enable widget in mobile apps. Mobile web views do not send a domain, so they are refused by the rule above. Switch this on only if you embed the widget inside an iOS or Android app. - Identity Validation. A secret key your own servers use to sign a visitor you have already logged in, so that nobody can open your widget and claim to be one of your customers. If you set every signed-in customer's identity from your own backend, switch on Require identity validation for all conversations as well, and unsigned visitors cannot start a conversation at all. Rotating the key revokes the old one immediately, with no overlap, so change your servers first. Limits - A new channel is on UTC time until you change it. Business hours and out-of-office replies will be out by your local offset until you do. - The bubble position, type and launcher title live in the snippet, not in your account. Changing them in the dashboard changes the snippet it offers you; it does not change your site. - Reply time is a claim. Nothing measures it. - Allowed Domains is empty on a new channel, which allows every domain. - A visitor who clears their browser storage is a new visitor: the widget identifies a returning one by what it stored in their browser, so the same person on a different device is a different contact until something — an email address, identity validation — tells you otherwise. Who can do this Administrators create channels and change their settings. Agents work in the conversations the channel produces and cannot see the Inboxes settings at all. Related - Connect your first channel - Set up an inbox - Work in the inbox - Assign and prioritise - Live chat campaigns If it does not work No bubble on your site. Open your page's source and confirm the script is in it — a CMS that strips <script> tags from a content box is the usual cause, and the fix is the theme's header or footer code box rather than a page. Then check Allowed Domains on the Configuration tab: a domain list that does not include the site you are looking at stops the widget before it draws anything. The bubble is in the wrong corner, or has no label. Those come from window.chatwootSettings in the snippet on your site, not from the dashboard. Copy the snippet again from the Script tab and replace the one on your page. The widget says you are away while you are sitting in the dashboard. You are not a member of that channel — administrators see the inbox without being a member, and the widget counts members. Add yourself on the channel's Collaborators tab, and check your own availability is set to online. Messages arrive but nobody is assigned. Auto-assignment only hands conversations to agents whose availability is online. With nobody online, conversations wait in the channel, unassigned and visible, until someone takes them. A visitor says they replied and you see nothing. Check whether the conversation was resolved: unless Allow messages after conversation resolved is on, a visitor who returns to a closed conversation starts a new one instead, and it will be at the top of your list as a separate thread.
Connect an email inbox
An email channel turns support@yourcompany.com into conversations. A customer writes to the address they already have; the mail arrives in Conversations with the rest of your channels, and your agent's reply goes back out as an email. Email is the one channel with no time window and no template rules. It is also the one with the most ways to connect it, and picking the wrong one is the usual reason an inbox half works. The three ways in | Route | How mail arrives | How replies go out | Pick it when | |---|---|---|---| | Forwarding | your mail provider forwards to an address Lynomia Chat generates | from the installation's own mail server | you want it working in five minutes and you do not mind replies coming from the installation's sending domain | | Google / Microsoft | you sign in once and authorise the mailbox | through the same account | the mailbox is on Google Workspace or Microsoft 365 | | IMAP and SMTP | Lynomia Chat polls the mailbox | through your own SMTP server | any other provider, or a mailbox your IT team will not hand to an OAuth app | Steps 1. Go to Settings → Inboxes, add an inbox, and choose Email. 2. Give the channel a name and the email address your customers write to. 3. Finish. The last screen shows the forwarding address — a long, unique address on the installation's inbound domain. Anything forwarded to it becomes a conversation on this channel. 4. Either set up forwarding in your mail provider to that address, or open the channel's settings and configure IMAP (to receive) and SMTP (to send) instead. IMAP and SMTP are two switches, not one, and they are independent. IMAP on with SMTP off receives mail and sends replies through the installation's mail server; SMTP on with IMAP off sends from your server and receives nothing. For a mailbox you own end to end, turn both on. What you need for IMAP and SMTP Your provider publishes all of it. For IMAP: the server address, the port, the login, the password, and whether SSL is on. For SMTP: the same plus the encryption (SSL/TLS or STARTTLS) and, on some providers, a domain. A mailbox protected by two-factor authentication usually needs an app password rather than the account password. That is your provider's rule, not ours, and a wrong password shows up as an inbox that simply never receives anything. Who the conversation belongs to The sender's address becomes a contact. If that address already belongs to a contact — because they have written before, or because someone imported them — the conversation joins that contact rather than making a second one. This is why an email channel fills out your contact list faster than any other. Limits - Forwarding loses your sending domain. Replies leave from the installation's mail server, so the customer sees that domain in the technical headers. Use Google, Microsoft or SMTP if that matters to you. - A forwarding address is a secret. Anyone who knows it can post a conversation into your channel. Treat it like an API key, not like a mailbox. - IMAP polls. Mail arrives within a minute or two, not instantly. - Attachments obey the installation's size limit, which an administrator sets for the whole installation, not per channel. Who can do this Administrators. Related - Connect your first channel - Set up an inbox - Website live chat If it does not work Nothing arrives. If you forward, send a test to the forwarding address itself rather than to your public address — if that arrives, forwarding is the problem and your mail provider is where to fix it. If you use IMAP, check the channel's settings for an authentication error, and confirm the mailbox allows IMAP at all: some providers switch it off by default. Mail arrives but replies do not go out. SMTP is off, or its credentials are wrong. Replies then queue and fail silently from the agent's point of view, so check the channel's SMTP settings first. Replies land in the customer's spam folder. That is the sending domain's reputation, not the product. Connecting through your own SMTP server, with your own SPF and DKIM records, is the fix. Every reply starts a new conversation. The customer's mail client is stripping the reference headers Lynomia Chat puts on outgoing mail. Nothing in the dashboard can fix that; the usual cause is a forwarding rule in the middle that rewrites the message.
Connect SMS
SMS reaches a phone with no app, no internet connection and no account. That makes it the right channel for a delivery notice, a one-time code or a confirmation — and the wrong one for a conversation that could have happened on WhatsApp, because every message costs money and arrives without context. Lynomia Chat does not sell you the number. You bring an account with Twilio or Bandwidth, and the channel connects to it. What you need For Twilio: an Account SID and Auth Token (or an API Key SID and Secret), and either a phone number you own in Twilio or a Messaging Service SID. For Bandwidth: an Account ID, an API Key, an API Secret, an Application ID, a phone number, and the callback username and password set on that Bandwidth application. Both are in your provider's own console. Lynomia Chat verifies them while the channel is created, so wrong credentials fail there rather than silently later. Steps 1. Go to Settings → Inboxes, add an inbox, and choose SMS. 2. Pick the provider: Twilio or Bandwidth. 3. Fill in the credentials, the inbox name, and the number messages will be sent from. The number must be in international form — a +, then digits, with no spaces. 4. Finish, then open the channel's Configuration tab and copy the Callback URL. 5. Paste that URL into your provider's console as the message callback for that number or application. This is the step people skip, and it is the one that makes incoming messages work: without it you can send and never receive. Limits - Every message costs, in both directions on most plans, and a long message is split into several. Your provider bills it, not Lynomia Chat. - There is no delivery guarantee and no read receipt beyond what your provider reports. - Attachments depend on the provider and the country. Where MMS is not available, an attachment cannot be sent at all. - A number can only be connected once. Pointing a second installation at the same number takes the callback away from this one. Who can do this Administrators. Related - Connect your first channel - Campaigns or automation - Set up an inbox If it does not work You can send but nothing arrives. The callback URL is not set, or it is set on a different number. Copy it again from the channel's Configuration tab and check it against the number in your provider's console. The credentials are refused at setup. They are being checked against the provider live. Confirm you pasted the SID and the token from the same project, and that the token has not been rotated. Messages fail with a provider error. Open the message in the conversation to see what the provider said. The common ones are a number not enabled for the destination country, an unverified sender on a trial account, and a number that is not SMS-capable at all.
Connect Telegram
Telegram connects through a bot. You create the bot in Telegram itself, paste its token into Lynomia Chat, and anyone who messages that bot appears in Conversations. It is the quickest channel to connect: one field, no review, no business verification, no provider account. What you need A Telegram bot token, which you get from BotFather — Telegram's own bot for making bots. 1. In Telegram, open a chat with @BotFather. 2. Send /newbot. 3. Give it a display name and a username ending in bot. 4. BotFather replies with a token that looks like 123456789:AAH.... That is what you paste. The display name and the profile picture your customers see belong to the bot, and you change them in BotFather — not in Lynomia Chat. Steps 1. Go to Settings → Inboxes, add an inbox, and choose Telegram. 2. Paste the Bot Token. 3. Add the agents who will work in this channel, and finish. Lynomia Chat registers itself with Telegram as the bot's webhook, so messages start arriving immediately. Send your bot a message from your own Telegram account to watch it land. Limits - A bot cannot start a conversation. Telegram only lets a bot message someone who has messaged it first. There is no way to open a Telegram conversation from the dashboard, and no Telegram campaigns. - One token, one channel. The same bot cannot be connected twice, and connecting it elsewhere takes the webhook away from here — Telegram allows a bot only one webhook at a time. - The bot's name and avatar come from BotFather, so the inbox name you choose is for your dashboard. - Groups behave differently from one-to-one chats. A bot added to a group sees only messages addressed to it unless its privacy mode is changed in BotFather. Who can do this Administrators. Related - Connect your first channel - Set up an inbox If it does not work Messages do not arrive. The usual cause is the same bot being connected somewhere else: Telegram keeps one webhook per bot, so the most recent registration wins. Reconnect the channel here and check nothing else is using the token. The token is refused. Copy it again from BotFather — the token is the whole string including the number before the colon, and a copy that drops it is the most common mistake.
Connect LINE
LINE is the main messenger in Japan, Thailand and Taiwan. If you sell into those markets, a LINE Official Account is usually where your customers already are. The channel connects to a LINE Messaging API channel, which you create in the LINE Developers Console and attach to your Official Account. What you need From the LINE Developers Console, on your Messaging API channel: - the Channel ID - the Channel Secret - a Channel Access Token (long-lived) Steps 1. Go to Settings → Inboxes, add an inbox, and choose LINE. 2. Enter a channel name for your own dashboard, then the Channel ID, Channel Secret and Channel Access Token. 3. Finish. Open the channel's Configuration tab and copy the Callback URL. 4. In the LINE Developers Console, set that URL as the channel's Webhook URL and switch "Use webhook" on. 5. In the same console, switch off the auto-reply and greeting messages if you want your agents to be the ones replying. LINE answers on the account's behalf by default, and those replies do not come from Lynomia Chat. Limits - A LINE channel cannot start a conversation with someone who has not added the Official Account. - LINE's own auto-replies are configured in LINE, not here, and they will talk over your agents until you turn them off. - Rich message types — stickers, location, LINE-specific templates — arrive as what LINE sends; an agent replies with text and attachments. Who can do this Administrators. Related - Connect your first channel - Set up an inbox If it does not work Nothing arrives. Check the webhook in the LINE Developers Console: the URL must be the one on the Configuration tab, "Use webhook" must be on, and LINE's own "Verify" button must report success. Replies fail. The Channel Access Token has expired or was issued for a different channel. Issue a new long-lived token and update the channel's settings.
Connect Facebook and Instagram
Facebook Messenger and Instagram direct messages are two channels with one owner. Both connect by signing in to Meta and authorising the Page or the account, and both are governed by the same messaging rules. Before you start These two channels depend on the installation, not on your account. They need a Meta app configured by whoever runs your installation. If Facebook or Instagram is greyed out when you add an inbox, that is what is missing, and no setting in your account will change it. Ask your provider. You also need to be an administrator of the Facebook Page, and — for Instagram — a professional account (business or creator) that is set up to receive messages. Steps 1. Go to Settings → Inboxes, add an inbox, and choose Facebook or Instagram. 2. Sign in to Meta in the window that opens and grant the permissions it asks for. They cover reading and sending the Page's or account's messages, and nothing else. 3. Choose the Page or account from the list, name the inbox, and finish. 4. Add the agents who will work in it. Meta occasionally restricts this flow at their end. When that happens the screen says so and links to Meta's own status page; it is not something to retry your way out of. The 24-hour rule Meta allows a reply to a conversation for 24 hours after the customer's last message. After that a plain message will not go out. This is the same rule as WhatsApp's, and it is why a conversation left overnight can become unanswerable. Where WhatsApp has approved templates to reopen it, Messenger has a narrower set of Meta-approved reasons, and Instagram has none at all. In practice: answer Meta conversations the same day, or they close. The product shows this where it matters. A conversation past the window carries a banner saying a reply cannot be sent, and the composer offers a private note instead, so an agent finds out before they write rather than after. Limits - You cannot start a conversation. Both channels are reply-only; the customer messages first. - One Page, one channel. Connecting the same Page to a second installation takes the subscription away. - The token expires. When Meta invalidates the authorisation — a password change, a permission withdrawn, a Page role removed — the channel stops and shows a reconnection prompt. Reconnect from the channel's settings; nothing is lost while it is disconnected except the messages Meta would not hand over. - Story replies and mentions arrive as Instagram sends them, which is as a message with a reference, not as the story itself. Who can do this Administrators of the account, who are also administrators of the Facebook Page. Related - Connect your first channel - The WhatsApp 24-hour window - Set up an inbox If it does not work The channel is greyed out. The installation has no Meta app configured. This is not something your account can change. The Page is not in the list. You are not an administrator of it, or you signed in to Meta as a different person than you meant to. Sign out of Facebook in that browser and run the setup again. Messages stopped arriving and the channel shows a reconnection prompt. The authorisation was invalidated. Open the channel's settings and reauthorise; the conversations that already exist are not affected. "You cannot reply due to 24 hour message window restriction." The customer's last message is more than a day old. The conversation can still be read, labelled, assigned and noted — it cannot be replied to on that channel.
Connect TikTok
TikTok connects by signing in to TikTok and authorising your profile. Whether you can connect it at all depends on your installation. The channel appears when your installation has been configured for TikTok, and not otherwise. If it is not there, that is the reason. TikTok also restricts the connection by region, and connections for North American accounts are unavailable while TikTok works on it. The setup screen says so when it applies to you. Steps 1. Go to Settings → Inboxes, add an inbox, and choose TikTok. 2. Choose Continue with TikTok and sign in. 3. Authorise the profile, name the inbox, and finish. 4. Add the agents who will work in it. Limits - Availability is set on the installation, not in your account. - North American accounts cannot connect at present. This is TikTok's restriction. - The authorisation expires the way Meta's does; the channel shows a reconnection prompt when it needs signing in again. Who can do this Administrators, on an installation where TikTok has been configured. Related - Connect your first channel - Connect Facebook and Instagram
Connect your own application
The API channel is an empty channel with a door on both sides. Your application posts messages into it over HTTP, and Lynomia Chat posts your agents' replies back to a webhook URL you give it. Everything else works as usual: the conversation appears in Conversations, it can be assigned, labelled, automated, reported on and answered from the same screen as every other channel. When to use it - A messaging surface with no connector here — an in-app chat you wrote yourself, a kiosk, a platform nobody supports. - A bridge to a system you already run, where you want the conversation to live in Lynomia Chat. Do not use it for a channel that has its own connector. The built-in channels carry things the API channel cannot know about: delivery states, templates, the provider's own rules, and a reconnection flow when authorisation lapses. Steps 1. Go to Settings → Inboxes, add an inbox, and choose API. 2. Give it a name, and a Webhook URL — where Lynomia Chat will POST events, including every reply an agent sends. You can leave it blank and add it later on the channel's settings. 3. Finish and add agents. 4. Open the channel's Configuration tab. It shows the Inbox Identifier, which is the token your application authenticates with. From there, your application creates a contact, creates a conversation for it, and posts messages into that conversation. The API reference for your installation is the authority on the exact calls and their shapes; this article is about the channel, not the endpoints. Limits - The inbox identifier is a credential. Anyone holding it can create contacts and conversations in this channel. Keep it on your server, not in a browser or a mobile app. - There are no delivery receipts unless your application reports them. - Attachments obey the installation's size limit. - Nothing retries for you. If your webhook endpoint is down when an agent replies, that delivery fails; handling that is your application's job. Who can do this Administrators create the channel. Your developers do the rest. Related - Connect your first channel - Webhooks - Set up an inbox If it does not work Your application's calls are rejected. Check you are sending the inbox identifier from this channel's Configuration tab, and that you are calling the installation this channel belongs to. Agents reply and your application never hears. The webhook URL is wrong, unreachable, or answering slowly enough to time out. It is on the channel's settings page; a URL that is correct but behind a firewall looks exactly the same from here.