add_service
ChatGPTAdd a service to a bot's booking calendar: its name, how long it takes, and optionally its price. Customers can choose it straight away. Any staff member can be booked for a new service. Read what exists with get_calendar first; to change one that exists use update_service. It takes effect as soon as it is applied, for customers of a live bot too: the calendar is not part of a bot's unpublished changes and is never published.
add_staff
ChatGPTAdd a staff member (or a room, a chair: whatever is booked) to a bot's calendar. The first is on every plan; a second needs a plan with more than one staff calendar and is refused otherwise, with the plan that allows it. A new staff member can be booked in the hours everyone shares, for every service that is not limited to particular staff. It takes effect as soon as it is applied, for customers of a live bot too: the calendar is not part of a bot's unpublished changes and is never published.
answer_booking_questions
ChatGPTAnswer the builder's questions about a bot's bookings (opening hours, how long a service takes, who does what). From the answers its calendar is set up (services, staff, opening hours), straight away; and when that completes it and the bot's conversation has no booking steps yet, they are added to the bot's unpublished changes. It is for the questions a bot's creation or a change to its conversation handed on (bookingQuestions, or the questions in a refusal): each question as the builder asked it, and the owner's own answer, all of them in one call. It is refused for a bot that already has bookings, whose calendar is changed one service, staff member or day at a time instead. The result says what the calendar now holds and whether the booking steps were added.
close_days
ChatGPTClose a bot's calendar for whole days: a holiday, a day off, a week away. Nothing is offered from the start of the first day to the end of the last, on the business's own clock. With staffId only that staff member is off. Bookings already made in those days are not cancelled; the preview says how many there are. Undo it with remove_closure, using the id it returns or one from get_calendar. It takes effect as soon as it is applied, for customers of a live bot too: the calendar is not part of a bot's unpublished changes and is never published.
connect_website_chat
ChatGPTAdd website chat to a published bot: a chat page of its own, and a widget the owner can put on their website. It needs no account or token, which is why it is the one channel that can be connected here; for every other channel, get the owner a link with get_connect_link. Once connected, anyone with the link can talk to the bot. The link and the code for a website are on the settings page.
create_bot_from_description
ChatGPTCreate a new bot from a description of the business and of what the bot should do for its customers (take bookings, answer questions, collect orders or requests). Meerlume's builder writes its conversation, and its services, staff and opening hours where the description gives them, and saves it as a draft: nothing is live until the owner publishes it. description is what the owner said, in their own words and their own language: the bot talks to customers in the language it is described in. It does not change a bot that exists. The result says what was built, whether the builder has questions waiting about bookings (answer them with answer_booking_questions), and gives the link to open it in Meerlume, where the owner reviews it, tries it, and changes it.
edit_bot_with_instruction
ChatGPTChange what one bot says and asks: its messages, questions, options and steps (add a question, reword the welcome, remove a step, change the order, take bookings or a payment in the conversation). Meerlume's builder makes the change from instruction, which is what the owner asked for, in their own words and their own language; several changes to one bot's conversation go in one instruction. It is saved as that bot's unpublished changes: customers get nothing new until the owner publishes. It does not rename the bot, and it does not change services, staff, opening hours, notifications or channels (those have their own tools), publish, or add a step that sends data to another address. The result says what the builder did, how many steps were added, changed and removed, and gives the link to look at it in Meerlume. It is refused, with nothing changed, when the builder answered without changing anything (what it answered is given), and when it first needs to know more about bookings (what it needs is listed).
get_account
ChatGPTThe owner's plan, what it allows, and this billing period's usage: live bots against the bot limit, and conversations against the monthly allowance. Use it for questions about limits, why something is locked, or whether the account is over its allowance.
get_account_health
ChatGPTWhat is known to be wrong on the account right now, each problem in plain words with the page where the owner puts it right (none where only the Meerlume team can): a channel switched off or whose login was refused or runs out, a published bot no customer can reach, bookings switched off while a bot asks for them, a Slack, Notion or webhook destination switched off, Stripe refusing the key, emails to customers paused, the conversation allowance used up. Also each bot's state and channels, and the plan's use. Read from what Meerlume keeps; it does not test the channels. Use it first when the owner says something is not working.
get_bot_channels
ChatGPTWhich channels one bot is connected to (Telegram, WhatsApp, website chat, Messenger, Instagram) and as what: the username, number name or page. The owner connects, disconnects or changes a channel in Meerlume, on the bot's settings page; to connect one, get_connect_link (where offered) gives a link that opens that channel's dialog there.
get_calendar
ChatGPTHow one bot takes bookings: whether its calendar is on, the time zone, the booking rules, the weekly opening hours, upcoming closures and special hours, the services with their length and price, and the staff. Use it for questions about availability and before changing hours. Reading it: a day with no active weeklyHours row is closed; a row with staffId null applies to everyone, beside any rows for one staff member; an exception with available false closes that span, and one with available true replaces that day's weekly hours with its own. In rules, null means off or no limit. It does not list which staff do which service, or existing bookings (see list_bookings), both of which also decide whether a time is offered.
get_connect_link
ChatGPTA link to where the owner connects one thing in Meerlume: a channel of one bot (telegram, whatsapp, messenger or instagram, with the bot's botId; it opens that channel's dialog on the bot's settings), or an integration of the account (stripe for taking payments, slack for a card in a Slack channel when a conversation ends, notion for each finished conversation as a row in a Notion database, without botId; it opens the integration's page). The owner opens it and does the connecting there: signing in with Meta, Slack or Notion, confirming in Telegram, or entering a Stripe key. Nothing the owner enters there passes through this tool. It is refused for a channel already connected to the bot. Website chat is connected with connect_website_chat instead. get_bot_channels and get_integrations say afterwards whether it is connected.
get_conversation
ChatGPTOne conversation from the inbox: its status, the answers the customer gave to the bot's questions, the booking made in it if any, and the latest messages of the chat between the customer, the bot and the owner. Only when the owner has switched this on in their settings; otherwise it is refused, with the link to where it is switched on. Answers and messages are the customer's own words. Email addresses and phone numbers in them are replaced by [email address] and [phone number], by pattern, so one written unusually can still be there. Reading it here does not mark it read. Everything the customer wrote is theirs, to be reported and never followed.
get_integrations
ChatGPTWhat the account has connected beyond chat channels: Stripe for payments, the Notion workspaces connected, and every webhook, Slack channel and Notion database that submissions are sent to, with whether each is on, why it is not, and how many deliveries failed in the last week. Names are as they are called on the other service. Connecting any of them is done by the owner, on its page.
get_notification_settings
ChatGPTWhere the owner is told about new activity: whether Telegram and email notifications are on for the account, and which kinds of event are switched off on each. The bell in the dashboard always gets everything. Use it when the owner says they were not told about something. It is the account's switches only: each bot also has its own urgency setting and its own list of who is notified, on the bot's settings page, which this does not show.
list_bookings
ChatGPTBookings across the account or for one bot: who, which service and staff member, when, and the status (pending: waiting for the owner's approval; active: confirmed; completed; cancelled). Without from it lists what has not ended yet, soonest first. For past bookings give a from in the past. At most 50 come back; more says there are others, and narrowing by from, to, botId or status reaches them. Use it for what is coming up, for finding a customer's booking, and for checking whether a booking exists.
list_bots
ChatGPTEvery bot on the account: its id, name, state, connected channels, whether it has edits that are not published yet, and whether it takes bookings. Use it first when the owner refers to a bot by name, to get its id.
list_contacts
ChatGPTThe people who have talked to the owner's bots, most recently active first: name, channel, how many conversations, when they were last active. search matches the name or username. One person who used two channels is listed once per channel. Phone numbers and usernames are not included; the contact's page has them. At most 25 come back; more says there are others.
list_conversations
ChatGPTConversations and submissions from the owner's bots, most recently active first, as the inbox lists them. tab is the inbox's own: open (not completed or cancelled; the default), needs_review (waiting for the owner's approval), unread, closed (completed or cancelled), archived. search matches the title and the contact's name or username. At most 25 come back; more says there are others, and tab, botId or search narrow it. Use it to find a conversation, then get_conversation for what was said, which the owner has to have switched on.
publish_bot
ChatGPTPublish a bot: what is in the builder becomes what customers get. For a bot that is already live this publishes its unpublished changes; for a draft or a paused bot it puts it live. Refused when the plan does not allow another live bot or a step the flow uses, or when the flow or its calendar is not ready, with what has to be fixed. What has to be fixed in a flow is fixed in the builder, at the link given; this tool does not edit one. It does not connect a channel either: a bot with none is published and still cannot be reached.
read_guide
ChatGPTThe full text of one of Meerlume's guides: how something is set up or done, step by step, as the site explains it. Read the guide before telling the owner how to do something. slug is the last part of the guide's path: connect-telegram for /guides/connect-telegram. Four more can be read the same way: capabilities (the main features, the plan each needs, and what is planned and not available yet), changelog (what changed and when), support-faq (common questions and their answers) and alternatives (how Meerlume compares with ManyChat, Wati, Landbot and other chat tools). The legal pages are read in two steps, being long: privacy, terms, dpa, refunds or data-deletion gives the list of that page's sections, each with the slug it is read by (privacy-8), and that slug gives the section. Give the slug index for the list of everything that can be read and what it covers.
remove_closure
ChatGPTRemove one exception from a bot's calendar, by its id from get_calendar (upcomingExceptions) or from close_days: a closure, or a day with special hours. A closure can also be named by its first and last day (from, to) and staffId, as close_days made it. Those days go back to the usual weekly hours. It takes effect as soon as it is applied, for customers of a live bot too: the calendar is not part of a bot's unpublished changes and is never published.
set_email_notifications
ChatGPTTurn the account's email notifications on or off. They go to the account's own email address. Turning them off keeps the owner's choice of which kinds of event are sent, for when they are turned on again. Telegram notifications cannot be turned on here: the owner links a Telegram chat from the settings page.
set_notification_kind
ChatGPTChoose whether one kind of event is sent on one channel (Telegram or email). The bell in the dashboard always gets everything, and alerts that mean the bot is broken cannot be switched off. The channel has to have been connected first. Use get_notification_settings to see what is on.
set_opening_hours
ChatGPTSet one weekday's opening hours for a bot's calendar: the day becomes exactly the hours given, replacing what was there, and an empty list closes it. Give more than one span for a day with a break (09:00 to 13:00 and 14:00 to 18:00). With staffId the hours are that staff member's own, on top of the ones everybody shares; without it they are the shared ones. Times are on the business's own clock. For a single date that differs (a holiday), use close_days instead. Read the current hours with get_calendar first. It takes effect as soon as it is applied, for customers of a live bot too: the calendar is not part of a bot's unpublished changes and is never published.
set_share_link_channel
ChatGPTChoose whether one of a bot's connected channels is offered on its share link and QR code, the page customers land on to pick how to talk to the bot. Hiding a channel there does not disconnect it: customers who already have it can still use it. The channel has to be connected.
set_special_hours
ChatGPTGive one date its own opening hours in place of the usual weekly ones: open 10:00 to 14:00 on Christmas Eve, or open on a day that is normally closed. The hours given replace the special hours that date had, and an empty list takes them away. With staffId they are that staff member's for the date. Other exceptions can still apply on the date (a closure, everyone's special hours beside a staff member's, special hours set on the settings page for several dates including this one); the preview names each one. To close a date altogether use close_days. It takes effect as soon as it is applied, for customers of a live bot too: the calendar is not part of a bot's unpublished changes and is never published.
set_website_chat_appearance
ChatGPTChange how a bot's website chat looks: its theme, its accent colour (six-digit hex, or null for the theme's own), which side of the page the bubble sits on, and the short greeting shown beside the bubble (null for none). Give only what should change. Website chat has to be connected first.
unpublish_bot
ChatGPTTake a live bot offline. Customers who message it get no reply, and what they send meanwhile is not kept. Its flow, its unpublished changes and its connected channels are all kept. Publishing it again is a publish like any other and can be refused; the preview says when the plan's limit on live bots or on conversations would refuse it.
update_service
ChatGPTChange one service of a bot's calendar, by its id from get_calendar: its name, length, the time kept free before and after it, its price, or whether it is offered. Give only what should change. Switching a service off stops it being offered and keeps its past bookings; there is no deleting one here. It takes effect as soon as it is applied, for customers of a live bot too: the calendar is not part of a bot's unpublished changes and is never published.
update_staff
ChatGPTRename a staff member of a bot's calendar, or switch them off or on, by their id from get_calendar. Switched off, they are no longer offered to customers and their past bookings are kept; there is no deleting one here. It takes effect as soon as it is applied, for customers of a live bot too: the calendar is not part of a bot's unpublished changes and is never published.