# What is Message24 > One inbox for every customer conversation, with an AI agent that answers, sells from your catalog and hands off to your team. Source: https://docs.message24.net/start/what-is-message24/ Message24 brings the messages your customers send on social media and on your website into one inbox, and gives you an AI agent that can answer them for you. ## One inbox for every channel Connect the places your customers already message you: - Facebook Messenger - Instagram Direct - WhatsApp, including a number you already use in the WhatsApp Business app - Telegram, through a bot you create - TikTok direct messages - A chat widget on your own website Every conversation from every channel lands in the same **Inbox**, where you and your team can read and reply. See [Channels overview](/owners/channels/overview/) for what each channel needs. ## An AI agent that knows your business When you turn the AI on for a channel, it replies to customers on your behalf, in the language they write in. It works from what you give it: - **Your products.** The AI searches your catalog to recommend items, quote prices and check what is available. - **Your knowledge base.** Articles you write about delivery, returns, opening hours and anything else customers ask. - **Your working hours.** A schedule decides when the AI replies and when your team handles conversations. The AI can also take orders, collecting the customer's details and saving the order for you to follow up, and it hands the conversation to a person when it should. Read more in [AI agent overview](/owners/ai/overview/). ## Built for teams Invite team members, decide who can see which channel, and get notified about new messages, escalations and suggested orders on the web or in the mobile app. ## Where to go next - [Quick start](/start/quick-start/): from sign-in to your AI answering customers. - [Channels overview](/owners/channels/overview/): connect your first channel. - Developers: [Website chat](/developers/website-chat/overview/) and the [Integration API](/developers/integrations/overview/). --- # Quick start > Go from signing in to answering your first conversation and turning on the AI. Source: https://docs.message24.net/start/quick-start/ This guide takes you from a new account to a live channel with the AI answering customers. It takes about 15 minutes if you have your social accounts at hand. ## 1. Sign in 1. Go to [message24.net](https://message24.net) and choose **Start free**. 2. Choose **Sign in with Google** or **Sign in with Apple**. ## 2. Create your business The first time you sign in, Message24 asks for two things: 1. **Phone Number**: your business contact number (the +964 prefix is already filled in). 2. **Business Name**: the name customers know you by. Select **Continue**. Message24 creates your business and a starting schedule called "Default Business Hours" (Saturday to Thursday, 9am to 6pm, Iraq time). You can change it later. ## 3. Connect a channel After you create your business you land on **Add a Channel**. Pick the platform your customers use most and follow its guide: - [Facebook Messenger](/owners/channels/facebook-messenger/) - [Instagram](/owners/channels/instagram/) - [WhatsApp](/owners/channels/whatsapp/) - [Telegram](/owners/channels/telegram/) - [TikTok](/owners/channels/tiktok/) - [Website chat](/owners/channels/website-chat/) :::tip Connecting Facebook or Instagram needs admin access to the Page or account. If you don't have it right now, select **I'll do this later**. You can add products and teach your AI first, and connect a channel whenever you're ready. ::: Facebook, Instagram and TikTok import your recent conversations when you connect. The channel shows **Syncing** until the import finishes, then **Ready**. ## 4. Answer your first conversation 1. Open **Inbox**. 2. Select a conversation. New conversations appear here as customers message you. 3. Type your reply and send it. It is delivered on the same platform the customer used. While setup is unfinished, the Inbox shows a checklist titled "Get your AI answering customers". You can do the remaining steps in any order. See [Inbox](/owners/daily/inbox/) for everything else you can do there. ## 5. Get the AI ready The AI can only use what you give it. Before turning it on: 1. **Add your products.** Go to **Products** and import a CSV or add them by hand. See [Products](/owners/catalog/products/). If you don't sell products, choose "I don't sell products" on the checklist. 2. **Teach your AI.** Go to **Settings > Knowledge Base** and write articles about delivery, returns, opening hours and whatever customers ask most. See [Knowledge base](/owners/ai/knowledge-base/). 3. **Check your balance.** Go to **Settings > Billing**. Without balance the AI stops replying. See [Billing](/owners/account/billing/). ## 6. Turn on the AI The AI starts replying on a channel once that channel has working hours assigned. 1. Go to **Settings > AI Settings**. 2. Find the channel and, under **Replies during**, choose a schedule such as "Default Business Hours". 3. The channel's badge changes to **AI on**. To see how the AI will answer before real customers do, open the **Try it out** tab on the same page. See [AI settings](/owners/ai/ai-settings/) for schedules, handoff to your team and per-channel options. :::note If the badge says **AI paused** or **AI off**, the line under it explains why, for example no balance or a schedule with no active hours. ::: --- # Channels overview > The messaging platforms you can connect, what each one needs, and how to keep channels healthy. Source: https://docs.message24.net/owners/channels/overview/ A channel is one place customers can message you: a Facebook Page, an Instagram account, a WhatsApp number, a Telegram bot, a TikTok account or a chat widget on your website. Every channel you connect feeds the same Inbox. ## Supported channels | Channel | What you need | Past conversations | | --- | --- | --- | | [Facebook Messenger](/owners/channels/facebook-messenger/) | Admin access to the Facebook Page | Recent conversations are imported | | [Instagram](/owners/channels/instagram/) | An Instagram professional (business) account | Recent conversations are imported | | [WhatsApp](/owners/channels/whatsapp/) | A WhatsApp Business account, or a number on the WhatsApp Business app | Chat history can sync when you link the WhatsApp Business app | | [Telegram](/owners/channels/telegram/) | A bot token from @BotFather | Only new messages | | [TikTok](/owners/channels/tiktok/) | A TikTok Business account | Recent conversations are imported | | [Website chat](/owners/channels/website-chat/) | Access to your website's code, or a developer | Only new messages | You can connect more than one of each: several Pages, several Instagram accounts, several WhatsApp numbers, several bots or several widgets. Each Page, account, number or bot can belong to only one Message24 business at a time. ## Add a channel 1. Go to **Settings > Channels** and select **Add Channel**. New businesses land on this page right after sign-up. 2. On **Add a Channel**, select **Connect** on the platform you want. 3. Follow the steps for that platform (links in the table above). Once a platform is connected, its button changes to **Add More Pages**, **Add More Accounts**, **Add More Numbers**, **Add Another Bot** or **Add Another Widget**. :::note Some channels can only be set up from a computer. If a card is greyed out and says **Desktop only**, sign in at message24.net in a desktop browser to connect it. If a card says **Unavailable**, try again later. ::: You need to be a business admin to connect most channels, to disconnect a channel or to change its label. ## Channel status Each channel in **Settings > Channels** shows a status badge: | Status | Meaning | | --- | --- | | **Ready** | Connected and working. | | **Syncing** | Importing your recent conversations right after you connected. The AI waits until this finishes. | | **Disconnected** | You turned the channel off. Nothing is sent or received, but your history is kept. | ## Channel health Under each channel a health line tells you whether messages are flowing. When everything is fine it reads **Active** with the time of the last activity. Otherwise you see one of these: | Message | What to do | | --- | --- | | Not connected, reconnect to start receiving messages | Select **Reconnect**. The connection was never completed. | | Connection expired, reconnect to resume sending and AI replies | Select **Reconnect**. The platform no longer accepts Message24's access to the account. | | Not receiving messages, reconnect to fix delivery | Select **Reconnect**. No messages have arrived since you connected. | | No activity received in over a week | Check that customers can still reach you. Reconnect if you expected messages. | | Still finishing setup | The import is taking longer than expected. If it doesn't clear, reconnect. | | Message24 isn't the receiving app | Meta is sending some conversations to another app connected to your Page or Instagram account. Select **How to fix**. See [Facebook Messenger](/owners/channels/facebook-messenger/#message24-isnt-the-receiving-app). | | Disconnected, reconnect to start receiving messages again | Select **Reconnect** when you want the channel back. | Telegram and website chat channels are not flagged for being quiet, because a new bot or widget has no traffic until you share it. ## Reconnect a channel Open the **...** menu on the channel and select **Reconnect channel**, or select **Reconnect** on the health line. What happens next depends on the platform: - **Facebook, Instagram and TikTok:** you are sent to the platform to sign in and approve access again. Sign in with an account that manages the Page or account. - **WhatsApp:** you go to **Add a Channel** and run the WhatsApp signup again with the same number. Message24 recognises the number and reconnects it. - **Telegram:** paste the bot token again. See [Telegram](/owners/channels/telegram/#reconnect-a-bot). - **Website chat:** a disconnected widget is switched back on straight away. ## Disconnect a channel 1. Open the **...** menu on the channel and select **Disconnect channel**. 2. Read the confirmation and select **Disconnect channel**. Disconnecting stops Message24 sending or receiving anything on that channel and removes the stored access. For Facebook, Instagram, WhatsApp, TikTok and Telegram, Message24 also asks the platform to stop delivering messages. Your conversations, messages, contacts and orders are kept and stay readable. Messages customers send while the channel is disconnected will not reach you. You can reconnect at any time. ## Label a channel If two channels have similar names, give one a label. Hover over the channel name in **Settings > Channels**, select the pencil icon, type a label and press Enter. The label is shown in place of the name, with the original name beside it. ## Choose who sees a channel Admins can limit a channel to certain team members. Open the **...** menu on the channel, select **Manage Access**, tick the members who should see it and select **Save Access**. See [Team and roles](/owners/account/team-and-roles/). ## AI behaviour per channel Whether the AI replies on a channel, and what it may do there, is set in **Settings > AI Settings**, not on the Channels page. Each channel has its own schedule, and its **More settings** panel has: - **Send product links**: the AI can link customers to a product page on your website. This needs a product page address under **Product links** first. - **Take orders**: the AI can collect a customer's order details and save them for you. - **Reply to comments on posts**: now set up under **Automations**. Not available on TikTok. See [AI settings](/owners/ai/ai-settings/) and [Automations](/owners/ai/automations/). ## Test channel To try the AI without a real account, use the **Try it out** tab in **Settings > AI Settings**. It creates a test channel that receives no customer messages and does not count as a connected channel. --- # Connect Facebook Messenger > Connect a Facebook Page so its Messenger conversations arrive in your Message24 inbox. Source: https://docs.message24.net/owners/channels/facebook-messenger/ Connect a Facebook Page and every Messenger conversation with that Page appears in your Inbox, where you and the AI can reply. ## Before you start - You need to be an admin of the Facebook Page on Facebook. - You need to be an admin of your business in Message24. - Each Page can be connected to only one Message24 business. ## Connect a Page 1. Go to **Settings > Channels** and select **Add Channel**. 2. On the **Facebook** card, select **Connect**. 3. Facebook opens. Sign in with the Facebook account that manages your Page and approve the permissions Message24 asks for. 4. Back in Message24, on **Select a Facebook Page**, choose the Page and select **Add Page**. 5. You are taken to the Inbox. The new channel shows **Syncing** while Message24 imports your recent conversations, then **Ready**. To connect another Page, go back to **Add a Channel** and select **Add More Pages** on the Facebook card. :::note If you see "No pages found", the Facebook account you signed in with is not an admin of any Page. Sign in with an account that manages the Page, or ask a Page admin to give you access on Facebook first. ::: If the Page is already connected to another business, you see "This Facebook page is already connected to another business." Disconnect it there first. ## Reconnect a Page If the health line under the channel says the connection expired or messages are not arriving: 1. Go to **Settings > Channels**. 2. Select **Reconnect** on the health line, or open the **...** menu and select **Reconnect channel**. 3. Sign in to Facebook and approve access again. You see "Channel reconnected" when it works. If you see "Couldn't reconnect ... the account you signed in with doesn't have admin access to it on Facebook", try again with an account that manages the Page. ## Message24 isn't the receiving app If your Page has more than one messaging app connected, Meta picks one of them to answer. When that app isn't Message24, the health line says "Message24 isn't the receiving app". Message24 still sees those conversations, but anything sent from Message24 is dropped before it reaches the customer. You need admin (full control) of the Facebook Page to change this: 1. Log in to Facebook and switch to your Page profile. 2. Open your Page's Settings. 3. Go to Page Setup > Conversation Routing. 4. Set Message24 as the default application. If your leads come from Click-to-Message ads, each ad picks its own receiving app in the ad's message template. Set that to Message24 too, otherwise leads from that campaign route away from Message24 regardless of the Page setting. ## Disconnect a Page Open the **...** menu on the channel in **Settings > Channels** and select **Disconnect channel**. Your conversations and orders are kept. See [Disconnect a channel](/owners/channels/overview/#disconnect-a-channel). ## Related - [Channels overview](/owners/channels/overview/) - [Instagram](/owners/channels/instagram/) - [AI settings](/owners/ai/ai-settings/) --- # Connect Instagram > Connect an Instagram professional account so its Direct messages arrive in your Message24 inbox. Source: https://docs.message24.net/owners/channels/instagram/ Connect your Instagram account and its Direct messages appear in your Inbox, where you and the AI can reply. ## Before you start - Your Instagram account must be a professional (business) account. - You need to be an admin of your business in Message24. - Each Instagram account can be connected to only one Message24 business. ## Connect an account 1. Go to **Settings > Channels** and select **Add Channel**. 2. On the **Instagram** card, select **Connect**. 3. Instagram opens. Sign in to the Instagram account you want to connect. If your Instagram account is linked to Facebook, you can use the option to log in with Facebook instead. 4. Approve the permissions Message24 asks for. 5. Back in Message24, on **Select an Instagram Account**, choose the account and select **Add Account**. 6. You are taken to the Inbox. The new channel shows **Syncing** while Message24 imports your recent conversations, then **Ready**. To connect another account, go back to **Add a Channel** and select **Add More Accounts** on the Instagram card. Sign in to the other account when Instagram opens. If the account is already connected to another business, you see "This Instagram account is already connected to another business." Disconnect it there first. ## Reconnect an account If the health line under the channel says the connection expired or messages are not arriving: 1. Go to **Settings > Channels**. 2. Select **Reconnect** on the health line, or open the **...** menu and select **Reconnect channel**. 3. Sign in to the same Instagram account and approve access again. You see "Channel reconnected" when it works. ## Message24 isn't the receiving app If your Instagram account has more than one messaging app connected, Meta picks one of them to answer. When that app isn't Message24, the health line says "Message24 isn't the receiving app", and anything sent from Message24 on those conversations is dropped before it reaches the customer. Instagram routing is set on the Facebook Page connected to your Instagram account. You need admin (full control) of that Page: 1. Log in to Facebook as the Page connected to your Instagram account. 2. Open that Page's Settings. 3. Go to Page Setup > Instagram Conversation Routing. 4. Set Message24 as the default application. If your leads come from Click-to-Message ads, set the receiving app in each ad's message template to Message24 as well. ## Disconnect an account Open the **...** menu on the channel in **Settings > Channels** and select **Disconnect channel**. Your conversations and orders are kept. See [Disconnect a channel](/owners/channels/overview/#disconnect-a-channel). ## Related - [Channels overview](/owners/channels/overview/) - [Facebook Messenger](/owners/channels/facebook-messenger/) - [Automations](/owners/ai/automations/) for replying to comments on your posts --- # Connect WhatsApp > Connect a WhatsApp Business number, including one you already use in the WhatsApp Business app. Source: https://docs.message24.net/owners/channels/whatsapp/ Connect a WhatsApp Business number and its conversations appear in your Inbox, where you and the AI can reply. You connect through Meta's own signup window, and you can link a number you already use in the WhatsApp Business app on your phone. ## Before you start - A Facebook account that can manage your business on Meta (Meta Business Suite). - The phone number you want to connect. It can be a number already running the WhatsApp Business app, or a number registered for the WhatsApp Business Platform. - Admin access to your business in Message24. - A browser that allows popups for message24.net. The signup runs in a popup window, and works best on a computer. :::note If the WhatsApp card on **Add a Channel** is greyed out and says **Desktop only**, you are on a phone browser. Sign in at message24.net on a computer to connect WhatsApp. ::: ## Connect a number 1. Go to **Settings > Channels** and select **Add Channel**. 2. On the **WhatsApp** card, select **Connect**. 3. In the **Connect WhatsApp** window, select **Connect WhatsApp**. Meta's signup opens in a popup. 4. Follow Meta's steps: sign in with Facebook, choose or create your business, and choose the WhatsApp number. To keep using the WhatsApp Business app on your phone, pick the option to connect your existing WhatsApp Business app account. 5. If Meta doesn't tell Message24 which number you picked, a **Select Phone Number** list appears. Choose the number to connect. Each number shows its quality rating (Good, Medium or Low) when Meta reports one. 6. You see "WhatsApp Connected Successfully!" and are taken to the Dashboard. To connect another number, go back to **Add a Channel** and select **Add More Numbers** on the WhatsApp card. ## Keep using the WhatsApp Business app When you link an existing WhatsApp Business app account, you keep the app on your phone and use Message24 at the same time: - Message24 asks WhatsApp to sync your contacts and chat history into Message24. - Messages sync between the app and Message24, so replies sent from either place are part of the same conversation. The signup window lists these before you start: "Link your existing WhatsApp Business App account", "Sync your chat history and contacts" and "Messages sync between app and platform". ## The 24-hour reply window WhatsApp only lets businesses send a normal reply within 24 hours of the customer's last message. After that, a reply from Message24 is refused until the customer writes again. This applies to both your team and the AI. ## If something goes wrong | What you see | What to do | | --- | --- | | The window keeps saying "Waiting for WhatsApp Embedded Signup..." | Finish the steps in the popup. If you already finished, keep the window open, because Message24 keeps checking for your new channel. If the popup was blocked or closed, close the window and start over. | | "Setup cancelled at step: ..." | You closed Meta's popup before the end. Start again. | | "No phone numbers found in your WhatsApp Business Account" | Add a phone number in Meta Business Suite first, then connect again. | | "Setup Failed" | Select **Try Again**. The message under it gives Meta's reason. | ## Reconnect a number WhatsApp has no separate reconnect page. To repair a channel whose connection expired or that stopped receiving messages: 1. Go to **Settings > Channels**. 2. Select **Reconnect** on the health line, or open the **...** menu and select **Reconnect channel**. You are taken to **Add a Channel**. 3. On the WhatsApp card, run the signup again and choose the same number. Message24 recognises the number and updates the existing channel. Your conversations stay where they are. ## Disconnect a number Open the **...** menu on the channel in **Settings > Channels** and select **Disconnect channel**. Your conversations and orders are kept. See [Disconnect a channel](/owners/channels/overview/#disconnect-a-channel). ## Related - [Channels overview](/owners/channels/overview/) - [AI settings](/owners/ai/ai-settings/) --- # Connect Telegram > Create a Telegram bot with BotFather and connect it so customers can message your shop on Telegram. Source: https://docs.message24.net/owners/channels/telegram/ On Telegram, customers message a bot that belongs to your business, and replies from you and the AI come from that bot. You create the bot yourself in Telegram, then paste its token into Message24. There is no sign-in with Telegram. ## Before you start - The Telegram app on your phone or computer. - Admin access to your business in Message24. - Each bot can be connected to only one Message24 business. ## 1. Create a bot in BotFather 1. In Telegram, search for **BotFather**, the one with the blue verified check, and press **Start**. You can also open it from the **Open BotFather** link on the Message24 setup page. 2. Send `/newbot`. 3. BotFather asks for a display name. This is what customers see, so use your shop name. 4. BotFather asks for a username. It must end in "bot", for example `yourshop_bot`. 5. BotFather replies with a token, a long line that looks like `8123456789:AAH...`. Copy it. :::caution Treat the bot token like a password. Anyone with it can send messages as your bot. ::: ## 2. Connect the bot 1. In Message24, go to **Settings > Channels** and select **Add Channel**. 2. On the **Telegram** card, select **Connect**. 3. Paste the token into **Bot token** and select **Connect bot**. When it works, Message24 shows your bot's name followed by "is connected". If you see "That bot token was rejected by Telegram", copy the token again from BotFather and paste it without extra spaces. If you see "This Telegram bot is already connected to another business", it must be disconnected there first. ## 3. Share your bot link A new bot has no followers, so nobody can message it until you share its link. After connecting, Message24 shows your bot's link (`https://t.me/` followed by the bot's username): 1. Select **Copy link**. 2. Put it in your Instagram bio, on your website, on receipts, or send it in your customer groups. 3. To test, select **Open your bot** and send "hi". It should appear in your Inbox within seconds. You can copy the link again at any time: in **Settings > Channels**, open the **...** menu on the Telegram channel and select **Copy bot link**. ## What to expect - **Only new messages.** Telegram does not give bots your past chats, so the Inbox starts empty and fills as customers write to the bot. - **Private chats only.** Conversations are one-to-one chats with the bot. If the bot is added to a group, group messages don't become conversations. - **A quiet bot is not an error.** Message24 does not warn you when a Telegram channel has no activity, because a new bot is quiet until you share it. ## Reconnect a bot Reconnecting a Telegram bot means pasting its token again. Do this if: - Message24 shows "Connected, but not receiving messages yet" after you connect. Select **Try again** and paste the token again. - You regenerated the token in BotFather. The old token stops working. - The health line says the connection expired. - You disconnected the bot and want it back. To reconnect, select **Reconnect** on the channel in **Settings > Channels** (or go to **Add a Channel** and select **Add Another Bot**), then paste the current token. Message24 recognises the bot, updates the existing channel, and shows your bot's name followed by "is reconnected". Your conversations stay where they are. ## Disconnect a bot Open the **...** menu on the channel in **Settings > Channels** and select **Disconnect channel**. Your conversations and orders are kept. See [Disconnect a channel](/owners/channels/overview/#disconnect-a-channel). ## Related - [Channels overview](/owners/channels/overview/) - [AI settings](/owners/ai/ai-settings/) --- # Connect TikTok > Connect a TikTok Business account so its direct messages arrive in your Message24 inbox. Source: https://docs.message24.net/owners/channels/tiktok/ Connect your TikTok Business account and its direct messages appear in your Inbox, where you and the AI can reply. ## Before you start - A TikTok Business account with direct messages turned on. - Admin access to your business in Message24. - Each TikTok account can be connected to only one Message24 business. ## Connect an account 1. Go to **Settings > Channels** and select **Add Channel**. 2. On the **TikTok** card, select **Connect**. 3. TikTok opens. Sign in to your TikTok Business account and approve the permissions Message24 asks for. 4. Back in Message24, on **Add TikTok Account**, check that the account shown is the right one and select **Add Account**. 5. You are taken to the Inbox. The new channel shows **Syncing** while Message24 imports your recent conversations, then **Ready**. If you see "No account found", make sure your TikTok account has messaging enabled and try connecting again. If the account is already connected to another business, you see "This TikTok account is already connected to another business." Disconnect it there first. ## Reconnect an account TikTok's access expires regularly and Message24 renews it for you. If the health line under the channel still says the connection expired or messages are not arriving: 1. Go to **Settings > Channels**. 2. Select **Reconnect** on the health line, or open the **...** menu and select **Reconnect channel**. 3. Sign in to the same TikTok account and approve access again. Once a TikTok account is connected, the TikTok card on **Add a Channel** shows **Reconnect** instead of **Connect**. Using it with the same account refreshes the existing channel, including one you disconnected. ## Comments Replying to comments on posts is not available on TikTok. Only direct messages are handled. ## Disconnect an account Open the **...** menu on the channel in **Settings > Channels** and select **Disconnect channel**. Your conversations and orders are kept. See [Disconnect a channel](/owners/channels/overview/#disconnect-a-channel). ## Related - [Channels overview](/owners/channels/overview/) - [AI settings](/owners/ai/ai-settings/) --- # Add chat to your website > Create a website chat channel, style the widget and get the snippet to put on your site. Source: https://docs.message24.net/owners/channels/website-chat/ Website chat puts a chat button on your own website. Visitors chat with your team and the AI directly, and their conversations appear in your Inbox next to your other channels. You create the widget in Message24, then add one line of code to your site. ## Create the widget 1. Go to **Settings > Channels** and select **Add Channel**. 2. On the **Web Chat** card, select **Connect**. 3. On **Create Web Chat**, enter a **Channel Name**. This is the name you see in Message24. 4. Adjust the appearance and visitor form (see below), or leave the defaults and change them later. 5. Select **Create Channel**. The page becomes **Web Chat Settings** and shows your **Embed Code** at the top. To add another widget, for example for a second website, go back to **Add a Channel** and select **Add Another Widget**. ## Widget settings ### Appearance - **Primary Color**: pick one of the preset colours or choose your own. - **Widget Position**: **Bottom Right** or **Bottom Left** of the page. - **Launcher Motion**: **None**, or **Bounce** to catch a visitor's eye. The bounce stops once they open the chat. - **Input Placeholder**: the hint text in the message box, such as "Type your message...". ### Header and welcome - **Business Name**: shown in the chat header. If you leave it empty, the channel name is used. - **Business Logo URL**: the web address of your logo image. Optional. - **Welcome message**: the first message visitors see. If you leave it empty, visitors see "Hi! How can we help?". ### Visitor details form Choose what visitors must fill in before they can chat: - **Name**: turn on to require the visitor's name. - **Phone**: turn on to ask for a phone number. Tick **Required** to make it mandatory. ### Allowed origins List the websites allowed to show your widget, one per line, for example: ``` https://example.com https://shop.example.com ``` If you leave this empty, the widget works on any website. Once you add addresses, it works only on those. The checkbox **Allow requests with no Origin header** is for a mobile app or other embedded use by your developer. Leave it off for a normal website. Select **Save Settings** after making changes. ## Put the widget on your website 1. In **Web Chat Settings**, select **Copy** next to **Embed Code**. The code is a single line that looks like this: ```html ``` 2. Paste it into your website's HTML, just before the closing `` tag, on every page where the chat should appear. If someone else runs your website, send them the code and the [developer embed guide](/developers/website-chat/embed-widget/). 3. Open your website. The chat button appears in the corner you chose. 4. Send a test message and check that it arrives in your Inbox. If you added allowed origins, make sure your website's address is in the list, including `https://` and any `www.`. ## Change settings later Go to **Settings > Channels**, open the **...** menu on the web chat channel and select **Webchat Settings**. Changes to colours, text and the visitor form apply to the widget already on your site. You don't need to change the embed code. ## Regenerate the key If your embed code has been copied somewhere it shouldn't be, select **Regenerate key** in **Web Chat Settings** and confirm. :::caution Regenerating the key stops the widget working on every site that uses the old embed code. Copy the new embed code and replace the old one on your website straight away. ::: ## Disconnect and reconnect Open the **...** menu on the channel in **Settings > Channels** and select **Disconnect channel** to turn the widget off. Your conversations are kept. To turn it back on, select **Reconnect channel**. Web chat reconnects immediately, with no sign-in. ## Related - [Channels overview](/owners/channels/overview/) - Developers: [Embed the widget](/developers/website-chat/embed-widget/) and [Website chat overview](/developers/website-chat/overview/) --- # Inbox > Find, filter and reply to customer conversations from every connected channel, and decide when the AI or your team handles them. Source: https://docs.message24.net/owners/daily/inbox/ The Inbox is where every conversation from every connected channel arrives: Facebook Messenger, Instagram, WhatsApp, Telegram, TikTok and your website chat. Open it from **Inbox** in the top navigation. ## The conversation list Each row shows the customer's name, a preview of the last message, how long ago it arrived and an unread count. Depending on the conversation you may also see: - The customer's phone number, when Message24 knows it. - The channel name and icon, when you are viewing all channels at once. - A small badge on the avatar showing who is handling it: **Auto**, **AI** or **Human** (see [Who replies](#who-replies-auto-ai-and-human)). - An order number and stage, when the conversation has an order. - A lead or support icon, when Message24 has classified the conversation that way. - A green check, when the conversation's session has been closed. New conversations load as you scroll. To mark a conversation as unread again, hover over it and select the envelope icon (**Mark as unread**). ## Find a conversation - **Channel**: use the channel dropdown above the list to show one channel, or **All Channels**. - **Search**: type in **Search contacts...** to match a customer's name, phone number or an order number. - **Open / Closed / All**: the Inbox shows open conversations by default. A conversation is open until its session is closed (see [Close a conversation](#close-a-conversation)). Quick filters narrow the list further. Select one to turn it on, select it again to turn it off: | Filter | Shows | | --- | --- | | **Unread** | Conversations with unread messages | | **Leads** | Conversations classified as sales leads | | **Support** | Conversations classified as support requests | | **Orders** | Conversations classified as orders | | **Human** | Conversations assigned to your team rather than the AI | | **Awaiting Reply** | Conversations where the last message came from the customer | | **Escalated** | Conversations the AI handed to your team | Sort the list with **Newest** (most recent activity first) or **Longest waiting**, which puts customers who are still waiting for a reply at the top, oldest first. Only customers who wrote within the last 3 days are ranked this way; everything else follows in newest order. ## Reply to a customer Select a conversation to open it. Type in the message box and press **Enter** to send. Press **Shift+Enter** for a new line. - **Reply to a specific message**: hover over a message and select the reply icon. A **Replying to** banner appears above the message box; select the **X** to cancel. - **Attach files**: select the paperclip. You can attach images (JPEG, PNG, GIF, WebP), MP4 or MOV video, and on channels that support it, audio. Each file can be up to 25 MB. - **Send a product**: select the package icon to open **Product Draft**. Pick a product, choose the message language if the product has more than one, pick which product photos to include, then select **Insert Into Composer** to edit it first or **Send Now**. - **Use a saved reply**: type `/` at the start of the message to open your shortcuts. See [Shortcuts](/owners/daily/shortcuts/). Messages longer than 1,000 characters show **Will split into N messages** under the box, and are sent as several messages. AI-written messages carry an AI marker, and messages sent from outside Message24 (for example from the WhatsApp Business app or Meta Business Suite on the same account) are marked as sent from another app. :::note If the platform no longer allows you to message this customer, sending fails and Message24 shows **7-Day Messaging Window Closed**. The customer needs to message you again before you can reply from Message24. ::: ## Voice messages On Facebook Messenger, Instagram, WhatsApp and website chat you can record a voice message directly in the Inbox: 1. Select the microphone next to the message box. Your browser asks for microphone access the first time. 2. Speak. A timer shows the recording length; recordings stop automatically at 2 minutes. 3. Select the stop button, then send. Voice messages from customers play inline. Message24 transcribes incoming audio automatically so the AI can read it, and you can select **Transcribe Audio** (or **Re-transcribe Audio**) under any audio message to show the text. ## Who replies: Auto, AI and Human The header of an open conversation has three buttons that decide who answers the next customer message. | Setting | What happens | | --- | --- | | **Auto** | The system decides, based on the channel's schedule. When a customer writes, Message24 waits for the handoff time set on that schedule. If nobody from your team replies in that time, the AI takes over and the conversation switches to **AI**. If the channel has no schedule, or the schedule doesn't allow the AI at that time, the AI stays quiet. | | **AI** | The AI replies right away to every new customer message. | | **Human** | The AI never replies. Only your team answers. | Switching happens automatically in two cases: - When someone on your team replies to a conversation that is on **AI**, whether from the Inbox or from the platform's own app, it goes back to **Auto**. - When the AI escalates, the conversation switches to **Human** and is marked as escalated. Schedules and handoff times are set up in AI Settings. See [AI settings](/owners/ai/ai-settings/). :::tip Use **Human** for a conversation you want to handle yourself from start to finish, such as a complaint or a large custom order. Switch it back to **Auto** when you are done. ::: ## Escalations The AI escalates when it decides a person needs to take over. When that happens: - The conversation switches to **Human**, so the AI stops replying. - It appears under the **Escalated** filter. - Team members with access to the channel get an **Escalations** notification, if they have that notification turned on. See [Notifications](/owners/daily/notifications/). A conversation stops counting as escalated when someone on your team closes it. Read more in [Handoff and escalation](/owners/ai/handoff-and-escalation/). ## Conversation language The language dropdown in the conversation header (**English**, **Arabic** or **Kurdish**) records which language the customer writes in. The AI usually sets it on its own. Changing it decides which language version of a shortcut is inserted when you type `/`. ## Close a conversation Select **Close** in the conversation header when the customer's request is done. Closing a conversation: - Ends its current session and moves it from **Open** to **Closed**. - Clears its unread count and its escalated mark. If the customer writes again, a new session opens and the conversation is back under **Open**. You can also have Message24 close quiet conversations for you with auto-close, in [Business settings](/owners/account/business-settings/#auto-close). ## Edit a contact Select the pencil next to the customer's name to change the name or phone number shown for this contact. ## Orders from a conversation Select **+ Order** in the header to create an order for this customer. When the conversation already has an order, its number and stage appear in the header; select it to open the order. See [Orders](/owners/catalog/orders/). --- # Dashboard > Track revenue, orders, conversations and response times across your channels for any date range. Source: https://docs.message24.net/owners/daily/dashboard/ The Dashboard gives you a picture of how your business is doing on messaging: sales, conversation volume, how fast customers get answered, and how each channel and team member is performing. Open it from **Dashboard** in the top navigation. :::note The Dashboard is only available to business admins. It appears once you have connected at least one channel; until then, the page shows the setup checklist instead. ::: ## Setup checklist While your business is still being set up, the top of the Dashboard shows **Get your AI answering customers** with the remaining steps: **Create your business**, **Connect a channel**, **Add your products**, **Teach your AI**, **Add balance** and **Turn on your AI**. You can do them in any order, and hide the checklist with **Hide setup checklist**. After setup is complete, a banner appears only when something stops the AI from replying, for example **Your AI has stopped replying** when your balance reaches $0. ## Choose a period and channels Use the period buttons at the top right: **Today**, **7d**, **This month**, **30d** or **90d**. You can also pick exact start and end dates. The Dashboard opens on **This month**. If you have more than one channel, the channel chips under the title filter every number on the page. Select **All** to include every channel, or select one or more channels. Most cards show a percentage change against the previous period. Hover over it to see exactly which dates it compares against. ## Sales and conversation cards | Card | What it counts | | --- | --- | | **Total Revenue** | The value of orders that reached Confirmed or Delivered, by the date the order was created | | **Confirmed Orders** | Orders created in the period that reached Confirmed | | **Delivered Orders** | Orders created in the period that reached Delivered | | **Avg Order Value** | Total revenue divided by the number of Confirmed and Delivered orders | | **Active Conversations** | People who sent you at least one message in the period, counted per channel | | **New Contacts** | People whose first message to you falls in the period | | **Returning Contacts** | People who messaged you in the period but first contacted you earlier | | **Messages** | All messages sent and received | Select **New Contacts** or **Returning Contacts** to see the list of conversations behind the number. Below the cards you'll find **Order Pipeline** (orders by current stage) and three charts: **Orders Over Time**, **Messages Over Time** (split into customer, AI and human messages) and **Conversations Over Time** (split by channel). Switch each chart between **Daily**, **Weekly** and **Monthly**. ## Sessions and response times A session starts with the first customer message after a quiet gap and ends when the conversation is closed. These cards measure how well conversations are being handled: | Card | What it counts | | --- | --- | | **Sessions Opened** | Sessions that started in the period | | **Sessions Closed** | Sessions closed in the period | | **Still Open** | Sessions opened in the period that are not closed yet | | **Abandoned** | Sessions opened in the period with no reply within 3 days | | **Off-Hours Sessions** | Sessions that started outside the channel's working hours | Select any of these cards to open the matching conversations. From that list you can open a conversation or download it as a CSV. **Response Times** shows two distributions: **First Response** (how long customers waited for the first reply) and **Resolution Time** (how long closed sessions lasted). Switch between **Clock time** and **Working hours**. Working-hours figures only count time inside each channel's schedule, so channels without a schedule are left out and noted under the chart. Select **View slowest** to see the conversations that took longest. :::tip **Off-Hours Sessions** and **Working hours** use the schedule assigned to each channel. If you see **No working-hours schedule assigned**, set one up in [AI settings](/owners/ai/ai-settings/). ::: ## Team, channels and products - **Session Breakdown** shows closed sessions split by who closed them: your team, the AI or the system. - **Agent Performance** lists each team member with the conversations they replied to, messages they sent, sessions they closed, and their median and 90th-percentile first response and resolution times. AI-closed sessions appear on their own row. For a fuller per-person view, including calls, see [Human agents](/owners/account/human-agents/). - **Channel Performance** lists conversations, messages and orders per channel. Select a column header to sort. - **Best Sellers** ranks your top products by units sold (**By Volume**) and by revenue (**By Revenue**). --- # Posts > Link your social media posts and reels to products so the AI knows what a customer is asking about. Source: https://docs.message24.net/owners/daily/posts/ Customers often message you by sharing one of your posts or reels, or by sending a screenshot of one, and asking "how much?". When that post is linked to a product in your catalog, the AI knows exactly which product they mean. The **Posts** page is where you make those links, and where you can turn a post into a new product. Open it from **Posts** in the top navigation. On a phone, if your business uses automations, Posts moves into the **More** menu. ## What you see Posts synced from your connected channels appear as a grid. Each card shows the channel, the date and time, the caption, and a **Reel** or **Story** label where it applies. A green bar with the product name means the post is already linked. At the top: - **Unlinked** shows only posts that are not linked to a product yet, with a count of posts that need organizing. This is the default view. - **All** shows every post. - **Search posts...** filters the grid. The **Posts** item in the navigation shows a badge with the number of unlinked posts. ## Link a single post 1. Select a post to open it. You'll see its photos or video, the full caption and a **View Original** link to the post on the platform. 2. Under **Linked Product**, pick a product from the list. While the search box is empty, Message24 suggests **Products that look like this post**, ranked by how closely the product photos match the post. Type in **Search products...** to search your catalog by name instead. 3. The post is linked as soon as you select a product. To remove a link, select **Unlink**. Picking a different product replaces the existing link. ## Create a product from a post If the post shows something that isn't in your catalog yet, you have three options: - **Turn into Product**: creates a product straight away, using the start of the caption as the name and the full caption as the description, and links the post to it. Edit the product afterwards on the Products page to add a price and other details. - **Create & Link**: select the **+** next to the product search, type a **Product Name** and select **Create & Link**. - **Create Product** at the bottom of the page: select one or more posts first, then fill in the full product form. The selected posts are linked to the new product. ## Link several posts at once 1. Select the checkbox in the top corner of each post you want to link. Once you have selected one, **Select All** appears and selects every post currently loaded. 2. Select **Link to Product** at the bottom of the page. 3. Search for and select the product. This is useful when you have posted the same product several times. :::tip Message24 can also link posts to products automatically, using either the caption or the picture. Choose which in [Business settings](/owners/account/business-settings/#business-details). ::: ## Related - [Products](/owners/catalog/products/) --- # Shortcuts > Save replies your team sends often, in English, Arabic and Kurdish, and insert them in any conversation by typing a slash. Source: https://docs.message24.net/owners/daily/shortcuts/ Shortcuts are saved replies. Write an answer once, in each language you serve, and anyone on your team can insert it from the Inbox by typing `/` and its keyword. A shortcut can include images, files and voice notes, and you can let the AI send it too. Manage them in **Settings > Shortcuts**. :::note Every team member can see and use shortcuts. Only business admins can create, edit or delete them. ::: ## Create a shortcut 1. Go to **Settings > Shortcuts** and select **New shortcut**. 2. Under **Identity**, fill in: - **Keyword**: what your team types after `/`, for example `refund`. Lowercase letters, digits, dashes and underscores, up to 40 characters. - **Description (when to use)**: a note for your team. It is never sent to the customer. - **Tag (optional)**: a group such as `pricing` or `branches`, used to filter the shortcuts list. 3. Under **Content**, write the reply on the **English** tab, then switch to **العربية** (Arabic) and **کوردی** (Kurdish). On an empty tab, **Copy English to start** copies the English text over for you to translate. A check mark on a tab means it has content. 4. Optionally, add **Attachments** with **Upload file** or **Record voice** (up to 2 minutes). 5. Select **Create shortcut**. A shortcut needs either some text or at least one attachment. ### Language versions When a shortcut is inserted, Message24 uses the version that matches the conversation's language. If that version is empty, the English text is used. Attachments are sent with every language by default. To send an attachment with only some languages, select its **All languages** pill and choose the languages under **Send on**. For example, attach an Arabic price list only to the Arabic version. Voice notes send on Instagram and WhatsApp. They are not supported on TikTok. ## Let the AI send a shortcut Under **AI can send this**, describe when the AI should use this reply, for example "when the customer asks the price or details of the neck massager". Once there is a description, the AI can send the shortcut itself, text and attachments included. Leave it empty and only your team can use it. :::tip This is a good way to give the AI a voice note or a product video to send at the right moment. ::: ## Use a shortcut in the Inbox 1. In a conversation, type `/` at the very start of the message box. 2. Keep typing to narrow the list, for example `/ref`. Use the arrow keys to move and **Enter** or **Tab** to pick one, or click it. **Esc** closes the list. 3. The shortcut's text appears in the message box, and a banner above it shows the keyword and any attachments. Edit the text if you need to, and remove any attachment you don't want to send. 4. Press **Enter** or select send. Select **Cancel** on the banner to drop the shortcut. If you change the conversation language before sending, and haven't edited the text, the shortcut switches to that language's version. :::note If you type a keyword and send without picking a shortcut from the list, Message24 stops you rather than sending the literal `/keyword` to the customer. Add a space after it if you really mean to send that text. ::: ## Find, edit and delete shortcuts The shortcuts list shows each keyword with its tag, description, which language versions it has (**EN**, **AR**, **CKB**), how many times it has been used and when it was last used. - Search by keyword, description or tag, or select a tag chip to filter. **Untagged** shows shortcuts without a tag. - Hover over a shortcut and select the pencil to edit it, or the bin to delete it. Deleting a shortcut removes it from the list your team picks from. Its past usage is kept for reporting. Messages you write inside an automation are also listed here, labelled **Automation message**. They can't be inserted with `/`. See [Automations](/owners/ai/automations/). --- # Notifications > How Message24 alerts you to new messages, escalations, suggested orders and disconnected channels, and how to choose which ones you get. Source: https://docs.message24.net/owners/daily/notifications/ Message24 can alert you in four places: the bell in the web app, a desktop notification from your browser, a chime while the dashboard is open, and a push notification on the [mobile app](/owners/daily/mobile-app/). Each person on your team sets their own preferences. ## Notification types Choose which types you receive in **Settings > Notifications**, under **Push Notifications**. Your choices apply to the business you have selected; if you belong to several businesses, set them for each one. | Type | When it's sent | | --- | --- | | **New Messages** | A customer sends a message in a conversation that is set to **Human** | | **Escalations** | The AI hands a conversation to your team | | **Order Suggested** | The AI detects a potential order in a conversation | | **Channel Disconnected** | A channel loses its connection and needs to be reconnected | | **Unlinked Posts** | Posts need organizing (linking to products) | Turn a type on or off with its switch. The same choices control both the bell and push notifications on your phone. You only receive notifications for channels you have access to. Admins set channel access for each team member; see [Team and roles](/owners/account/team-and-roles/). :::note **New Messages** notifications are only sent for conversations set to **Human**. For conversations on **Auto**, the browser alerts described below still let you know a message arrived while you have the dashboard open. See [Who replies](/owners/daily/inbox/#who-replies-auto-ai-and-human). ::: ## The bell The bell in the top navigation shows how many notifications you haven't read. Select it to open the list. - Select a notification to go to the conversation, the order (for **Order Suggested**) or **Settings > Channels** (for **Channel Disconnected**). Opening it marks it as read. - Select **Mark all read** to clear the count. - Filter by **Messages**, **Escalations**, **Orders**, **Unlinked** or **Disconnected**, or search by contact name. - Notifications for the same conversation are grouped together. Use the group toggle to show them one by one. When a new notification arrives while you are using Message24, a short pop-up appears in the bottom corner. Select it to open the notification. ## Browser notifications and sound While you have Message24 open in a browser tab, it also alerts you when a customer message arrives in a conversation set to **Auto** or **Human**: - **Message Sound** plays a chime, whether or not the tab is in front. - **Browser Notifications** show a desktop notification when the tab is in the background. It stays on screen until you dismiss it, and selecting it opens the conversation. The tab title also shows how many messages arrived while you were away. Set both up in **Settings > Notifications**: 1. Under **Browser Notifications**, select **Enable Browser Notifications** and allow notifications when your browser asks. Message24 also asks the first time you open the dashboard, and the bell shows an **Enable** prompt until you decide. 2. Select **Send a test notification** to check that notifications actually appear. Focus modes and do-not-disturb settings on your computer can hide them. 3. Under **Message Sound**, use the switch to turn the chime on or off, and **Play the sound** to test it. These two settings are saved in this browser only. Set them again on each computer you use. :::caution If you blocked notifications, your browser won't ask again. Select the lock icon in the address bar and allow notifications for this site. Desktop notifications are not available in Chrome on Android; use the [mobile app](/owners/daily/mobile-app/) instead. ::: :::tip Browser alerts only work while a Message24 tab is open. To be alerted when your computer is closed, install the mobile app and turn on the notification types you need. ::: --- # Mobile app > Reply to customers, manage orders and products, and get push notifications from the Message24 app for Android and iPhone. Source: https://docs.message24.net/owners/daily/mobile-app/ The Message24 mobile app gives you the same business on your phone: your conversations, orders, products and posts, plus push notifications so you hear about escalations and new messages when you are away from your computer. ## Get the app - Android: [Message24 on Google Play](https://play.google.com/store/apps/details?id=net.message24.app) - iPhone: [Message24 on the App Store](https://apps.apple.com/us/app/message24-ai-chat-sales/id6756303632) Sign in with the same account you use on the web: **Sign in with Google**, or on iPhone, **Sign in with Apple**. If you belong to more than one business, you can switch between them in the app. ## What you can do The app has five tabs: | Tab | What it's for | | --- | --- | | **Chat** | Your conversations from every channel. Filter by open, awaiting reply, closed or all, search, and mark conversations as read or unread. | | **Orders** | View orders and change their stage. | | **Products** | Browse and edit your product catalog. | | **Posts** | Link your posts and reels to products. | | **Settings** | Business, notification and account settings. | In a conversation you can: - Reply with text, photos from your gallery or camera, and voice messages. - Insert [shortcuts](/owners/daily/shortcuts/). - Switch the conversation between **Auto**, **AI** and **Human**. See [Who replies](/owners/daily/inbox/#who-replies-auto-ai-and-human). - Create an order for the customer, or open the existing one. - Save, share or forward images and videos customers send you. ## Push notifications Push notifications arrive on your phone even when the app is closed. Tapping one opens the conversation, or the order for a suggested order. Choose which types you get in **Settings > Notifications** in the app: **New Messages**, **Escalations**, **Unlinked Posts**, **Order Suggested** and **Channel Disconnected**. These are the same preferences as in the web app, so changing them on one changes them on the other. See [Notifications](/owners/daily/notifications/) for what each type means. :::tip Turn on **Escalations** at a minimum. It's how you find out that the AI has handed a customer to your team. ::: ## Settings in the app Business admins also see settings for the business in the app, including **Connected Channels**, **Dashboard**, **Billing**, **Integrations**, **AI Settings**, team members, **Order Settings**, **Categories & Brands** and **Auto-close Sessions**. Team members who aren't admins see only the settings they have permission for. See [Team and roles](/owners/account/team-and-roles/). Under **Settings** you can also change the app's language (English, Kurdish or Arabic), sign out, or delete your account. --- # How the AI agent works > What the Message24 AI does in a conversation, what it will not do, and what it needs before it starts replying. Source: https://docs.message24.net/owners/ai/overview/ The Message24 AI answers your customers in the same inbox your team uses. It reads each new message, looks up the answer in your knowledge base and product catalog, and replies in the customer's language. When it can't answer safely, it hands the conversation to a person. ## What the AI does in a conversation - **Answers from your knowledge base.** Everything you write in your [knowledge base](/owners/ai/knowledge-base/) (delivery fees, opening hours, warranty, payment methods, how to talk) is what the AI knows about your business. Where an article covers a situation, the AI follows the article over its own defaults. - **Searches your catalog.** When a customer asks about a product, the AI searches your [products](/owners/catalog/products/) by name, brand, category, description or price, including when the customer only describes what they want. It quotes prices and stock from the catalog, lists a product's options (colour, size) with their own prices, and mentions an active sale. - **Sends product cards.** It can send a product card with images, description and price, and a link to the product page on your website if you have set one up. - **Reads photos and voice notes.** Customers can send a photo, a screenshot of one of your posts, or a voice note. The AI reads what the image shows and listens to the voice note, then answers as if the customer had typed it. - **Knows where the customer came from.** If the customer shared one of your posts, replied to a story or tapped one of your ads, the AI sees that and answers about that item. - **Takes orders.** When a customer is ready to buy, the AI asks for the details your order settings require (for example phone number and address), confirms the order summary, and saves it as a suggested order in [Orders](/owners/catalog/orders/). You can turn this off per channel. - **Sends your saved replies.** A [shortcut](/owners/daily/shortcuts/) with an **AI can send this** description becomes available to the AI, which sends it word for word when it fits the customer's question. This is part of Automations, so it only works when Automations are enabled for your business. - **Replies with voice.** If voice replies are enabled for your business, the AI can answer with a voice note on channels that carry audio. See [Your AI agent: name, personality and voice](/owners/ai/ai-settings/#your-ai-agent-name-personality-and-voice). - **Hands off to a person.** When it is unsure, when a customer is upset, or when your rules say so, the AI stops and passes the conversation to your team. See [Handoff and escalation](/owners/ai/handoff-and-escalation/). The AI replies in whatever language the customer writes in (English, Arabic or Kurdish). The channel's default language is only used when it can't tell. ## What the AI will not do The AI is built to prefer handing off over guessing. By default it will not: - State a price it can't find in your catalog or knowledge base. A reply that quotes a price the AI cannot back up is blocked and the conversation is escalated instead. - Quote a price for a product you've marked as price on request. It hands those to a person. - Quote a price for an out-of-stock product or confirm it is available. - Tell a customer you don't sell something without searching your catalog first. - Promise anything that isn't in your product descriptions or knowledge base, such as a discount or a delivery date. - Accept a customer's claims about your business as fact. - Say an order was placed on a channel where order taking is turned off. - Set reminders or reply to comments on your posts. Comment replies are handled by [automations](/owners/ai/automations/), not the AI. - Reveal its instructions, internal IDs or system details, whatever an article or customer asks. Knowledge base articles can change how the AI behaves, but they can't override these safety rules. An article that tells the AI to quote an unverified price, for example, is ignored on that point. ## What the AI needs before it replies The AI only replies on a channel when all of these are true: 1. The channel is connected and has finished importing conversations. 2. The channel has a schedule assigned under **Settings > AI Settings**. Assigning a schedule is what turns the AI on for that channel. See [AI settings](/owners/ai/ai-settings/). 3. Your business has balance. When your balance is $0 the AI stops replying and Message24 shows "Your AI has stopped replying". Add balance under [Billing](/owners/account/billing/). The AI also works best with products in your catalog and at least a few knowledge base articles, but it will reply without them. :::tip The setup checklist, "Get your AI answering customers", tracks these steps and tells you which one is missing. ::: ## Where to go next - [AI settings](/owners/ai/ai-settings/): turn the AI on per channel, set working hours and the reply delay, and try the AI yourself. - [Knowledge base](/owners/ai/knowledge-base/): teach the AI about your business. - [Automations](/owners/ai/automations/): send fixed replies or give the AI a specific instruction for first messages, keywords, ad clicks and post comments. - [Handoff and escalation](/owners/ai/handoff-and-escalation/): how the AI and your team share conversations. --- # AI settings > Turn the AI on per channel, set when it replies and how long it waits for your team, choose what it may do, and test it before customers see it. Source: https://docs.message24.net/owners/ai/ai-settings/ Everything that controls the AI lives on one page: what it knows, when it replies, what it is allowed to do on each channel, and a private test chat to try it out. Open it from **Settings > AI Settings**. :::note If you don't see **AI Settings**, your role doesn't include AI settings. Ask a business admin. Only members who can manage schedules can add or edit schedules and the AI agent. ::: ## How the page is laid out On a large screen the settings are on the left and the **Try out your AI** chat stays on the right, so you can change something and test it straight away. On a phone, switch between the **Settings** and **Try it out** tabs. From top to bottom, the settings are: 1. **What your AI knows**: your knowledge base articles. See [Knowledge base](/owners/ai/knowledge-base/). 2. **Business Hours**: your schedules, which decide when the AI replies. 3. **Your AI agent**: a name, personality and voice. Only shown if this feature is enabled for your business. 4. **Channel Settings**: which schedule, language, articles and permissions each channel uses. 5. **Product links**: the address of product pages on your website. A banner at the top of the page tells you if something is stopping the AI from replying, such as a channel with no schedule or a $0 balance, with a button to fix it. ## Turn the AI on for a channel A channel only gets AI replies once it has a schedule. Assigning a schedule is the on switch. 1. Go to **Settings > AI Settings**. 2. If you have no schedules yet, create one under **Business Hours** (see below). 3. Under **Channel Settings**, pick the schedule for the channel. With one channel, use the **Replies during** menu. With several channels, use the **Schedule** column. The channel's badge changes to **AI on**. To turn the AI off for a channel, set its schedule back to **No schedule** (or **Not set**). Each channel shows one of three states: | Badge | Meaning | | --- | --- | | **AI on** | The AI is replying on this channel. A grey note may say which hours it doesn't cover. | | **AI off** | The channel has no schedule. | | **AI paused** | The channel has a schedule, but the schedule never lets the AI reply, or your balance is $0. The note under the badge says which. | ## Create a schedule A schedule sets your opening hours and how long the AI waits before it steps in, with one delay for open hours and another for after hours. One schedule can be shared by several channels. 1. Under **Business Hours**, select **Add Schedule**. 2. Enter a **Name**, for example "Main Hours", and choose a **Timezone**. 3. Under **Weekly Hours**, set each day to **Closed**, **24 Hours** or **Custom**. For **Custom**, enter the opening and closing time. 4. Under **Business Hours**, set the **AI delay (seconds)** that applies while you are open, or tick **Never use AI** to keep the AI out during open hours. 5. Under **After Hours**, do the same for when you are closed. 6. Select **Create**. New schedules start with 900 seconds (15 minutes) during business hours and 30 seconds after hours. ### What the delay does When a customer sends a message, the AI waits for the delay before replying. If someone on your team replies within that time, the AI stays out of it. If nobody does, the AI takes over the conversation and replies. - A delay of **0** means the AI replies immediately. - **Never use AI** means the AI never takes over in that window. Messages wait for your team. - Once the AI has taken over a conversation, it answers the customer's next messages without waiting, until someone on your team replies. Each schedule card sums this up in one sentence, for example "During open hours the AI replies after 15m. Outside them it replies after 30s.", and shows **Open now** or **Closed now** in the schedule's own timezone. :::tip Opening hours only decide which delay applies. A schedule with every day closed still lets the AI reply, using the after-hours delay all the time. The AI only stays silent on a channel when both delays are set to **Never use AI**, or when the schedule has no open days and the after-hours delay is **Never use AI**. ::: For how conversations move between the AI and your team, see [Handoff and escalation](/owners/ai/handoff-and-escalation/). To edit or delete a schedule, use the pencil or bin icon on its card. A schedule that a channel is using may not be deletable until you assign that channel a different one. ## Channel settings Each channel has its own settings under **Channel Settings**. ### Default language Choose **English**, **Arabic** or **Kurdish**. The AI replies in whatever language the customer writes. The default language is only the fallback when it can't tell. ### Which articles the channel uses By default every channel uses every knowledge base article. To leave some out for one channel, for example an article that only applies to your WhatsApp customers: 1. Select the article count next to **Knows about** (or in the **KB** column), for example "12 articles". 2. Untick the articles this channel should not use. 3. Select **Save**. The label changes to show how many are included, for example "10 of 12 articles". You can also tick channels on each article directly in the knowledge base list. ### More settings Select **More settings** next to a channel to open what that channel's AI is allowed to do: - **Reply to comments on posts**: comment replies are now set up under [Automations](/owners/ai/automations/), where you choose which posts they cover. Not available on TikTok. - **Send product links**: the AI can link customers straight to a product page on your website. You need to fill in **Product links** first, or the switch stays disabled. - **Take orders**: the AI collects a customer's order details and saves them for you as a suggested order. On by default. Turn it off on channels where you don't want the AI to take orders; it will then point customers to the buying steps in your knowledge base instead. In the channel table, a **Links** chip shows when product links are on and a **No orders** chip shows when order taking is off. Which order details the AI asks for (name, phone, address and so on) is set for the whole business under your order settings. See [Orders](/owners/catalog/orders/). ## Product links If you have an online shop, the AI can send customers a link to the product they asked about. 1. Expand **Product links**. 2. Enter the address of a product page, using `{id}` where the product code goes, for example `https://shop.example.com/products/{id}`. 3. Select **Save**. 4. Turn on **Send product links** for each channel that should send them (under **More settings**). When **Product links** is empty the AI sends no links. ## Your AI agent: name, personality and voice :::note This section only appears if AI agents are enabled for your business. If you don't see **Your AI agent**, ask Message24 support to enable it. ::: Without an agent, the AI replies with text and has no name. An agent gives it a name, a personality and a voice. You have one agent per business, and you switch it on per channel. 1. Under **Your AI agent**, select **Create agent**. 2. Enter a **Name**. This is what your customers will know the assistant as. 3. Choose a **Personality**: - **Warm & friendly**: relaxed and personal, like a shopkeeper who knows you. A good default. - **Precise & professional**: measured and exact. No exclamation marks, emoji or small talk. - **Upbeat & playful**: energetic, with a light emoji touch. 4. Under **Voice**, choose a **Female** or **Male** voice and select **Hear this voice** to listen to a sample. 5. Choose **When to speak**: - **Persuasive**: answers voice with voice, and speaks at the moments that close a sale. A good default. - **Reserved**: only replies with voice when the customer sends a voice note. - **Voice-forward**: speaks whenever the reply can be spoken. - **Off**: never sends voice notes. 6. Choose whether to **Admit to being an AI when a customer asks**. It is ticked by default. 7. Select **Create agent**. 8. Under **Channel Settings**, pick the agent in the **Agent** column for each channel that should use it. The **Agent** option is part of the multi-channel list; if you only have one channel, starting a test chat adds the "AI Test" channel and the list appears. Channels without the agent keep replying as an unnamed, text-only AI. When the AI speaks, it sends a short voice note for the conversational part of the reply and puts anything the customer needs to read, such as prices, product names or links, in a text message. Voice notes aren't sent on TikTok. If a language can't be spoken yet, the agent form says so and conversations in that language get a text reply. If your knowledge base sets a tone of voice, the article wins over the personality you pick here. To delete the agent, first set every channel's **Agent** back to **No agent**. ## Try out your AI The **Try out your AI** chat lets you message the AI as a customer would, before real customers do. Only you see it and no real customer is contacted. 1. Select **Start test chat**. 2. Type a message as a customer and wait for the reply. It is shown in an Instagram-style chat so you see what customers see. 3. Change an article or setting, then ask again. 4. Select **Start over** to clear the chat and begin a fresh conversation. The first time, Message24 creates a private test channel called "AI Test" with a "Test customer" conversation. The test channel uses your first schedule. If you have no schedule yet, a note above the chat explains why the AI isn't answering. :::tip Test the questions your customers actually ask: your delivery fee, whether a specific product is in stock, a price for two of something, a complaint. If an answer is wrong, the fix is usually a clearer knowledge base article. ::: --- # Knowledge base > Teach the AI about your business with articles, draft them from a few questions, and write articles that produce good answers. Source: https://docs.message24.net/owners/ai/knowledge-base/ The knowledge base is what the AI knows about your business beyond your product catalog: where you are, how delivery works, what you accept as payment, how to talk to customers, and when to hand over to a person. The AI treats your articles as the business speaking, and follows them over its own default behaviour. ## Open the knowledge base Go to **Settings > Knowledge Base**. The same list also appears at the top of **Settings > AI Settings** as **What your AI knows**, next to the test chat, so you can edit an article and try it straight away. ## Add an article 1. Select **Add Article**. 2. Enter an **Article title**. 3. Write the article. Use **Visual** to format with headings, lists and tables from the toolbar, or switch to **Markdown** to type it directly. 4. Select **Save**. It needs both a title and some content. Articles can be written in English, Arabic or Kurdish; right-to-left text lines up automatically. The editor has find and replace for long articles. To change an article, select it in the list. To delete one, hover over it and select the bin icon. Deleting can't be undone. ## Manage your articles - **Search**: once you have more than three articles, a search box filters them by title and content. - **Reorder**: hover over an article and drag the handle on its left. - **Choose channels**: each article shows a tick box for every connected channel. Untick a channel to stop that channel's AI from using the article. You can also do this per channel from **AI Settings**. See [Which articles the channel uses](/owners/ai/ai-settings/#which-articles-the-channel-uses). - **Size**: the small number next to each title is the article's size. The AI reads all of a channel's articles on every reply, and the knowledge base has a total budget of 25,000. Once you pass 60% of it, a **Context usage** bar appears. If it turns amber or red, shorten or merge articles. ## Set it up with a few questions :::note This wizard is being rolled out gradually. It appears on an empty knowledge base as **Set it up with a few questions**. If you only see **Create your first article**, ask Message24 support to enable it. ::: Instead of starting from a blank page, the wizard asks a few mostly tap-to-answer questions and drafts articles for you. You review every word before anything is saved. 1. On the empty knowledge base, select **Set it up with a few questions**, then **Start**. If you have no products or no connected channel yet, the first screen suggests adding them first. The drafts are better when the wizard can read your catalog and past chats, but you can carry on without them. 2. **Your shop.** Pick **What do you sell?** (this is the only required question). Then fill in **Where are you?** (address and cities you have a branch in), **Do you deliver?** (areas and delivery fee, or **Pickup only**), and **How do customers pay?**. Opening hours aren't asked; they come from your schedule. 3. **Your customers.** Tap the questions customers actually ask you, such as "Is it original?" or "Do you deliver to my city?", and type the answer you normally send. This screen makes the biggest difference. 4. **Your AI.** Give the assistant a name and pick a tone (**Warm**, **Professional** or **Playful**). Paste two or three real replies you have sent customers, exactly as you sent them. Under **Where should it stop?**, tick when it should **Hand over to a real person** (for example order tracking, returns and refunds, complaints) and what **It must never** do (for example offer discounts or promise a delivery date). Under **Already written something?**, paste any policy or pinned message you already use. 5. Select **Write my articles**. This usually takes about half a minute. The wizard shows what it is reading, such as your past conversations and products, and each article appears as it is written. 6. Review the drafts. For each one you can select it to edit the text, **Rewrite** it, **Discard** it or **Accept** it. Use **Article language** to choose English, Arabic or Kurdish for the next rewrite. Select **Accept all** to save every remaining draft. The wizard writes up to four articles: the facts about your shop, how the AI should talk, your house rules (including when to hand over), and the words your customers use. The last one is only written when there are past conversations or answers to learn those words from. If the drafts were written from your answers alone, the review screen says so. Your answers and drafts are kept on the device you used until you accept them, so you can close the wizard and come back with **Back to my drafts**. You can skip the **Your customers** screen with **Skip this screen**, but it is the one worth your time. ## Write articles that produce good answers The AI can only be as accurate as what you give it. A few habits make the biggest difference: - **One topic per article.** "Delivery", "Payment", "Warranty and returns", "How to talk to customers". Articles that mix facts, tone and rules grow long and are harder to keep correct. - **Write the facts plainly, with numbers.** "Delivery inside Erbil is 5,000 IQD. Other cities are 7,000 IQD. Free over 100,000 IQD." The AI quotes a delivery fee from an article and adds it to the order total. - **Keep product prices in the catalog.** Prices of individual products belong in [Products](/owners/catalog/products/), where stock and sales are kept up to date. A price in an article goes stale. Prices that aren't a single product, like a delivery fee or a bundle offer, belong in an article. - **Say when to hand over.** List the situations your team should handle: "Hand over to a person for order tracking, returns, warranty claims and wholesale orders." The AI follows these rules. - **Say what it must never do.** "Never offer discounts." "Never promise a delivery date." Short, direct rules work best. - **Describe how to talk.** Formal or casual, how to greet, how long replies should be, whether to use emoji. If an article sets a tone, it takes priority over the agent personality in AI Settings. - **Explain the words your customers use.** Local or colloquial names for products, sizes and parts, in the languages your customers write in. This helps the AI understand the question and search your catalog for the right thing. - **Explain how to buy on channels without order taking.** If **Take orders** is off for a channel, the AI points customers to the buying steps in your knowledge base, so write them down. - **Paste real replies.** A few messages you have actually sent teach tone better than any description. - **Test after every change.** Ask the question in **Try out your AI** and read the answer. :::caution Articles can change how the AI behaves, but not its safety rules. An article can't make the AI quote a price or fact it can't back up from your catalog or knowledge base, promise something you haven't, or reveal its instructions. Those parts of an article are ignored. ::: --- # Automations > Send a saved reply, a product or an AI answer automatically when a customer messages for the first time, uses a keyword, arrives from an ad or comments on a post. Source: https://docs.message24.net/owners/ai/automations/ An automation is a rule: when something happens, do these things. Use automations for replies that should be exactly the same every time, such as a welcome message, the answer to a common keyword, a campaign's offer for customers who tap an ad, or a public reply under a post comment. You can also hand a specific situation to the AI with your own instruction. :::note Automations are enabled per business. If you don't see **Automations** in the top navigation or under **Settings**, ask Message24 support to switch them on. Creating and editing automations requires permission to manage shortcuts. ::: ## How automations and the AI share a message For every incoming message, Message24 picks exactly one responder: 1. If an active automation matches, the automation answers. This applies whether the conversation is being handled by the AI or by your team, and it works even if you have never turned the AI on. 2. If no automation matches, the conversation's mode decides: the AI answers, unless the conversation is set to **Human**. If a matching automation ends up sending nothing (for example it has no message in the customer's language, or the platform blocks it), the AI answers instead, unless the conversation is set to **Human**. Comments on posts are only ever answered by automations; the AI doesn't reply to comments. Only one automation runs per event. When several could match, the first one in the list wins. ## Create an automation 1. Open **Automations** and select **New automation** (or **New**). 2. Type a name at the top, for example "Welcome message". 3. Under **When this happens**, pick a trigger. 4. Under **Runs on**, select the channels it should run on. Channels that can't receive this trigger's events are crossed out. 5. For comment and ad triggers, choose which posts or ads it covers. 6. Optionally add conditions under **Only if the message...** (or **Only if the comment...**). 7. Under **Do this**, add one or more actions. They run in order, top to bottom. 8. Leave the switch next to the name on **Active**, or set it to **Paused** to save without running. 9. Select **Save**. If an automation can't work on one of the selected channels, for example an action the platform doesn't allow for that trigger, an amber warning explains why and **Save** stays disabled until you fix it. ## Triggers | Trigger | Fires when | Platforms | | --- | --- | --- | | **First message** | A brand-new customer sends their very first message. Fires once per conversation, never again. | Facebook, Instagram, WhatsApp, TikTok, Telegram, website chat | | **New session** | A message opens a new session, including a customer's very first one. | Facebook, Instagram, WhatsApp, TikTok, Telegram, website chat | | **Message received** | Any incoming message. Add conditions, or it runs on every message. | Facebook, Instagram, WhatsApp, TikTok, Telegram, website chat | | **Ad click** | A customer opens the chat from one of your ads. | Facebook, Instagram, WhatsApp | | **Post comment** | Someone comments on a post. | Facebook, Instagram | New **First message** and **New session** automations start with two conditions: **Carries a photo or file** is **no** and **Is about one of our posts** is **no**. A customer whose first message is a screenshot or a shared post usually has a specific question, so by default those messages skip the welcome and go to whoever can answer them. Delete the conditions if you want the welcome to go out regardless. ## Choose posts For **Post comment**, set **Which posts**: - **All posts**. Open **Skip some posts** to exclude a few. - **Only the posts I pick**. Select the posts from a grid of your posts, with search. Only posts from the channels under **Runs on** are shown. - **The next post I publish**. Nothing runs until you publish. The first post after that becomes this automation's post and stays it. The post doesn't need to be linked to a product. See [Posts](/owners/daily/posts/) for linking posts to products. ## Choose ads For **Ad click**, set **Which ads**: - **Only the ads I pick** (the default). Pick a channel under **Runs on** first, then select ads from the list. Each ad shows how many conversations it has started and whether it is paused, not running, rejected by Meta or pending review. - **Any ad**. Open **Skip some ads** to exclude some. The list shows the ads customers have actually messaged you from. A campaign you launched today appears once its first customer writes in. ## Conditions Conditions narrow down when the automation runs. Select **Add condition** and choose what to check: | Condition | Options | | --- | --- | | **Message text** | **contains**, **doesn't contain**, **is exactly** or **is not**, followed by words | | **Carries a photo or file** | yes or no | | **Is about one of our posts** | yes or no | | **Came from an ad click** | yes or no | | **Post (shared or screenshotted)** | **is exactly** or **is not** a post you pick from the gallery. Matches whether the customer shared the post or sent a screenshot of it. | | **Ad** | **is exactly** or **is not** an ad you pick from the list | For **Message text**, separate words with commas; any one of them matches. Spelling is matched loosely, so "نرخ", "Nrx!?" and "nrx" count as the same word. Include the words in every language and spelling your customers use, for example `price, نرخ, nrx, سعر`. With more than one condition, choose **Match all of these** or **Match any of these**. ### Don't run again within For **New session**, **Message received** and **Ad click**, set **Don't run again within** a number of hours or days. It counts from the last time this automation actually sent something in that conversation. **0** means it runs every time it matches. ## Actions For message triggers (**First message**, **New session**, **Message received**, **Ad click**): - **Send a direct message**: sends one of your saved replies. Pick it from the list, select the pencil to edit it, or select **+** to write a new one without leaving the automation. A preview of the message, including any image or voice note, is shown below. See [Shortcuts](/owners/daily/shortcuts/). - **Send a specific product**: search your catalog and pick a product to send as a product card. - **Let the AI reply with your instruction**: the AI writes the reply itself, following your instruction, for example "quote the promo price; it ends Friday; offer reservation". This action always runs last, and an automation can only have one. For **Post comment**: - **Reply publicly under the comment**: type the public reply. Public replies carry text only, on every platform. - **Send the post's product**: sends the product linked to the post as a direct message. Pick a fallback message to send when the post has no linked product; without one, those commenters get nothing. - **Send a specific product**: sends a product you pick. - **Send a direct message**: sends one of your saved replies privately. New comment automations start with a public reply followed by a direct message, the most common pairing. A saved reply is sent in the customer's language. If it has no version in that language, the automation has nothing to send. Each platform limits how many actions of each kind can run for a trigger and whether attachments are allowed; when you reach the limit, Message24 stops offering that action and shows "That's everything these channels allow for this trigger." If one action fails, the rest still run. :::caution **Let the AI reply with your instruction** follows the same rules as any AI reply: the channel needs a schedule, your balance must be above $0, the reply waits for the channel's AI delay, and the AI won't reply in a conversation set to **Human**. See [AI settings](/owners/ai/ai-settings/). Your instruction outranks the AI's general guidance for that reply, but the AI still checks prices and stock against your catalog. ::: ## Run order The **Run order** list is the order automations are checked in. Each event runs one automation, the first match from the top. Drag the handle on the left of a row to reorder. Put narrow automations (a specific ad, a keyword) above broad ones (every message). Each row shows the trigger, the number of actions, its channels, and how many times it has run. A **Paused** tag marks inactive automations. A row with no channels selected is flagged in amber and never runs. ## Check that it works - A **Just fired** badge appears on an automation for a minute after it sends something. - Select the history icon on a row to see its **Last 50 runs**, each with an outcome and details: | Outcome | Meaning | | --- | --- | | **Sent** | At least one action reached the customer. | | **Nothing to send** | It matched, but there was nothing it could send: no version of the message in the customer's language, a voice note the channel can't carry, a message already sent in this conversation, or a post with no product and no fallback. | | **Blocked by platform** | The platform wouldn't deliver it, for example because another app connected to your account currently controls the conversation. | | **Failed** | Something else went wrong. | - In the inbox, messages sent by an automation carry an **Auto** badge. Select it to open that automation. To delete an automation, select the bin icon. It stops running immediately and its run history is deleted with it. --- # Handoff and escalation > How conversations move between the AI and your team, when the AI escalates to a person, what you see when it does, and how to give control back. Source: https://docs.message24.net/owners/ai/handoff-and-escalation/ The AI and your team work in the same conversations. Each conversation has a mode that decides whether the AI may reply, and the AI hands a conversation to your team whenever it shouldn't answer on its own. ## Conversation modes At the top of every conversation in the [inbox](/owners/daily/inbox/) there are three buttons: **Auto**, **AI** and **Human**. The highlighted one is the conversation's current mode. | Mode | What happens when the customer writes | | --- | --- | | **Auto** | The system decides. The AI waits for the delay set in the channel's schedule. If someone on your team replies in that time, the AI stays out. If nobody does, the AI takes over and the conversation switches to **AI**. | | **AI** | The AI replies to each new message without waiting for your team. | | **Human** | The AI never replies. The message waits for your team. | New conversations start in **Auto**. The delay for open hours and after hours is set per schedule under **Settings > AI Settings**. See [What the delay does](/owners/ai/ai-settings/#what-the-delay-does). A channel with no schedule never gets AI replies, whatever the mode. ## Take over a conversation You can reply in any conversation at any time. - **In Auto**, replying before the delay runs out keeps the AI out of that message. - **In AI**, replying moves the conversation back to **Auto**. This includes replies sent from Message24 (typed or with a shortcut) and replies sent directly in the platform's own app, such as Instagram or WhatsApp Business. The AI then waits for the delay again on the customer's next message. - To keep the AI out of a conversation entirely, select **Human**. The conversation stays in **Human** after you reply, until you change it. ## Give control back to the AI Select **Auto** to let the AI step back in after the usual delay, or **AI** to have it answer straight away. If the customer's last message hasn't been answered, selecting **AI** makes the AI reply to it now. ## When the AI escalates Escalating means the AI stops, switches the conversation to **Human**, and alerts your team. From then on the customer's messages wait for a person. The AI is instructed to escalate when: - Your knowledge base says a situation should go to a person, for example returns, warranty claims or order tracking. - It doesn't have the information to answer and would otherwise have to guess. - A customer asks the price of a product marked as price on request. - Every option of a product the customer wants is out of stock. - A customer is hostile: abusive language, accusations of cheating or fraud, or visible anger. - A customer asks it to remind them later, which it can't do. - Your catalog is set up as a partial list and the customer asks for something that isn't in it. Message24 also escalates on the AI's behalf when: - A reply states a price that can't be verified against your catalog or knowledge base. The reply is not sent. - The AI repeatedly fails to produce a usable reply. ## What you see when the AI escalates - **In the conversation**: a line reading "AI escalated to human agent" (worded differently for price-on-request products) with the reason underneath, for example "customer wants to negotiate a discount on AG Jamana chair". The mode switches to **Human**. - **In the inbox list**: the **Escalated** filter shows only escalated conversations, so nothing gets lost. - **Notifications**: an **Escalations** notification in the bell icon and as a push notification on the mobile app, if you have it turned on. Opening it takes you to the conversation. See [Notifications](/owners/daily/notifications/). While a conversation is in **Human**, each new customer message sends a **New Messages** notification ("Messages on conversations not handled by AI"), if that notification is turned on. ## After you've handled it 1. Reply to the customer. 2. When the matter is settled, select **Close** to close the session. This clears the **Escalated** mark. 3. If the AI should handle this customer again, select **Auto** or **AI**. Closing the session doesn't change the mode, so an escalated conversation stays in **Human** until you do. :::tip If the same kind of question keeps getting escalated, the AI is probably missing information. Add or improve a [knowledge base article](/owners/ai/knowledge-base/) and test the question in **Try out your AI**. If you want those questions to always go to a person, say so in an article instead. ::: ## Automations and handoff A matching [automation](/owners/ai/automations/) answers a message regardless of the conversation's mode, including **Human**. If you don't want an automation to reply to customers your team is handling, narrow it with conditions or limit how often it runs. --- # Products > Add and manage the products the AI agent sells from, including options, prices, discounts, stock and images. Source: https://docs.message24.net/owners/catalog/products/ Your products are what the AI agent searches when a customer asks "do you have this?" or "how much is it?". The more complete and accurate they are, the better it answers. You manage them on the **Products** page in the main navigation. ## The Products page The page lists your active products with a count at the top. You can switch between **Table view** and **Grid view** on desktop. - **Search products...** matches names in English, Arabic and Kurdish, descriptions and SKUs. Every word you type must match. - Filters sit in the column headers: filter by **SKU**, a price range, **Category** (including **No category**), **Brand** (including **No brand**), **Stock** and **Status**. - You can sort by name, SKU, price and number of linked posts. Many fields can be edited right in the table: the name, the price of a simple product, its category and brand (you can also create a new category or brand there), whether it's in stock, and its status. Inactive products are hidden unless you set the **Status** filter to **Inactive**. ## Add a product 1. Click **Create Product**. 2. Fill in the form (see below). 3. Click **Create Product**. The button stays disabled until the product has a name. ### Product Media Click **Add** or drag images and videos into the area. You can add several at once. Images are compressed before they upload. Remove one with the X on its thumbnail. ### Name and description Use the **English**, **العربية** and **کوردی** tabs to enter the **Product Name** and **Description** in each language. The English name is required. A dot on a tab shows that it has content. Descriptions longer than 1,000 characters show a warning that they may get cut off. ### Category and brand Pick a **Category** and **Brand** if you've created any. See [Categories and brands](/owners/catalog/categories-and-brands/). ### AI Notes **AI Notes** are private notes for the AI agent and are never sent to customers. Use them for selling tips, comparisons with similar products, or context a customer wouldn't see in the description. Up to 500 characters. ### Pricing for a simple product - **SKU**: leave it empty to generate one automatically (such as `PRD0001`), or enter your own. - **Fixed price**: enter the price. - **Price on request**: no price is shown. When a customer asks about this product's price, the AI hands the conversation to your team instead of quoting. - **In Stock**: untick when the product is sold out. - **Active**: untick to hide the product from the AI and from your product list. ### Discounts For a simple product with a fixed price, click **+ Add discount**: 1. The price you already entered becomes the **Price before discount**. 2. Enter the **Sale price**. It must be lower than the price. 3. Optionally set **Sale ends (optional)**. The sale ends at the end of that day. A preview shows what customers see, for example the sale price next to the struck-through original and the percentage off. Click **Remove** to end the discount. In the product list, discounted products show the original price struck through. ## Products with options If a product comes in variations, such as colours, sizes or storage, click **Add pricing options**. 1. Name each attribute (for example **Color** or **Size**) and add its values. Click **Add attribute** for another one, up to three. 2. Under the attribute values, pick one value for each attribute and click **Add** to create a combination, such as Black / M. 3. For each combination, set its **Pricing** and whether it's **In Stock**. Remove a combination with its remove button. You can choose **Fixed price** or **Price on request** for the whole product. With **Price on request**, variant prices aren't shown to the AI and it hands price questions to your team. A product with options needs at least one combination before you can save it. ## Linked posts When editing a product, **Linked Posts** shows the social media posts connected to it, so the AI knows which product a customer means when they reply to or share one of your posts. Click the X on a post to unlink it. If Message24 finds posts that look like this product, they appear under **Posts that look like this product**; click one to link it. ## Bulk changes Select products with the checkboxes to: - **Mark In Stock** or **Mark Out of Stock** - **Mark Fixed Price** or **Mark On Request** - Assign or unassign a category or brand - Delete A bulk change applies to up to 100 products at a time. ## Import and export ### Export Click the export button to download a CSV of the products that match your current search and filters. The file includes each product's ID, name, SKU, price, price strategy, description, category, brand, stock, status, Arabic and Kurdish names and descriptions, and AI notes. ### Import Click the import button and choose a `.csv` or `.xlsx` file (up to 10 MB). 1. Message24 reads the file and shows how many rows will be **new**, how many are **updates**, and any **errors**, along with how your columns map to product fields and a preview of the first rows. 2. Click **Import** to start. Large files may take a moment. 3. The result shows how many products were created, updated and failed. How to prepare the file: - A **Name** column is required. - Other recognised columns: **SKU**, **Price**, **Description**, **Price Strategy** (`fixed` or `quote`), **Category**, **Brand**, **In Stock**, **Active**, **Name (AR)**, **Name (CKB)**, **Description (AR)**, **Description (CKB)**, **AI Notes**. For yes/no columns, use `true`, `yes` or `1` for yes. - Rows with an **ID** update that existing product. Rows without an ID create new products. The easiest way to bulk-edit is to export, change the file, and import it back. - Categories and brands are matched by name, and created if they don't exist yet. ## Delete a product Click the trash icon on a product and confirm. Deleting a product makes it inactive: it disappears from your product list and the AI no longer offers it. You can find it again with the **Status** filter set to **Inactive** and reactivate it. ## Products from an integration Products synced from a connected store or system, such as Shopify or WooCommerce, show the integration's name next to the product and a **Managed by** notice in the form. Their names, descriptions, prices, options, stock and images come from that system, so change them there and they update in Message24 on the next sync. See [Integrations](/owners/integrations/overview/). In Message24 you can still set the **AI Notes**, **Category**, **Brand**, and whether the price is fixed or on request. Synced products can't be deleted here; remove them in your store instead. If your integration adds its own notes for the AI, they appear read-only under **AI Notes (from integration)**. ## Help the AI find the right product The AI searches your catalog the way a customer describes things, so good data directly improves its answers: - **Use the name customers use.** Put the brand and model in the name, for example `iPhone 17 Pro 256GB` rather than `Phone A`. - **Fill in Arabic and Kurdish names.** Customers write in all three languages, and the AI matches better when your products have them. - **Write a real description.** Material, size, what it's for, what's included. The AI uses it to answer detailed questions. - **Set categories and brands.** They help the AI narrow down a request like "Samsung phones" or "face creams". - **Keep stock up to date.** The AI tells customers whether an item is available based on **In Stock**. - **Add options instead of separate products** for colours and sizes of the same item, so the AI can offer the choices together. - **Add clear images** and link your posts, so the AI can recognise the product when a customer shares a post or a screenshot. - **Use Price on request** for items you price case by case, so the AI never guesses. - **Use AI Notes** for anything that helps it sell: who the product suits, how it compares to others, common questions. --- # Categories and brands > Organise your products into nested categories and brands so you and the AI agent can find them faster. Source: https://docs.message24.net/owners/catalog/categories-and-brands/ Categories and brands group your products. They make the product list easier to filter, and they help the AI agent narrow down requests like "Samsung phones" or "skin care". You manage them in **Settings > Categories & Brands**, which is available to business admins. ## Categories Categories can be nested as deep as you like, for example **Phones > Android > Samsung**. - **Add a top-level category**: click **Add** in the **Categories** panel, type the name and press Enter. Press Esc to cancel. - **Add a sub-category**: hover over a category and click **+**. - **Rename**: hover over a category and click the pencil. - **Move**: drag a category onto another to make it a sub-category. To move it back to the top level, drop it on **No parent (root)**. Categories with sub-categories show how many they contain and start collapsed. Two categories under the same parent can't have the same name, but the same name can appear under different parents. ## Brands Brands are a simple list, grouped alphabetically. - **Add**: click **Add** in the **Brands** panel, type the name and press Enter. - **Rename**: hover over a brand and click the pencil. ## Delete a category or brand 1. Hover over it and click the trash icon. 2. If products use it, choose what happens to them under **Transfer products to**: **Leave unassigned**, or move them to another category or brand. 3. Click **Delete**. Transferring products is also how you merge two categories or brands: delete the one you no longer want and transfer its products to the other. When you delete a category that has sub-categories, the sub-categories move to the top level. ## Other ways to assign them You don't have to visit this page to use categories and brands: - On the [Products](/owners/catalog/products/) page, pick or create a category or brand directly in a product's row. - Select several products and use **Assign category/brand**. - Include **Category** and **Brand** columns when importing products. Missing ones are created automatically. - Products synced from an [integration](/owners/integrations/overview/) bring their categories and brands with them. --- # Orders > Review orders the AI suggests from conversations, create orders yourself, and move them from new to delivered. Source: https://docs.message24.net/owners/catalog/orders/ Orders collect what a customer wants to buy, who they are and where to deliver. The AI agent can capture them from chat for you to review, and your team can create them from any conversation. You track them all on the **Orders** page in the main navigation. ## Order stages | Stage | Meaning | | --- | --- | | **Suggested** | The AI detected an order in a conversation. It waits for your team to accept or dismiss it. | | **New** | Accepted and waiting to be confirmed. | | **Confirmed** | Confirmed with the customer. | | **Delivered** | Delivered to the customer. | | **Returned** | Returned after delivery. | | **Cancelled** | Cancelled. It can be reopened. | The number on **Orders** in the navigation is how many orders are **Suggested** or **New**, so you can see at a glance what needs attention. ## The Orders page - **Search** by order number, customer name, phone or product. - Filter by date with the calendar icon on **Date**, and by stage with the filter icon on **Stage**. Each stage shows how many orders it has. - Sort by date, customer, amount or stage. - Edit the customer name, phone, email and delivery fee directly in the row. - Change an order's stage from the stage badge in its row. - Use the WhatsApp icon to message the customer on WhatsApp, or **Go to Conversation** to open the chat the order came from. - **Export** downloads a CSV of the orders on the current page. Select several orders to **Confirm**, **Cancel** or **Delete** them together. Only **New** or **Returned** orders can be confirmed this way, and delivered orders can't be cancelled. ## AI-suggested orders When a customer in a conversation settles on what they want, the AI can create a **Suggested** order with the items, customer details and delivery address it gathered. It appears on the Orders page and next to the message it came from in the inbox. To review one, open it: - **Accept Order** moves it to **New**. - **Dismiss** removes it from your orders. Suggested orders that nobody accepts are removed automatically after 7 days. ### Turn order suggestions on or off - In **Settings > Business > Order Settings**, **Automatic Order Detection** controls how orders are detected: **Always**, **AI Only** or **Never**. - Per channel, the AI's **Take orders** switch in the channel's AI behaviour settings lets you choose which channels it collects orders on. With it off, no orders are suggested on that channel. ### Get notified Turn on **Order Suggested** in **Settings > Notifications** to be told when the AI detects a potential order. The notification shows the customer and a short summary, and opens the order. ## Create an order yourself Orders are created from a conversation, so they stay linked to the customer's chat. 1. Open the conversation in the inbox. 2. Click **+ Order**. 3. Fill in the customer details. Which fields appear depends on your Order Settings. 4. Click **Add Item** and search your products, or type an item name that isn't in your catalog. For a product with options, choose the option. Set the quantity and price. 5. Optionally add notes, a discount and a delivery fee. 6. Click **Create Order**. **Save for next order** (on by default) saves the name and phone to the customer's contact and remembers the details for next time. A conversation can only have one open **New** order at a time; confirm or cancel it before creating another. ## Work on an order Click an order to open it. You see the customer details, notes, items, totals, the **Status History** and the conversation's messages side by side. The buttons at the bottom move the order through its stages: | Current stage | Actions | | --- | --- | | Suggested | **Dismiss**, **Accept Order** | | New | **Cancel order**, **Confirm Order** | | Confirmed | **Cancel order**, **Mark Delivered** | | Delivered | **Cancel order**, **Mark Returned** | | Returned | **Cancel order** | | Cancelled | **Reopen Order** | Click any customer field, the notes or an item to edit it. **Status History** records every change with who made it and when, including whether the AI suggested the order. ## Order Settings Admins can choose which details an order collects in **Settings > Business > Order Settings**. These settings apply to orders you create and to orders the AI suggests. - Start from a **Quick Presets** option: **Physical Goods** (name, phone and delivery address), **Digital Goods** (name and email) or **Drop Shipping** (name, phone, delivery address and product link). - Or switch individual fields on or off and mark them **Required**: **Customer Name**, **Phone Number**, **Email Address**, **Delivery Address**, **Product Link**, **Payment Proof** and **Delivery Fee**. Click **Save Order Settings** when you're done. ## Send orders to your store or ERP If you've connected [Shopify](/owners/integrations/shopify/), [WooCommerce](/owners/integrations/woocommerce/), [ERPNext](/owners/integrations/erpnext/) or a [Integration API](/owners/integrations/custom-api/), Message24 can create each order in that system when it reaches the stage you chose (**New** or **Confirmed**). Only one integration sends orders at a time. In the order: - **Synced** means the order was created in your system. The **External System** section shows its reference there and when it was sent. Synced orders are locked for editing in Message24, so make further changes in your system. - **Sync failed** means your system rejected the order. The **Sync Error** explains why, and the same error appears in **Sync Activity** on the Integrations page. After an order is synced, its stage follows your system: when the order is completed, cancelled or refunded there, Message24 updates the stage to match. Each integration's page lists exactly which statuses map to which stage. --- # Integrations overview > Bring your product catalog into Message24 from the system you already use, and send the orders the AI captures back to it. Source: https://docs.message24.net/owners/integrations/overview/ An integration connects Message24 to the system where you already keep your products, such as a Shopify or WooCommerce store or an ERP. Once connected, your catalog is copied into Message24 and kept up to date, so the AI agent answers customers with your real names, prices, options and stock. Some integrations can also receive the orders the AI captures in chat. You manage integrations in **Settings > Integrations**. Only business admins can open this page and connect, edit or disconnect an integration. ## What each integration does | Integration | Products into Message24 | Orders sent to it | Order status comes back | | --- | --- | --- | --- | | [Shopify](/owners/integrations/shopify/) | Yes | Optional | Yes | | [WooCommerce](/owners/integrations/woocommerce/) | Yes | Optional | Yes | | [ERPNext](/owners/integrations/erpnext/) | Yes | Yes | Yes | | [ShopLink](/owners/integrations/shoplink/) | Yes | No | No | | [Integration API](/owners/integrations/custom-api/) | Yes | Optional, if your system supports it | No | "Order status comes back" means that when an order changes in the other system (for example it is completed, cancelled or refunded there), Message24 moves the order to the matching stage on your [Orders](/owners/catalog/orders/) page. Odoo is listed on the page as **Coming Soon** and cannot be connected yet. ## Connect an integration 1. Go to **Settings > Integrations**. 2. Find the system you use and click **Connect**. 3. Fill in the details the form asks for. Each integration's page explains where to find them. 4. Click **Connect** (or **Verify** first, for integrations with a two-step form). Message24 checks the details against your system before saving anything. If the store can't be reached or the credentials are wrong, you see the error in the form and nothing is saved. The first product sync starts after you connect. Once connected, the card shows a **Connected** badge, the number of products synced from that system, whether the last sync succeeded, and how long ago it ran. ## How syncing works Connected integrations sync your products automatically in the background, so changes you make in your store reach Message24 without you doing anything. Shopify stores also notify Message24 as soon as a product is created, changed or deleted. You can also start a sync yourself from the integration's card: - **Sync** fetches the latest changes from your system. Use it after you've edited products and want them in Message24 right away. - **Full Sync** re-fetches every product and deactivates products that no longer exist in your system. It is available for Shopify, WooCommerce and Integration API. Use it after you've deleted or unpublished products, or whenever the catalog in Message24 looks out of step with your store. ShopLink always reads your whole storefront on every sync, so it has no separate **Full Sync** button. :::tip If a product you removed from your store still appears in Message24, run **Full Sync**. Deactivated products stay in Message24 but are no longer offered to customers. ::: ## Sync Activity Below the integration cards, **Sync Activity** lists recent syncs and order pushes with a one-line summary. Warnings and errors are highlighted. Click an entry with details to expand it and see what went wrong, for example a product that could not be imported or an order your system rejected. ## Sending orders to your system Shopify, WooCommerce, ERPNext and Integration API can create the order in your system when it reaches a stage you choose: - **New**: as soon as the order is accepted in Message24. - **Confirmed**: only after your team confirms it. Each order is sent once. Only one integration can send orders at a time: if another integration already has order sending turned on, Message24 asks you to turn it off there first. ## Who can do what - Business admins can connect, edit and disconnect integrations. - **Disconnect** stops product syncing (and order sending, where it was on). You are asked to confirm first. ## Other connections Two connections live in their own Settings entries rather than on the Integrations page: - [Meta Ads](/owners/integrations/meta-ads/) reads your ad campaigns and reports orders from ad conversations back to Meta. - [Call center reports](/owners/integrations/call-center/) bring call records from your phone system into Message24. ## Something not listed? If your business runs its own system, such as an in-house ERP or POS, your developer can connect it through the [Integration API](/owners/integrations/custom-api/). --- # Connect Shopify > Sync your Shopify catalog into Message24 and, optionally, create Shopify orders from the orders the AI captures in chat. Source: https://docs.message24.net/owners/integrations/shopify/ The Shopify integration copies your products, options, prices, stock and translations into Message24, and can send the orders the AI captures back to your store as draft orders or real orders. You connect it with an app you create in your own Shopify Dev Dashboard. There is no "Sign in with Shopify" button: you create the app, install it on your store, and paste its credentials into Message24. ## Before you start You need to be the store owner, or a staff member with the **App development > Develop** permission in Shopify. Collaborator accounts can't create the app. It takes about five minutes. ## Step 1: Create the app in Shopify 1. Go to [dev.shopify.com](https://dev.shopify.com) and sign in with the account that owns your store. 2. In the left menu click **Apps**, then **Create app** > **Start from Dev Dashboard**. Name it `Message24` and click **Create**. 3. Open the app and click **Configure a version**: - **App URL**: `https://message24.net` - **Admin API access scopes**: select the scopes listed below. - Save and release the version. 4. Go to **Home** > **Install app**, choose your store and click **Install**. 5. If you selected the order scopes, open **API access requests** > **Protected customer data access** > **Select**, tick **Customer service** and **Store management**, and click **Save**. Without this, sending orders to your store fails. You don't need to submit anything for review. Skip this step if you only want catalog sync. 6. Go to **Settings** in the app and copy the **Client ID** and the **Client secret**. ### Scopes to select For the product catalog: - `read_products`: required. Without it there is nothing to sync, and Message24 won't connect. - `read_inventory`: without it Message24 only knows whether an item is available, not how many you have. - `read_locations` - `read_translations`: without it your Arabic and Kurdish product names and descriptions aren't imported. - `read_locales`: lets Message24 see which languages your store has. To also let Message24 create orders in your store: - `write_draft_orders` - `write_orders` The order scopes are optional. If you'd rather Message24 never writes anything to your store, select only the five read scopes: the catalog syncs normally and order sending stays unavailable. You can add the order scopes later by releasing a new version of the app and reinstalling it. :::caution The client secret gives access to your store data. Treat it like a password and don't share it over public chat or email. ::: ## Step 2: Connect in Message24 1. Go to **Settings > Integrations** and click **Connect** on the Shopify card. 2. **Store domain**: your permanent `.myshopify.com` address, for example `yourstore.myshopify.com`. Not your custom domain. 3. **Client ID** and **Client secret**: paste the values from your app's settings. 4. If you want orders sent to Shopify, tick **Push orders to Shopify** and choose the options described below. 5. Click **Connect**. Message24 signs in to your store with the credentials before saving them. If the domain is wrong, the secret belongs to a different app, or the app isn't installed on this store, you see an error and nothing is saved. ## What syncs - Products, with their options and variants, prices, and images. - Stock quantities (or only availability, without `read_inventory`). - Arabic and Kurdish translations of product names and descriptions, if your store has them. - The product type as the category, and the vendor as the brand when it differs from your store name. - A variant's compare-at price, when it is higher than the price, as a discount. - Products that are not active in Shopify (draft or archived) are brought in as inactive, so the AI doesn't offer them. Products sync automatically in the background. Shopify also tells Message24 whenever a product is created, updated or deleted, so most changes arrive shortly after you make them. Use **Sync** to fetch changes now, or **Full Sync** to re-fetch the whole catalog and deactivate products that no longer exist in Shopify. See [How syncing works](/owners/integrations/overview/#how-syncing-works). ## Sending orders to Shopify Tick **Push orders to Shopify** to create orders in your store from Message24 orders. - **Push orders at stage**: **New** sends an order as soon as it is accepted in Message24. **Confirmed** waits until your team confirms it. - **Create as**: **Draft order** waits in Shopify for you to review it. **Order** enters fulfillment immediately, marked as payment pending. Order lines that came from your synced catalog are matched to the exact Shopify product and variant. Any discount and delivery fee on the order are included. If your app wasn't granted the order scopes, the checkbox is disabled and Message24 explains which scopes are missing. Add them to your app in the Shopify Dev Dashboard, release a new version, reinstall it, and then turn order sending on. ### Status updates from Shopify After an order has been sent, Message24 checks Shopify regularly and updates the order's stage on your [Orders](/owners/catalog/orders/) page: | In Shopify | Stage in Message24 | | --- | --- | | Still an open draft | No change | | Order created (draft completed, or created directly) | Confirmed | | Fulfilled | Delivered | | Cancelled or voided | Cancelled | | Fully refunded | Returned | A partial refund does not mark the order as returned. ## Change settings or credentials Click the settings icon on the Shopify card. You can change the store domain and order options. To replace the app credentials, click **Change credentials**, paste the new Client ID and secret, and click **Save Changes**. ## Disconnect Click **Disconnect** on the Shopify card and confirm. Product syncing and order sending stop, and Message24 removes its product notifications from your store. To revoke access completely, also uninstall the app from your Shopify store. --- # Connect WooCommerce > Sync products from your WooCommerce store into Message24 and, optionally, send the orders the AI captures back to WooCommerce. Source: https://docs.message24.net/owners/integrations/woocommerce/ The WooCommerce integration copies the published products from your WordPress store into Message24, and can create WooCommerce orders from the orders the AI captures in chat. You connect it with a WooCommerce REST API key. ## Step 1: Create an API key in WooCommerce 1. In your WordPress admin, go to **WooCommerce > Settings > Advanced > REST API** and click **Add key**. 2. Give it a description such as `Message24` and choose the user it belongs to. 3. Set **Permissions**. **Read** is enough to sync products. Choose **Read/Write** if you want Message24 to create orders in your store. 4. Click **Generate API key** and copy the **Consumer key** (starts with `ck_`) and **Consumer secret** (starts with `cs_`). WooCommerce shows the secret only once. ## Step 2: Connect in Message24 1. Go to **Settings > Integrations** and click **Connect** on the WooCommerce card. 2. **Store URL**: your store's address, for example `https://yourstore.com`. 3. **Consumer Key** and **Consumer Secret**: paste the values from step 1. 4. If you want orders sent to WooCommerce, tick **Push orders to WooCommerce** and choose the options described below. 5. Click **Connect**. Message24 tests the connection before saving. If it can't reach the store or the key is rejected, you see the error and nothing is saved. ## What syncs - Published products. Drafts and private products are not imported. - Variable products with their variations, including each variation's price, stock status and images. - Stock status (in stock or not). - The product's first category, including its parent categories, and its brand. - Arabic and Kurdish translations, if your store translates products with WPML. Products sync automatically in the background. Use **Sync** to fetch recent changes now, or **Full Sync** to re-fetch every product and deactivate products that are no longer published in WooCommerce. See [How syncing works](/owners/integrations/overview/#how-syncing-works). ## Sending orders to WooCommerce Tick **Push orders to WooCommerce** to create an order in your store for each Message24 order. - **Push orders at stage**: **New** sends the order as soon as it is accepted in Message24. **Confirmed** waits until your team confirms it. - **Initial WooCommerce status**: the status the order has when it is created in WooCommerce: **Pending**, **Processing** (the default) or **On Hold**. What is sent with the order: - The customer's name, phone, email and address. If a WooCommerce customer already exists with the same email, the order is linked to them. Otherwise it is created as a guest order. - Lines for products that came from WooCommerce, matched to the right product and variation. - Items that aren't in your WooCommerce catalog, as fee lines, so the order total stays correct. - The delivery fee as a shipping line, and any discount. ### Status updates from WooCommerce After an order has been sent, Message24 checks WooCommerce regularly and updates the order's stage on your [Orders](/owners/catalog/orders/) page: | WooCommerce status | Stage in Message24 | | --- | --- | | Pending payment, Processing, On hold | Confirmed | | Completed | Delivered | | Cancelled, Failed | Cancelled | | Refunded | Returned | ## Change settings or credentials Click the settings icon on the WooCommerce card. You can change the store URL and the order options. To use a new API key, click **Change Credentials**, paste the new key and secret, and click **Save Changes**. ## Disconnect Click **Disconnect** on the WooCommerce card and confirm. Product syncing and order sending stop. You can also revoke the API key in WooCommerce under **Settings > Advanced > REST API**. --- # Connect ERPNext > Sync items from ERPNext into Message24 and create Sales Orders in ERPNext from the orders the AI captures. Source: https://docs.message24.net/owners/integrations/erpnext/ The ERPNext integration copies your sales items into Message24 and creates a Sales Order in ERPNext for each order your team accepts or confirms in Message24. Order stages then follow the Sales Order's status in ERPNext. ## Before you start You need an ERPNext user with an API key and secret, and access to the company and warehouse you sell from. 1. In ERPNext, open the user Message24 should act as. 2. In the user's settings, go to **API Access** and generate a key. 3. Copy the **API Key** and **API Secret**. ERPNext shows the secret only once. ## Connect The form has two steps. 1. Go to **Settings > Integrations** and click **Connect** on the ERPNext card. 2. Fill in your credentials: - **ERPNext Site URL**: your ERPNext address, for example `https://yourcompany.erpnext.com`. - **API Key** and **API Secret** from the steps above. 3. Click **Verify & Continue**. Message24 checks the credentials and loads your companies. 4. Configure the sync settings: - **Company**: the company used for orders and inventory. If you have only one, it is selected for you. - **Default Warehouse**: the warehouse used for order items. The list shows the warehouses of the selected company. - **Push orders to ERPNext when**: **Order is accepted (New stage)** or **Order is confirmed**. 5. Click **Connect**. ## What syncs - Items marked as sales items that are not disabled. - Item templates together with their variants, including variant attributes such as colour and size, each variant's price and image. - The item name, description, standard selling rate and image. - Whether each item is in stock. Items that are deleted in ERPNext are deactivated in Message24. Products sync automatically in the background, and **Sync** on the ERPNext card fetches recent changes right away. See [How syncing works](/owners/integrations/overview/#how-syncing-works). ## Orders in ERPNext Sending orders is always on for ERPNext. When an order reaches the stage you chose, Message24 creates a Sales Order under your selected company: - The customer is matched to an existing ERPNext Customer by phone, then email, then name. If none is found, a new Customer is created. - Order lines use the ERPNext item codes of synced products, with the price from the Message24 order and your default warehouse. - The Message24 order number, delivery address, delivery fee and notes are added to the Sales Order's remarks. - The Sales Order is submitted, not left as a draft. Only one integration can send orders at a time. If another integration already sends orders, turn that off before connecting ERPNext. ### Status updates from ERPNext Message24 checks your Sales Orders regularly and updates the order's stage on the [Orders](/owners/catalog/orders/) page: | Sales Order status | Stage in Message24 | | --- | --- | | Draft, To Deliver and Bill, To Deliver, On Hold | Confirmed | | To Bill, Completed, Closed | Delivered | | Cancelled | Cancelled | | Return | Returned | ## Change settings Click the settings icon on the ERPNext card to change the company, default warehouse or order stage. To use new credentials, click **Change Credentials**, enter the new key or secret (leave a field empty to keep the current value), and click **Save Changes**. ## Disconnect Click **Disconnect** on the ERPNext card and confirm. Product syncing and order sending stop. --- # Connect ShopLink > Sync the products from your public ShopLink storefront into Message24 using only your shop's domain. Source: https://docs.message24.net/owners/integrations/shoplink/ If you sell through a ShopLink storefront, Message24 can read your catalog directly from it. There is no API key: Message24 reads the storefront the same way a customer's browser does, so all you need is your shop's address. ShopLink brings products into Message24. It does not receive orders. ## Connect 1. Go to **Settings > Integrations** and click **Connect** on the ShopLink card. 2. **Shop domain**: your public storefront address, for example `yourshop.krd`. 3. Click **Connect**. Message24 looks up your shop at that address before saving. If it can't find a ShopLink storefront there, you see an error and nothing is saved. ## What syncs - Product names and descriptions in English, Kurdish and Arabic. If a product has no English name, the Arabic name is used. - Prices, and whether each product is in stock. - Options, with a price and stock status for each option. - Up to five images per product, plus a product video if there is one. - Categories and brands, using their Kurdish names. - Products marked "contact for price" on your storefront are set up as quote-on-request products, so the AI doesn't quote a placeholder price. - Products that are inactive on your storefront are inactive in Message24. Every ShopLink sync reads your whole storefront, so products you delete from ShopLink are deactivated in Message24 on the next sync. That's why the ShopLink card has only a **Sync** button and no **Full Sync**. Syncing also runs automatically in the background. See [How syncing works](/owners/integrations/overview/#how-syncing-works). ## Disconnect Click **Disconnect** on the ShopLink card and confirm. Product syncing stops. --- # Connect your own system (Integration API) > Connect an in-house ERP, POS or admin system to Message24 through the Message24 Integration API. Source: https://docs.message24.net/owners/integrations/custom-api/ If your products live in a system Message24 doesn't have a ready-made integration for, such as an in-house ERP, a POS or a custom admin panel, you can still connect it. Your developer adds a small API to that system following the Message24 Integration API, and you paste its address and key into Message24. On the Integrations page this appears as **Integration API**. Once connected, your catalog syncs into Message24 like any other integration, and if your system supports it, the orders the AI captures in chat are sent to it. ## What to hand your developer Send your developer these two pages: - [Integration API for developers](/developers/integrations/overview/) - [Message24 Integration API reference](/developers/integrations/integration-api/) In short, they need to build: - An address that tells Message24 the system's name and what it supports. - A list of your products, with prices, stock, images and options. - Optionally, a way to receive orders. Without it, the catalog still syncs but orders stay in Message24 only. The API must be reachable over HTTPS from the public internet. Your developer creates an API key for Message24, and your system must reject requests that don't carry it. When they are done, they give you two things: the **API address** and the **API key**. :::tip The connect form has a collapsed section, **Your developer needs to build this**, with a summary of the endpoints and a link to the full specification. You can open it and share it with your developer. ::: ## Connect The form has two steps. 1. Go to **Settings > Integrations** and click **Connect** on the **Integration API** card. 2. **API address**: the base address your developer gave you, for example `https://erp.yourcompany.com/message24`. 3. **API key**: the key your system issued for Message24. It is stored encrypted and never shown again. 4. Click **Verify**. Message24 calls your system and shows what it found: the system's name, the address, and what it supports (for example "Supports: products, orders"). 5. Choose what to do with it: - Tick **Send orders to this system** if you want orders sent there, and pick **Send orders when they are** **New** or **Confirmed**. - If your system doesn't accept orders, this option is disabled with a note saying so. It becomes available once your developer adds order support. 6. Click **Connect**. If verification fails, the error from your system is shown in the form, for example a rejected key or an address that isn't a Message24 Integration API. Nothing is saved until verification succeeds. ## Syncing Products sync automatically in the background. From the **Integration API** card you can also click **Sync** to fetch recent changes, or **Full Sync** to re-fetch the whole catalog and deactivate products your system no longer lists. The background sync also re-reads the whole catalog once a day, so products removed from your system are deactivated within about a day even if nobody presses **Full Sync**. See [How syncing works](/owners/integrations/overview/#how-syncing-works). Problems your system reports, such as a product it couldn't send or an order it rejected, appear in **Sync Activity** on the Integrations page with the message your system returned. Share those with your developer. ## Orders When an order reaches the stage you chose, Message24 sends it to your system with the customer's details, the items (including your system's own product and variant references for catalog items), the total, discount, delivery fee and notes. Your system replies with its own order reference, which Message24 keeps on the order. Only one integration can send orders at a time. If another integration already sends orders, turn that off first. ## Change settings Click the settings icon on the Integration API card. You can turn order sending on or off and change the stage. To point Message24 at a new address or a rotated key, click **Change**, update the fields (leave the key empty to keep the current one), and click **Save changes**. If your system can't be reached when you open the settings, the error is shown at the top, but you can still edit and save, which is usually how you fix it. ## Disconnect Click **Disconnect** on the Integration API card and confirm. Products stop syncing and no more orders are sent. --- # Meta Ads > Connect your Meta ad accounts so Message24 knows your campaigns, and report orders from ad conversations back to Meta as purchases. Source: https://docs.message24.net/owners/integrations/meta-ads/ The Meta Ads page does two things. It reads the ads in your Meta ad accounts, so Message24 knows which campaign a customer came from and you can pick a campaign when you build an automation. And it can report orders that came from ad conversations back to Meta as purchases, so Meta can optimise your campaigns for buyers rather than just messages. Find it in **Settings > Meta Ads**. :::note Meta Ads is switched on per business and is visible only to business admins. If you don't see it in Settings, ask Message24 support to enable it. The page may also show that ad reading or conversion reporting "is not switched on for your account yet"; support can turn each part on separately. ::: ## Ad accounts ### Connect an ad account 1. Go to **Settings > Meta Ads**. 2. Under **Ad accounts**, click **Connect ad account**. 3. In the Facebook window, sign in with a Facebook account that has access to the ad account running your campaigns, connect through your business portfolio (not a personal account), and choose which ad accounts Message24 may read. Message24 asks only for permission to read your ads. It cannot create or edit ads, and it cannot spend money. This connection is separate from your messaging channels and does not affect them. After connecting, **Connections** lists each business portfolio you connected with the number of ad accounts and the date. Each ad account shows its name, ID, currency and how many of its ads were found. Use the checkbox on an account to choose whether it is read. Message24 refreshes your ads automatically in the background. Click **Refresh** to load the latest state on the page. ### What it's used for - Choosing a campaign when you set up an automation, even before its first customer messages you. - Showing a campaign's real name instead of whatever Meta puts in the message. The page does not show spend or campaign performance; use Meta Ads Manager for that. ### If something goes wrong - **No ad accounts found**: the Facebook account you connected doesn't have access to the ad account that runs your campaigns. Reconnect with one that does. - **Meta refused this account**: reconnect Facebook with a user who can manage these ads. - **Meta could not be reached for this account**: a temporary problem. Message24 keeps trying. - A connection marked **no ad access** was connected without permission to read ads. Connect again and grant it. ## Order conversions Conversion reporting tells Meta when a conversation that started from one of your ads turned into an order. Orders from conversations that didn't start from an ad, and orders without a total, are not reported. ### Choose when an order counts as a purchase Under **When should an order count as a purchase?**, pick one: - **Don't report orders**: Meta learns nothing about your orders. Your ads still work; they optimise for conversations rather than purchases. - **When the order is created**: the largest, fastest signal, but orders you later cancel stay counted. - **When you confirm the order**: recommended. The customer has committed to buy, soon enough after the ad click for Meta to attribute it. - **When the order is delivered**: only counts what you actually fulfilled, but a delivery days after the click may fall outside the window Meta can attribute. :::caution Meta accepts one purchase per order, and it can't be corrected or withdrawn later. Changing this setting only affects orders from then on. ::: ### Set up a dataset for each channel Meta keeps one dataset per Page, so each Facebook, Instagram or WhatsApp channel is set up separately. There is nothing to fill in: Message24 creates it using the channel connection you already have. 1. Under **Datasets**, find the channel. 2. Click **Set up**. The channel changes to **Reporting to Meta**. 3. Use **Pause** to stop reporting for a channel and **Resume** to start again. If you have no Facebook, Instagram or WhatsApp channel yet, [connect one first](/owners/channels/overview/). If setup says the channel needs reconnecting or that Meta hasn't granted permission, reconnect the channel; if it still fails, the permission may still be awaiting Meta's approval. ### Recently reported **Recently reported** lists recent orders and whether each was **sent**, **skipped**, **retrying**, **rejected** or **pending**. --- # Call center reports > Bring call records from your phone system (PBX) into Message24 and see call volume, missed calls and agent performance. Source: https://docs.message24.net/owners/integrations/call-center/ If your business answers customers by phone as well as by message, Message24 can report on those calls. Your phone system (PBX) sends Message24 a record of every call, and the **Call Center** page turns them into reports: incoming and missed calls, busy hours, caller languages, repeat callers and how each agent performs. This is available to business admins. You set it up in **Settings > Call Center Sources**. The **Call Center** reports entry appears in Settings once you have at least one source. ## Supported phone systems A source is one feed of call records. Two formats are supported: - **3CX Active Socket**: a 3CX phone system sends each call record to Message24 live, as calls finish. - **ICenter CSV**: you upload call records as a CSV file exported from your system. :::note Connecting a 3CX system also needs the Message24 listener address to point 3CX at, and your PBX's public IP address added to the source. Contact Message24 support for the address before you start. ::: ## Add a source 1. Go to **Settings > Call Center Sources** and click **New source**. 2. Fill in the form: - **Name**: for example `Main PBX`. - **Format**: **3CX Active Socket** or **ICenter CSV**. - **Timezone**: the time zone your PBX runs in. Used to read call times correctly. - **Enabled**: when ticked, Message24 accepts records for this source. 3. For a 3CX source, also fill in: - **Source CIDRs (one per line)**: the IP addresses your PBX connects from. Connections from any other address are dropped. - **3CX field template**: arrange and tick the fields so they match the order set in 3CX under **Advanced > CDR > Manage CDR output fields**. 4. Fill in the **Agent map**: one row per extension, with a **Display name**, optionally the team member it belongs to, and its kind: - **Agent (person)** - **Branch / desk phone** - **System / test** Branch and system extensions are left out of the agent rankings. You can switch to **Edit raw JSON** to paste the map in bulk. 5. Optionally fill in the **Language map**: which IVR key or destination number means Kurdish, Arabic or English, so calls can be grouped by language. 6. Click **Save**. A new 3CX source can take a few minutes before Message24 starts accepting its records. ## Upload a CSV For an **ICenter CSV** source, open the saved source and use the upload option to choose your file (up to 50 MB). Message24 reports how many records were inserted, how many were duplicates it skipped, and how many failed. Uploading the same records twice doesn't count them twice. ## The Call Center report Open **Settings > Call Center**. - Choose a period (this month by default), and filter by language, agent, or call type: **Customer calls (in + out)**, **Incoming only**, **Outgoing only** or **Internal only** (calls between agents). - The summary cards show **Total Incoming**, **Answered**, **Missed**, **Outbound**, **Median Duration** and **Unique Callers**, compared with the previous period. - **Call Trends** shows call counts or talk time by day, week or month, in total or per agent. - **Activity Heatmap** shows your busiest days and hours. - **Language Distribution** and **Duration Distribution** break calls down by language and length. - **Caller Segmentation** separates first-time, repeat and VIP callers. - **Agent Performance** lists each agent's calls, share, answered, missed, outbound, callbacks, average and total talk time. Click **Print Report** to print or save the report. ## Edit or delete a source In **Settings > Call Center Sources**, use **Edit** to change a source or **Delete** to remove it. :::danger Deleting a source also removes every call record it brought in. ::: --- # Business settings > Set your business name and currency, how the AI quotes prices and matches products, which order details to collect, and when conversations close automatically. Source: https://docs.message24.net/owners/account/business-settings/ Business settings control details that apply across all your channels: your business name and currency, a few choices about how the AI handles prices and products, the order details you collect, and auto-close for quiet conversations. Open **Settings > Business**. Only business admins can see this page. The page has three parts, each with its own save button: the business details, **Order Settings** and **Auto-Close**. ## Business details Change any of these and select **Save Changes**. ### Business Name and Currency **Business Name** is the name of your business in Message24. **Currency** is the currency your product prices are in: **IQD (Iraqi Dinar)** or **USD (US Dollar)**. ### Quote other currencies on request If customers sometimes ask for prices in another currency, add it here. Your prices stay in your main currency; the AI converts only when a customer asks for a price in the added currency. 1. Select **+ Add currency**. 2. Enter the rate as **1 [your currency] = [rate] [other currency]**, and choose the currency: USD, IQD, TRY, EUR, AED or SAR. The reverse rate is shown next to it so you can check it. 3. Under **Round quotes to**, choose how converted prices are rounded: **Smart (recommended)**, **Exact**, **Nearest 250**, **Nearest 500** or **Nearest 1,000**. An example conversion shows the effect. Select **Remove** to stop quoting a currency. ### Product search mode How the AI searches your products by default: | Option | Best for | | --- | --- | | **Hybrid (recommended)** | Most businesses. Balances exact matches with meaning, and handles large or mixed catalogs and partial or misspelled names. | | **Automatic** | The older ranking. Fine for small, tidy catalogs. | | **Smart** | Customers who describe products in their own words. | | **Exact words** | Customers who search by codes, sizes or part numbers. | ### When a customer asks for something you haven't imported The AI can only see the products you've imported. Tell it whether that is your whole range: - **Everything we sell is here**: if the AI can't find a product, it tells the customer you don't sell it and offers the closest alternative. - **We sell more than what's here**: the AI never tells a customer you don't carry something. It hands the conversation to your team instead. New businesses start on **We sell more than what's here**. Switch once your full catalog is imported. ### When a customer sends a screenshot of one of your posts Message24 matches your posts to products ahead of time, so the AI knows what a shared post or screenshot is about. Choose what to match on: - **The caption names the product**: for posts that name the product or model, such as electronics and appliances. Posts without a caption are left unlinked. - **The picture shows the product**: for photo posts with little or no caption, where customers recognise the item by sight, such as jewellery, homeware and clothing. - **Don't link automatically**: for products that look too alike to tell apart from a photo. The AI searches your catalog instead. You can always link posts by hand on the [Posts](/owners/daily/posts/) page. ### Prices for products with options How a product card shows the price of a product with several options, before the customer has picked one: - **A price range**: the cheapest and most expensive option, for example "Price: 7,000 - 12,000 IQD". - **Every option with its price**: each option on its own line. This applies to product cards sent by the AI and by your team. Once the customer picks an option, its exact price is shown either way. ## Order Settings Order settings decide which customer details an order collects, both when your team creates an order and when the AI suggests one. Select **Save Order Settings** when you're done. **Automatic Order Detection** controls how orders are detected from conversations: - **Always**: Message24 looks for orders in your conversations in the background, and the AI can suggest orders while it chats. - **AI Only**: only the AI suggests orders, while it is handling a conversation. - **Never**: no orders are created automatically. **Quick Presets** fill in the fields for a common type of business: | Preset | Fields turned on | Required | | --- | --- | --- | | **Physical Goods** | Customer Name, Phone Number, Delivery Address | Phone Number, Delivery Address | | **Digital Goods** | Customer Name, Email Address | Email Address | | **Drop Shipping** | Customer Name, Phone Number, Delivery Address, Product Link | Phone Number, Delivery Address, Product Link | You can also set each field yourself. Turn a field on with its switch, then tick **Required** if an order must include it. The fields are **Customer Name**, **Phone Number**, **Email Address**, **Delivery Address**, **Product Link**, **Payment Proof** and **Delivery Fee**. Customer Name can be turned on but not made required. See [Orders](/owners/catalog/orders/) for working with orders. ## Auto-Close Auto-close closes a conversation's session after a period with no activity, so your Inbox shows only conversations that still need attention. 1. Turn the switch to **Enabled**. 2. Set **Close after** in hours and minutes, or pick **30m**, **1h**, **3h**, **6h**, **12h** or **23h**. The minimum is 5 minutes and the maximum is 23 hours. 3. Optionally, write a **Closing message** for each language (**English**, **Arabic**, **Kurdish**). It's sent to the customer when the session auto-closes. Leave it empty to close silently. 4. Select **Save**. When a conversation auto-closes, its unread count and escalated mark are kept, unlike when someone on your team closes it. See [Close a conversation](/owners/daily/inbox/#close-a-conversation). ## Business ID The bottom of the page shows your **Business ID**, the unique identifier of your business in Message24. --- # Team and roles > Invite your team to Message24, choose between the Admin and Member roles, and control which channels each person has access to. Source: https://docs.message24.net/owners/account/team-and-roles/ Invite the people who answer your customers so they can work from the same Inbox. Each person has a role, Admin or Member, and access to a set of channels. Manage your team in **Settings > Team**. Only admins can see this page. ## Roles There are two roles: | What they can do | Admin | Member | | --- | --- | --- | | Use the Inbox and reply to customers | Yes | Yes | | Manage orders | Yes | Yes | | Use shortcuts | Yes | Yes | | See the Dashboard | Yes | No | | Create, edit and delete shortcuts | Yes | No | | View and change AI settings and the knowledge base | Yes | No | | Manage schedules | Yes | No | | Change business settings, channels, integrations and billing | Yes | No | | Invite and remove team members, and change roles | Yes | No | | View the call center reports and manage call center sources | Yes | No | Settings pages a member can't use don't appear in their **Settings** list. ## Invite a team member 1. Go to **Settings > Team**. 2. Under **Invite Team Member**, enter their email address. 3. Choose a role: **Member** or **Admin**. 4. Under **Channel access (optional)**, choose which channels they can manage. All channels are selected to start with; use **Clear** or **Select all** to change that quickly. 5. Select **Invite**. The person is added to your team straight away. They get access by signing in to Message24 with that email address, so use the address of the Google account they sign in with. :::note If you clear every channel, the member joins without channel access until you grant it. ::: ## Channel access Channel access decides which channels a team member is linked to. It also decides which notifications they get: team members only receive notifications for channels they have access to. See [Notifications](/owners/daily/notifications/). When you connect a new channel, every admin gets access to it automatically. Members need to be added. To change who has access to a channel after inviting someone: 1. Go to **Settings > Channels**. 2. On the channel, select **Manage Access**. 3. Tick the team members who should have access, then select **Save Access**. The **Team Members** list shows how many channels each person has access to, and the names of the first few. ## Change a role or remove someone In the **Team Members** list: - To change someone's role, choose **Member** or **Admin** from the dropdown next to their name. - To remove someone, select the bin icon (**Remove member**) and confirm. A business always needs at least one admin, so you can't remove the last admin or change their role to Member. You also can't remove yourself. --- # Human agents > See chat and call performance for each person on your team, for any period. Source: https://docs.message24.net/owners/account/human-agents/ The Human Agents page shows how each person on your team is doing: how many conversations they handled, how quickly they responded, and, if you use the call center integration, their calls. Open **Settings > Human Agents**. Only admins can see this page. ## Choose a period Use the period buttons at the top: **Today**, **7d**, **This month**, **30d** or **90d**, or pick exact start and end dates. The page opens on **This month**. ## The team list Each team member with activity in the period is listed with their role and three headline numbers: **Conversations**, **Calls** and **Closed**. The busiest people are at the top. People with no activity in the period are grouped under **No activity this period**. Select it to show them. Select a person to open their full profile. ## Chat metrics These come from replies your team sends by hand and the sessions they close. AI replies are not counted. | Metric | What it counts | | --- | --- | | **Conversations** | Conversations where this person sent at least one reply | | **Messages** | Replies this person sent | | **Closed** | Sessions opened in the period that this person closed | | **First response** | Median and 90th percentile time from a session opening to the first reply, for sessions this person closed | | **Resolution** | Median and 90th percentile time from a session opening to its last message, for sessions this person closed | Hover over the info icon next to any metric for its exact definition. :::tip The first response and resolution times only include sessions the person closed. Ask your team to close conversations when they are done, using **Close** in the Inbox, so these numbers reflect their work. See [Close a conversation](/owners/daily/inbox/#close-a-conversation). ::: ## Call metrics If your business sends phone system call records to Message24, each profile also shows **Calls**, **Answered**, **Missed**, **Outbound**, **Callbacks**, **Avg call** and **Total talk**. Calls are matched to a person through their phone extension. If a person has no extension mapped, their profile says so and links to the call center source settings where you can map it. **Unmapped extensions** at the bottom of the page lists extensions that took calls in the period but aren't linked to anyone. Their calls don't appear in any profile until you map them. See [Call center](/owners/integrations/call-center/) to set up call records. ## Related The [Dashboard](/owners/daily/dashboard/) has an **Agent Performance** table with the chat metrics for everyone at once, next to the AI's numbers. --- # Billing > How Message24 charges for active conversations, how to check your balance, and how to top up with First Iraqi Bank. Source: https://docs.message24.net/owners/account/billing/ Message24 is prepaid. You add balance to your business, and Message24 deducts a small amount for each conversation that is active in a month. Check your balance and add credits in **Settings > Billing**. Only admins can see this page. ## How charges work You are charged per active conversation, shown on the Billing page as a MAC (monthly active conversation): - A conversation becomes a charge the first time it is active in a calendar month: when a customer message arrives, when your team replies, or when the AI replies. - Each conversation is charged once per month, no matter how many messages it has. If the same customer writes again next month, it is charged again next month. - Only conversations where the customer has written to you count. - The price per conversation is shown on the Billing page as **Rate per MAC**. :::caution When your balance can't cover a new conversation's charge, the AI stops replying to it and your team can't send replies from Message24 until you add credits. Customer messages still arrive in your Inbox. Conversations already charged this month are not affected. ::: ## Your balance and usage The Billing page shows: - **Current Balance**. It turns red with a **Low Balance** warning when it drops below $5.00. - **This Month's Usage**: **Active Conversations** (the MACs charged this billing period), **Spent This Month** and **Rate per MAC**. - **Spending History**: conversations charged and amount spent for each month. ## Add credits with First Iraqi Bank If **Add Credits** appears on your Billing page, you can top up yourself with First Iraqi Bank (FIB): 1. Choose an amount: **$10.00**, **$25.00**, **$50.00** or **$100.00**, or type a custom amount under **Or enter a custom amount**. The minimum is $1. 2. Select **Continue to payment**. 3. The payment window shows the **Amount to pay**. If you pay in another currency, it shows that amount and how much will be added to your balance. 4. Pay with FIB in one of these ways: - Scan the QR code with the FIB app. - Select the payment code under the QR code to copy it. - On your phone, select **Personal** or **Business** under **Or pay with FIB app** to open the app directly. 5. Keep the window open. It shows **Waiting for payment...** and changes to **Payment received** as soon as FIB confirms. Your balance updates automatically. Each payment code is valid for a limited time, shown as a countdown. If it runs out, you'll see **This payment code has expired**. Select **Close** and start again. :::note If **Add Credits** doesn't appear, or you prefer another payment method, contact Message24 on WhatsApp using the button under **Need to Add Credits?** on the Billing page. ::: ## Invoices Every top-up is listed under **Top-up history** with its date, invoice number and amount. Select the download icon to open the invoice as a PDF. When a top-up is credited, a receipt with the invoice attached is emailed to the person who made the payment and to the business's admins. --- # Your account > See your personal account details, change the language of the app, and delete your account. Source: https://docs.message24.net/owners/account/account/ Your account is personal to you, separate from the businesses you belong to. Every team member can open **Settings > Account**. ## Profile details The **Account Settings** page shows your **Name**, **Email** and **Phone Number**. You can't edit them here: - Your name and email come from your Google account. To change them, update your Google account settings. - Your phone number is the one you entered when you first signed up. ## Change the language Message24 is available in English, Arabic and Kurdish. Arabic and Kurdish display right to left. 1. Select your initial in the top-right corner of the web app. 2. Select the language button, which shows the current language. 3. Choose **English**, **Arabic** or **Kurdish**. The change applies straight away and is remembered in this browser. In the [mobile app](/owners/daily/mobile-app/), change the language under **Settings** in the app. This changes the language of Message24 itself for you. It doesn't change the language the AI uses with customers, which follows the language each customer writes in. ## Sign out Select your initial in the top-right corner, then **Logout**. ## Delete your account :::danger Deleting your account permanently deletes your account, all your messages, and any businesses where you are the only administrator. This can't be undone. ::: If other people need to keep using a business, make one of them an admin first. See [Team and roles](/owners/account/team-and-roles/). 1. Go to **Settings > Account**. 2. Under **Delete Account**, select **Delete Account**. 3. Type your email address, or `DELETE`, to confirm. 4. Select **Delete My Account**. You are signed out once the account is deleted. --- # Website chat for developers > How the Message24 website chat widget works, what the channel key is, and how allowed origins protect a channel. Source: https://docs.message24.net/developers/website-chat/overview/ The website chat widget puts a chat bubble on your site. Visitors' messages land in the business's Message24 inbox next to Instagram, WhatsApp and the other channels, and replies from the team or the AI agent appear in the widget in real time. This section covers embedding the widget, configuring it from your page, and building your own chat client on the same HTTP API. If you are the business owner setting up the channel, start with [Website chat](/owners/channels/website-chat/) instead. ## How it works 1. A business admin creates a Web Chat channel in Message24. The channel gets a **channel key** and an embed snippet. 2. You add the snippet to your site. It loads `https://message24.net/widget.js`, which reads `data-channel-key` from its own ` ``` That is all that is required. The widget mounts once the DOM is ready, whether the script loads early or late. To pass visitor details or page data, define `window.__m24` in a script that runs **before** the widget script: ```html ``` See [Configure the widget from your page](/developers/website-chat/javascript-api/) for every field. ### Rules for the script tag - **Load it from `https://message24.net/widget.js`.** The widget sends its API requests to the origin its script was loaded from. A copy of `widget.js` served from your own domain would send them to your domain instead. The file is served with no-cache headers, so you always get the current version. - **Keep `data-channel-key` on the tag itself.** The widget finds its configuration by reading that attribute from the running script, or from the first `script[data-channel-key]` on the page. - **Loading it twice is harmless.** If `#m24-widget-root` already exists, the second copy does nothing. ## React Load the widget once from your app shell. Mounting it in a component that re-renders or unmounts on navigation gains nothing: the widget attaches itself to `` and lives for the whole page. ```jsx import { useEffect } from "react"; export default function App() { useEffect(() => { window.__m24 = window.__m24 || {}; window.__m24.visitor = { name: currentUser?.name ?? "", phone: currentUser?.phone ?? "" }; if (document.getElementById("m24-widget-script")) return; const s = document.createElement("script"); s.id = "m24-widget-script"; s.src = "https://message24.net/widget.js"; s.async = true; s.dataset.channelKey = "YOUR_CHANNEL_KEY"; document.body.appendChild(s); }, []); return ; } ``` :::note The widget has no teardown method. Removing `#m24-widget-root` hides the bubble, but its polling keeps running until the page reloads. Load it once and leave it in place. ::: ## Next.js Use a client component that sets `window.__m24` and injects the script, and render it from your root layout. The example uses the App Router; with the Pages Router, render the same component from `pages/_app.tsx`. ```tsx // app/chat-widget.tsx "use client"; import { useEffect } from "react"; export default function ChatWidget({ channelKey }: { channelKey: string }) { useEffect(() => { const w = window as any; w.__m24 = w.__m24 || {}; if (document.getElementById("m24-widget-script")) return; const s = document.createElement("script"); s.id = "m24-widget-script"; s.src = "https://message24.net/widget.js"; s.async = true; s.dataset.channelKey = channelKey; document.body.appendChild(s); }, [channelKey]); return null; } ``` ```tsx // app/layout.tsx import ChatWidget from "./chat-widget"; export default function RootLayout({ children }: { children: React.ReactNode }) { return ( {children} ); } ``` A product page can then publish its data: ```tsx "use client"; import { useEffect } from "react"; export function ProductContext({ product }: { product: { id: string; name: string; price: number } }) { useEffect(() => { const w = window as any; w.__m24 = w.__m24 || {}; w.__m24.pageData = { productId: product.id, name: product.name, price: product.price, pageType: "product" }; // Clear it when the visitor navigates away. return () => { w.__m24.pageData = undefined; }; }, [product]); return null; } ``` Clearing the data in the effect's cleanup means it is removed before the next page renders, so a visitor who moves from one product to another never sends the old product's data. ## Single-page apps and route changes The widget stays mounted across client-side navigation and keeps the same conversation. You do not need to reload or re-inject it. Page context is read at the moment the visitor sends a message: - `url` is `location.pathname` at send time, so it follows your router automatically. - `title` is `document.title` at send time. - `data` is `window.__m24.pageData` at send time. So the only thing to do on a route change is keep `window.__m24.pageData` accurate: set it when a page with meaningful data renders, and clear it when the visitor leaves. Stale page data tells the AI agent the visitor is looking at a product they have already left. ## Logging a user out The conversation belongs to a visitor ID stored in the browser's `localStorage` under `m24_visitor_id`. If several people share a browser, for example a user logs out and another logs in, remove that key and reload so the next person starts a fresh conversation: ```js localStorage.removeItem("m24_visitor_id"); location.reload(); ``` ## Content Security Policy If your site sends a `Content-Security-Policy` header, allow: - `script-src https://message24.net` for `widget.js`. - `connect-src https://message24.net` for the API calls and the event stream. - `style-src 'unsafe-inline'`, because the widget injects its own `