WhatsApp Business messaging, live chat, chatbots, campaigns and CRM for a LetsBot workspace.
Connect Remote server
claude mcp add --transport http mcp https://letsbot.net/mcp
{
"mcpServers": {
"mcp": {
"url": "https://letsbot.net/mcp"
}
}
}
{
"servers": {
"mcp": {
"type": "http",
"url": "https://letsbot.net/mcp"
}
}
}
Settings > Connectors > Add custom connector
URL: https://letsbot.net/mcp
Tools 80 found in our last check
send_text_messageSend a text message to a contact on any connected platform: a WhatsApp number (international format without +, e.g. 201234567890), or the `phone` / `chat_id` of a website chat, Messenger, Instagram, Telegram, X or SMS contact exactly as get_conversations_awaiting_reply or get_co…
send_imageSend an image to a WhatsApp number with an optional caption.
send_videoSend a video to a WhatsApp number with an optional caption.
send_audioSend an audio file or voice note to a WhatsApp number.
send_fileSend a document/file to a WhatsApp number. `file_url` must be a DIRECT url to the file itself. If you generated the file yourself, or it is not already at a direct public url, call upload_file first (it takes the bytes as base64 and returns a url plus the filename to pass here).…
send_locationSend a location to a WhatsApp number.
send_contact_cardSend a contact card (vCard) to a WhatsApp number.
send_templateSend a WhatsApp-approved message template to a number. Templates are required for sending messages outside the 24-hour window.
send_buttonsSend an interactive message with buttons to a WhatsApp number. Maximum 3 buttons.
send_listSend an interactive list/menu message to a WhatsApp number.
send_carouselSend a carousel of cards (title, subtitle, image, up to 3 buttons each; max 10 cards) to a Messenger or Instagram contact. Provide the recipient PSID/IGSID and platform.
reply_to_messageReply to a specific message in a conversation on any connected platform (WhatsApp, website chat, Messenger, Instagram, Telegram, …). Also replies inside a WhatsApp group when "phone" is the group's chat_id from get_groups (QR-connected numbers only), optionally tagging members w…
send_reactionAdd an emoji reaction to a message in a WhatsApp conversation.
forward_messageForward a message from one WhatsApp chat to another.
upload_filePut a file into LetsBot storage and get back a direct https url plus the filename to pass to send_file / send_group_file / send_image / send_video / send_audio. Two ways in — pass exactly one: `source_url` when the file is already online (a public link, including a Google Drive…
get_contactsGet a paginated list of WhatsApp contacts with optional search and filter.
get_contactGet detailed information about a specific WhatsApp contact including labels, moderators, last message, and the workspace's contact custom fields (custom_fields: every available field with its key, label, type, current value — null when empty — and allowed options for select fiel…
create_contactCreate a new WhatsApp contact in the system. Optionally set the workspace's contact custom fields in the same call (custom_fields: key → value).
update_contactUpdate a contact's information: name, email, city, country, and the workspace's own contact custom fields (custom_fields: key → value, null clears). Call get_contact first to see which custom field keys exist, their types and allowed options. Only the fields you pass are changed.
get_my_chatsGet the chats assigned to the person this connection acts as. A workspace-level connection (API key) gets every assigned chat.
get_conversations_awaiting_replyList conversations where the customer wrote last and nobody has replied yet, newest first. This is a backlog of work outstanding, NOT a read/unread state: it is derived from who spoke last, so it clears when a reply is sent from any device and returns if the customer writes agai…
pin_contactPin or unpin a contact chat so it stays at the top of the list.
archive_contactArchive or unarchive a contact chat.
block_contactBlock or unblock a WhatsApp contact.
delete_contactPermanently delete one contact (a one-to-one chat) together with its whole conversation: every message and media file is erased shortly after, and this cannot be undone. Same as Delete on the contact in the LetsBot panel. Requires confirm: call with confirm=false first to get a…
assign_labelAssign or remove a label from a contact. Toggles the label — if already assigned it will be removed, if not assigned it will be added.
assign_moderatorAssign a team member (moderator) to a conversation, or remove them from it. Pass action=assign or action=unassign to say which; without action the call toggles (adds if absent, removes if present). The assigned member is notified. To move many conversations from one member to an…
reassign_conversationsMove conversations from one team member to another in one step — e.g. "move Ahmed's waiting chats to Mona". By default only the conversations awaiting a reply (the customer wrote last) move; use scope=all for every open conversation the member holds, or waiting_longer_than_minut…
get_assignment_rulesRead how new conversations are automatically given to team members (operators): the assignment mode (off / round robin / least open), which team receives them, whether only available operators count, the per-operator cap, reassigning a conversation when its operator does not rep…
update_assignment_rulesChange how new conversations are automatically given to team members. Pass ONLY the settings to change; everything else stays as it is. Call get_assignment_rules first to see the current values, the teams and the operators you can use. Examples: turn it on with mode="round_robin…
add_noteAdd an internal note to a conversation — visible only to the merchant's team in the LetsBot inbox, never sent to the customer. Use it to leave context for colleagues (e.g. "customer wants a refund, waiting for the warehouse"). A note does not count as a reply to the customer. To…
get_account_overviewSummarise this LetsBot workspace's account in one call: (1) subscription — current plan, billing period, start and end/renewal date, status, whether it renews automatically and the next automatic charge, trial state and days left, any temporary plan boost, the line items and the…
get_owner_briefingA short briefing of what needs the owner's attention in this LetsBot workspace right now, in one call: conversations where a customer is still waiting for a reply (how many, how long the oldest has waited, and the first few names), customer messages and new contacts in the last…
get_reportRead one tab of the LetsBot Reports page for a period: KPI cards with the change vs the previous period, the main chart (labels + series), the table rows (max 100) and footnotes. Tabs: conversations (opened/closed/open), responses (reply speed), resolutions, messages (inbound/ou…
list_whatsapp_templatesList the WhatsApp message templates (Meta-approved message formats) of this workspace: name, exact language code, category (MARKETING / UTILITY / AUTHENTICATION), Meta review status and the rejection reason when Meta gave one, body text, header type, and the placeholders each te…
create_whatsapp_templateCreate a new WhatsApp message template and submit it to Meta for review (Official WhatsApp / Cloud API workspaces only). A template is the only way to start a conversation or message a customer outside the 24-hour reply window; once Meta APPROVES it, send it with send_template.…
list_scheduled_activityList messages that are still waiting to go out to customers: pending store notifications from Salla, Zid and WooCommerce (order updates, abandoned-cart reminders, …) and the outgoing WhatsApp send queue (including failed sends that would be re-sent when the number reconnects). U…
cancel_scheduled_activityStop messages that are still waiting to be sent (as listed by list_scheduled_activity): either ONE row (pass source + source_id; it is cancelled immediately — stopping a send needs no approval) or ALL rows matching optional filters (pass all=true; this needs the user's confirmat…
get_messagesGet messages from a WhatsApp conversation. Returns the most recent messages paginated.
get_message_statusCheck what WhatsApp actually did with messages you already sent — delivered, read, still pending, or FAILED with Meta's own reason. A send tool returning status "sent" only means Meta accepted the message; Meta can still refuse to deliver it seconds later, and this tool is the o…
search_messagesSearch messages across all conversations (individual chats and groups), or within one specific contact chat or group.
mark_as_readMark a conversation as opened in the LetsBot inbox, and send a read receipt to the customer on channels that support one. This affects inbox read state ONLY. It does NOT clear the conversation from get_conversations_awaiting_reply — only sending a reply does that — so do not cal…
get_groupsGet a paginated list of WhatsApp group conversations. Read-only: listing groups never marks anything as read. Counts report what has not been opened in the LetsBot inbox, which is not the same as what the merchant has seen on their own phone. Use get_group_messages to read a gro…
get_group_messagesGet messages from a WhatsApp group conversation, newest first, with the sender of each message. Read-only: reading a group NEVER marks its messages as read and sends no read receipts. Use get_groups to list groups and their ids.
send_group_messageSend one real WhatsApp text message from the workspace's WhatsApp number into one WhatsApp group, after the user confirms. Every member of that group (real people outside LetsBot) receives it, and a sent message cannot be recalled or edited. Works on a number connected to LetsBo…
send_group_fileSend one real file — a document such as a PDF, an image, or a video — from the workspace's WhatsApp number into one WhatsApp group, after the user confirms. Every member of that group receives it and it cannot be recalled. `file_url` must be a DIRECT url to the file: if the file…
get_labelsGet all labels/tags available in the account. Labels are used to categorize and organize contacts.
create_labelCreate a new label/tag for organizing contacts.
get_label_contactsGet all contacts that are assigned to a specific label.
get_moderatorsGet all moderators/agents available in the account. Moderators are team members who can handle conversations.
get_quick_repliesGet all quick replies/canned responses available. Quick replies are pre-written message templates that can be sent quickly.
create_quick_replyCreate a new quick reply/canned response. Quick replies let agents send pre-written messages instantly.
update_quick_replyUpdate an existing quick reply/canned response by ID. Only the provided fields change; everything else stays as it was. Run get_quick_replies first to find the quick reply ID.
delete_quick_replyDelete a quick reply (canned response) by ID. Run get_quick_replies first to find the ID. To only hide it, use update_quick_reply with status=false instead.
update_labelRename or recolour an existing contact label by ID. Only the fields you pass change. Run get_labels first to find the ID. Contacts keep the label; they just show the new name/colour.
delete_labelDelete a contact label by ID. The label is removed from every contact that has it and from the inbox filters; the contacts themselves are not touched. Run get_labels first to find the ID.
ai_suggest_replyReturn the recent conversation and contact context so the assistant can draft suggested replies. The assistant generates the reply suggestions from the returned context (nothing is sent).
ai_summarize_conversationReturn the recent conversation history with a contact so the assistant can summarize it (key topics, issues, and outcomes). The assistant writes the summary from the returned messages.
ai_analyze_contactReturn a contact profile and recent conversation sample so the assistant can analyze the customer (engagement level, interests, recommendations). The assistant performs the analysis on the returned data.
ai_improve_messageReturn a draft message together with the desired tone and context so the assistant can rewrite it (grammar, tone, clarity) while keeping the original intent. The assistant produces the improved version.
ai_translate_messageReturn a message together with the requested target language so the assistant can translate it. The assistant produces the translation.
ai_sentiment_analysisReturn the customer messages of a conversation so the assistant can analyze sentiment (positive, negative, or neutral) and emotional indicators. The assistant performs the sentiment analysis on the returned messages.
ai_dashboard_summaryReturn key dashboard metrics (contact counts, conversations awaiting a reply, active moderators, today's activity, recent contacts) plus guidance so the assistant can write an interpreted summary. The tool itself only computes the counts. It reports no read/unread state: nothing…
get_order_statusGet the status and details of an e-commerce order. Supports Salla and Zid platforms, and any other connected store that can look orders up (odoo, shopify, woocommerce). Orders are synced from the connected store.
search_productsSearch for products in the connected e-commerce store. Searches by name in Salla and Zid product catalogs, and in every other connected store (odoo, shopify, woocommerce) by name, SKU or barcode.
get_abandoned_cartsGet abandoned carts from the connected store (Salla, Zid, Shopify, WooCommerce or Magento) for the last N days, with a recovery summary: how many carts were abandoned and are still open, how many were recovered (bought later), how many of those were recovered after a WhatsApp re…
list_store_automationsList every automatic WhatsApp message this workspace sends to its store customers, and whether each one is ON or OFF: order/store event notifications (kind notification_template — e.g. order created, shipped, delivered, per store platform), abandoned-cart reminders (kind cart_re…
set_store_automation_activeTurn ONE automatic store message on or off — an order/store notification, an abandoned-cart reminder or an automation reminder — exactly like its toggle in the LetsBot panel. Get kind + id from list_store_automations first. Turning it ON makes LetsBot message the merchant's cust…
create_campaignCreate a new bulk message campaign to send messages to multiple contacts. Messages can be targeted by label. Campaign will be scheduled and processed by the queue.
get_campaignsGet a list of bulk message campaigns. Shows campaign status, delivery stats, and scheduling info.
get_campaign_statusGet detailed status of a specific bulk message campaign including per-contact delivery statistics.
cancel_campaignStop a bulk message campaign that is scheduled or sending right now. Recipients not reached yet will not get the message; those already sent are unaffected. Use it immediately when the merchant says a campaign is wrong or must stop. The campaign can be resumed later from the Let…
resume_campaignResume a bulk campaign that was stopped (cancel_campaign / Cancel in the panel), finished with recipients left unsent, stopped because its template header file was missing, or paused because the plan's monthly message limit was used up (resume it after the plan is upgraded). Sen…
resend_campaignSend a bulk campaign again to the recipients whose message is stuck at "sent" — WhatsApp accepted it but it was never confirmed delivered (phone offline, number inactive). Delivered and read recipients are NOT messaged again. Recipients who never got it yet are included. Real Wh…
get_bot_statusGet the current bot status and settings. Shows whether the bot is active, AI mode, default reply settings, and match percentage.
toggle_botToggle the bot on or off for a specific contact. When bot is disabled for a contact, automated replies will not be sent.
get_bot_conversationsGet all bot auto-reply conversations/rules. Shows configured triggers and their responses.
create_simple_conversationCreate a simple bot auto-reply rule. When a customer sends a message matching the trigger keyword, the bot replies with the specified text. With "ask_contact" the reply asks for the customer's phone number or e-mail with a one-tap Messenger button (text only on other channels);…
create_interactive_conversationCreate an interactive bot conversation with buttons. When triggered, shows a message with clickable button options that lead to different responses.
update_bot_conversationUpdate an existing bot auto-reply rule by ID. Only the provided fields change; everything else stays as it was. "channels" limits the rule to some channels ([] = every channel). Run get_bot_conversations first to find the conversation ID.
Details
| Endpoint | https://letsbot.net/mcp (Streamable HTTP) |
| First published | 31 Oct 2026 |
| Last updated | 31 Oct 2026 |
| Registry name | net.letsbot/mcp |
More communication servers See all
Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.
