Messages, quick replies and auto replies in Multi Messenger CRM
Multi Messenger CRMMessages stores text and HTTP request templates. Use it to configure operator quick replies and rules that automatically respond to incoming messages. The same templates are chosen as campaign texts in Sending & warm-up.
Template names, customer names and numbers in the videos are sample values.
Step by step
Messages and auto-replies: step-by-step guide
The guide has 4 parts. Parts 1–3 are enough for an ordinary auto-reply; part 4 is for developers. Steps are numbered within each part: step 2.5 is the fifth step of part 2. Each step is shown in a short video of the real program interface. The video starts by itself when the step appears on screen. Click a video to open it large.
Part 1 of 4
1The Messages section
This section stores reply templates. A template goes to the customer by itself when they write a matching phrase (auto-reply), or when you click it in a chat (quick reply). The same templates are picked as campaign texts.
Open “Messages”
In the left panel, click “Messages”. One table row is one template: the name and the start of the text, “incoming regex” (which messages to answer), “Usage”, “type” and the “on” switch.
In the Usage column: quick reply — a button in the chat; auto-reply — the program replies by itself; requires confirmation — the reply is not sent by itself.
The templates in the video are examples. The first time you open it the table is empty: “No messages”.
Turn auto-replies on
Click the master switch in the top right (hint “Auto-replies: enable/disable all”). It turns all auto-replies on or off at once. When it is off, the table dims and the program does not reply to anything by itself.
Quick reply buttons in chats work either way.
Disable a template without deleting it
Click the switch in the template's row. The template stays in the table but does not reply by itself and is not shown as a button in chats. Click again to turn it back on.
This is the same as the “Enabled” checkbox in the template window.
Drag a row up or down
For each incoming message the program checks templates from top to bottom and sends the reply of the first match. The rest are not checked. So put narrow rules above general ones.
Take a row by the dotted handle on the left and drag it. The order is saved at once.
If a template matches but no reply comes out (for example, the HTTP service did not answer), the program checks the next one.
Part 2 of 4
2Creating the “Order number” template
Goal: a customer writes “Order 58321” and the program replies at once: “Thank you! Checking order #58321…”. The number is filled in automatically. At the end: editing, deleting, export and import.
Click “+”
The “+” button in the top right (“Add message”) opens the “New message” window. “Enabled” and “Quick reply” are already ticked there.
Type a name
In “Name”, type
Order number. Only you and your managers see the name: it labels the table row and the chat button. The customer never receives it.A template without a name is not saved: “Name cannot be empty”.
Keep the Text type
In “Type”, keep Text for a plain text reply.
Post and Get get the reply from your server or an AI — see part 4.
Tick “Auto-reply”
Tick “Auto-reply” — the program will reply by itself when a message matches the regex. The other checkboxes:
- “Enabled” — the template works;
- “Quick reply” — a button in the chat;
- “Requires confirmation” — the reply is not sent at once: for an auto-reply a Confirm / Cancel card appears in the chat, for a quick reply the text lands in the message box.
Type the incoming regex
The “Incoming Regex” field says which messages to answer. The simplest option is one word:
(?i)order(?i)means upper and lower case do not matter. It matches “Order 58321”, “where is my order?”, “ORDER”; it does not match “I want to buy” — the word “order” is not there.Without a regex an auto-reply never fires. A broken expression does not fire either, with no warning.
Or take the number from the message
To put the number the customer sent into the reply, type this whole line instead of the word:
(?i)^order\s*(\d+)$The program saves the digits in brackets as
$1. It matches “Order 58321” and “order58321”, not “Where is order 58321?” — the message must start with the word.What the symbols mean
(?i)case does not matter ^…$the whole message, start to end \s*spaces, if any (\d+)digits — become $1More ready lines are in the reference below.
Type the reply text
In “Reply text”, type
Thank you! Checking order #$1 — I will reply within 5 minutes.$1is replaced with the number from the customer's message.Options in curly braces, such as
{Hello|Good afternoon}, are picked at random on every send. The ⤢ button opens the field full screen.Choose labels (optional)
Open “Labels on successful delivery” and click a label: a tick adds it to the customer, a second click makes a cross (remove). Empty — labels are left alone.
- An auto-reply sets labels when it fires.
- A quick reply — when the reply is queued. If the text lands in the message box (“Requires confirmation”), labels are not set.
For an auto-reply with “Requires confirmation” the label is set at once, before the manager decides. If the manager clicks Cancel there is no reply, but the label stays. The same happens if the account is disabled. Do not give such templates labels like “Reply sent”.
“Labels on failed delivery” work only in campaigns.
Click “Save”
Click “Save”. The new template appears as the first row of the table, so it is checked before the others.
Edit or delete a template
Double-click a row to open the “Message” window with the fields filled in. Make changes and click “Save”.
Deletion cannot be undone. If the template is selected for an account in “Sending and warm-up”, it cannot be deleted — the program shows the account numbers; choose another message there first.
Click “Delete” and confirm with “OK”. Chat history stays.
Save templates to a file
Click the up-arrow button, “Export to file”. The browser saves messages_YYYY-MM-DD.json with all templates and the master switch position.
A copy of all sections at once is made with the button in “Settings”.
Add templates from a file
A template with the same name as one of yours is replaced by the file's version.
Click the down-arrow button, “Import from file: add to existing”, pick the file and confirm with “OK” in “Add from …: N item(s)?”.
- New templates go to the top of the table, in the file's order.
- A replaced template keeps its place.
- Other templates and the master switch do not change.
⬇ Download ready-made templates — delivery, opening hours, price list and “Thank you for your order”. The auto-replies in it are off: replace the parts in square brackets with your details and turn on the row switch.
Part 3 of 4
3What it looks like in a chat
Three ways a template is sent: automatically, by button and after your confirmation.
Open the chat — the reply is already sent
The customer wrote “Order 58321”. The program replied by itself as soon as the message arrived, even if nobody opened the chat:
$1became 58321.The reply is marked “waiting to send”: it waits in the “Queue” until the phone sends it.
Needed: the master switch, an enabled template with “Auto-reply”, a connected phone and an account that is not disabled.
Click the quick replies button
In the header of the open chat, click the speech-bubble button. It lists the templates that have “Quick reply” ticked.
No button means no enabled template has “Quick reply”.
Pick a template
Click “Greeting”. The reply appears in the chat marked “waiting to send”. The program picked one option from
{Hello|Good afternoon}. In a quick reply$1comes from the chat's last incoming message.If the template has “Requires confirmation”, the text is not sent but placed in the message box — edit it and send it yourself.
Confirm the reply
For an auto-reply with “Requires confirmation” a card “Auto-reply awaiting confirmation” with the ready text appears above the message box.
Click “Confirm” — the reply is queued and goes to the customer. “Cancel” deletes the reply; the customer never gets it.
If sending fails (for example, the account is disabled), the card stays.
Part 4 of 4
4For developers: replies from your server or an AI
Needed only if the reply text should come from your server or an AI. Post or Get type: the program sends a request and forwards the text it gets back to the customer.
Open a Post template and fill in the request
Double-click a template of type Post or Get (or choose that type in a new template) — the “HTTP / AI” block appears.
- URL — your service or the AI API, starting with
http://orhttps://. - Headers — one per line:
Name: value. The access key goes here too. - Request body — what to send with Post (required for Post).
$promptis replaced with the Prompt text,$1,$2with parts of the message. Get sends no body: put substitutions in the URL.
- URL — your service or the AI API, starting with
Fill in the prompt and output_regex
- Prompt — the task for the AI;
$1is the part of the customer's message. - output_regex — picks the customer text out of the service response: the first group in brackets is used. Empty — the whole response is sent as is; for an AI's JSON fill it in, for example
"content"\s*:\s*"(.*?)".
“Reply text” is not used in an HTTP template. With AI it helps to turn on “Requires confirmation”.
- Prompt — the task for the AI;
Auto-reply did not fire? Check in this order
- The program is running on the main computer — only it sends auto-replies. The managers’ site never replies by itself, so a customer never gets the answer twice.
- The phone is connected — the reply goes out from the phone; without it the reply stays “waiting to send” in the Queue.
- The account is not disabled — a disabled account sends nothing, yet the template’s labels are still set.
- The master switch is on — top right of “Messages”.
- The template is enabled and has “Auto-reply” — “Quick reply” alone is not enough.
- The regex is filled in and matches — watch the case — add (?i) at the start.
- No other matching template above it — only the first match is sent.
- “Requires confirmation” is off — otherwise the reply waits in a card in the chat.
Warm-up service messages never trigger auto-replies — warm-up has its own mechanism.
Checkbox cheat sheet
| Checkboxes | What happens |
|---|---|
| Quick reply | A button in the chat, sent when you click it. |
| Auto-reply | The program replies by itself when the message matches the regex. |
| Quick replyAuto-reply | Replies by itself and is available as a button. |
| Auto-replyRequires confirmation | A Confirm / Cancel card in the chat. |
| Quick replyRequires confirmation | The text lands in the message box; you send it yourself. |
Reference
Only what the steps above do not cover: ready-made expressions to copy, examples and technical details for developers.
Ready-made expressions for common tasks
Click Copy and paste the line into the Incoming Regex field. You do not need to understand the symbols. Without (?i), letter case matters: price will not match “Price”.
| Task | What to type | What it matches |
|---|---|---|
| The message contains a word | (?i)price | “What is the price?”, “PRICE list” |
| One of several words | (?i)(price|cost|how much) | “Send the price list”, “How much?” |
| A greeting on its own | (?i)^(hi|hello|good afternoon)[!.\s]*$ | “Hi!”, “good afternoon” |
Order number into $1 | (?i)^order\s*(\d+)$ | “Order 58321” → $1 = 58321 |
Text after a word into $1 | (?i)^question:\s*(.+)$ | “Question: do you deliver?” → $1 = “do you deliver?” |
| Any message | (.+) | everything; put this template in the last row |
Type the expression without surrounding /. An invalid expression never fires.
Do not want to write expressions yourself? Download the ready-made templates and add them with Import from file (step 2.12).
Use cases
- Answering price questions. Type Text, Auto-reply checked, regex
(?i)(price|cost|how much), text{Hello|Good afternoon}! Current price list: …. The customer gets an answer right away, at any time of day. - Sending the order number to your CRM (set up by a developer, see part 4). Type Post, Auto-reply, regex
(?i)^order\s*(\d+)$, your CRM URL, body{"order": "$1"}. The customer receives the text your CRM returns; pick the right part of the response with output_regex. - Answering everything else with a check. In the last row, a template with regex
(.+), Auto-reply and Requires confirmation. For any message the templates above did not catch, a manager gets a ready draft and decides whether to send it.
Variables
$0 is the whole regex match; $1–$99 are the bracket groups in order. A missing group becomes an empty string. A quick reply takes $1 from the last incoming message in the chat; if that message does not match the template’s regex, the variables are empty.
In HTTP templates, $1, $2 work in the URL, headers, request body and Prompt. $prompt inserts the filled-in Prompt. URL values are encoded; in a body that starts with { or [, they are escaped for JSON.
Options like {option 1|option 2} are resolved on every send, including in the HTTP service’s reply. Placeholders like {{Name}} are not supported in auto-replies and are removed.
For developers: HTTP technical details
For the developer who connects your service or an AI model.
- The URL must start with
http://orhttps://. Post requires a request body; Get sends no body. - A status outside 200–299, a connection error or an empty response creates no message. The Reply text field is not a fallback for HTTP templates.
- The connection is limited to 8 seconds and the whole request to 25 seconds. Only the first 500,000 bytes of the response are processed.
- output_regex: if the expression has brackets, the first group is used, otherwise the whole match. No match means no reply, and the program checks the next template. An empty output_regex sends the whole response as is.
If a managers’ site is connected
- If the program is connected to a managers’ site, templates are shared. An edit made in the program is saved on the managers’ site and comes straight back. If the managers’ site is unreachable, the template cannot be saved — try again later.
- The program and the managers’ site each have their own master auto-reply switch. Only the program on the main computer sends auto-replies; the managers’ site never replies on its own, so there are no double replies. Quick reply buttons work in both.