The Auto Reply App helps you manage your conversations and messages intelligently, whether for business or personal use.
It allows you to:
Send automatic replies based on keywords
Create professional replies with interactive menus
Record customer requests and reservations
Use AI (Gemini) for smart responses
Save message and reply logs for later review
🚀 Why use it?
Save time: Replies are sent automatically without your intervention
Customer management: Easily receive and store requests
Flexibility: Customize replies by language or message type
Integration: Supports backups and importing data from Excel/CSV files
1️⃣ Notification Permission
Purpose: Allows the Auto Reply app to show its own notifications (e.g., when auto-reply is active, or when new requests arrive).
Why is it necessary?
Without this permission, you won’t be able to see the app’s alerts.
It helps you stay updated on the app’s activity in real time.
How to enable it?
When you launch the app for the first time, it will ask for notification access.
You can also enable it from: Settings > Notifications > Allow notifications for the app.
2️⃣ Battery Permission
Purpose: Prevents the system from stopping the app in the background.
Why is it necessary?
If the system stops the app, auto-reply will not work continuously.
How to enable it?
Tap the prompt (flash icon) shown at the top of the screen.
Or go to: Settings > Battery > Battery optimization.
Select the Auto Reply app and choose Don’t optimize or Always allow.
3️⃣ Notification Access Permission
Purpose: Allows the app to read the content of notifications from other apps (e.g., WhatsApp or Telegram messages).
Why is it necessary?
The app relies on reading message content to generate appropriate replies.
Without this permission, it can detect new notifications but won’t be able to read or reply to them.
How to enable it?
When you activate Auto Reply, it will prompt you to grant notification access.
Or go to: Settings > Apps > Special access > Notification access.
Enable the switch next to the Auto Reply app.
⚠️ Important Note: All three permissions must be enabled for the app to function properly and respond to messages consistently.
Supported Apps
Go to the apps section inside the application.
Select the apps allowed for auto-reply.
Make sure notifications are enabled for each app:
Without notification permission, the app cannot read or reply to messages.
Once confirmed, auto-reply will only work on the selected apps.
⚠️ Important Notes
If notification permission is not granted to any app from the list, auto-reply will not work for that app.
You cannot add new apps outside the predefined list.
You can enable or disable any app from the list as you wish, but ensuring notification permission is essential.
💡 Tip for users: Start by enabling WhatsApp and SMS to confirm auto-reply is working, then test other apps one by one.
Interaction settings give you full control over how Auto Reply works, from reply style to operating times.
📝 1. Reply Style and Mode
Default reply
Professional replies
Random replies
Interactive menus
AI-powered replies
👥 2. Targeting Options
Reply to everyone
Reply only to selected contacts
Block replies to selected contacts
Reply to groups or disable group replies
🔢 3. Number of Messages per User
Set a maximum number of replies per user
Value (0) = unlimited
📩 4. Daily Limit Reached Message
Message sent when the user reaches their daily limit
Can be left empty → no message will be sent
⏳ 5. Reply Delay
Option 1: Reply instantly, then pause for a set period (seconds, minutes, hours, days) before resuming
Option 2: Delay the reply up to 99 seconds before sending
📱 6. Reply on Lock Screen
Enable replies only when the phone screen is locked
🙌 7. Welcome Message
Send a fixed message on the first contact
Or send a random message from backup replies
Repeat options:
Only once per user
Once daily (on the first message each day)
Disable welcome message
📝 8. Message Header and Footer
Add fixed text at the start or end of every message (e.g., signature or business tagline)
🔔 9. Notifications
Notify when a reply is sent (on/off)
Notify when there is a reply error (on/off)
🕒 10. Reply Times
Reply all the time
Set start and end times for each day of the week
⚠️ Note: Using these settings smartly helps make your replies more professional and flexible according to your business or personal needs.
Professional replies are the core of the system, allowing you to create advanced rules to handle user messages flexibly and intelligently.
📌 Add a New Rule
1️⃣ Target Keywords
You can enter one or more keywords that will trigger the rule when found in a user’s message.
Separate multiple keywords with //.
Example:
"booking // purchase // inquiry"
→ If the user sends any of these words, the rule applies.
2️⃣ Match Type
All messages → The rule applies to every incoming message without keywords.
Example: Any message triggers a general welcome reply.
Exact match → The rule applies if the message exactly equals the keyword.
Example: "booking" → Only replies if the message is exactly "booking".
Contains keyword → The rule applies if the message contains the keyword.
Example: "booking" → Matches: "I want to book an appointment", "Can I book now?"
Ends with keyword → The rule applies if the message ends with the keyword.
Example: "now" → Matches: "Book now".
Language detection → Detects the language of the message and applies rules for a specific language (ISO 639-1).
Example: "ar" for Arabic, "en" for English.
Smart keyword match → Flexible patterns:
* → matches any characters
? → matches a single character
// → separates multiple forms
Example: book* → matches "book", "book appointment".
Message length > X → Applies if the message is longer than a set value.
Message length < X → Applies if the message is shorter than a set value.
Numbers only → Matches messages that are digits only.
Question → Matches if the message contains ?.
Regex match → For advanced control with regular expressions.
3️⃣ Reply Method
Send a single fixed reply.
Send all replies under the rule.
Send a random reply.
Do not reply.
Use random backup replies.
Enable interactive menus.
Reply with AI (with optional custom instructions).
Send a welcome message.
Collect customer requests (name, phone, etc.).
Forward to a human agent temporarily.
4️⃣ Reply List
Add multiple replies to use depending on the method.
5️⃣ Additional Settings
Stop other rules once matched.
Delay before sending the reply.
Prevent duplicate replies within a timeframe.
Apply rules only within specific times.
6️⃣ App-Specific Rules
Apply a rule to one or more specific apps (e.g., WhatsApp only).
📌 Sub-Rules
Sub-rules are an extension of the main rules.
A sub-rule does not work independently; it is only activated after a main rule is triggered.
When a main rule is activated, new incoming messages are first checked against the linked sub-rules.
If a match is found → the sub-rule response is sent.
If no match is found → the sub-rules are deactivated, and the system returns to checking the remaining main rules.
📝 Practical Example:
Main Rule: If the user writes "Order" → reply: "Which product would you like to purchase?"
Sub-Rules:
If the user writes "Book" → reply: "A book order has been registered."
If the user writes "Pen" → reply: "A pen order has been registered."
⚙️ General Settings for Professional Replies
Timeout for human transfer: Define how long before auto-reply resumes.
Fallback behavior: Ignore, reply with AI, or random backup reply.
📌 Example Rule
Keywords: booking // appointment
Match type: contains keyword
Reply: with AI
AI instruction: "Act as a customer service agent for Al-Dhobhani, reply formally."
App: WhatsApp only
Reply list: empty (AI will generate reply)
Extra: prevent duplicate reply for 10 minutes
Request Forms are an advanced feature that helps you collect customer data and requests such as:
Name
Phone number
Email
Address
Inquiries or transaction number
These forms can be linked directly to professional replies or interactive menus, so the form is automatically triggered when a rule matches (e.g., "I want to book", "I want to purchase"...).
📌 Form Components
Form Name
A descriptive name to help you understand the purpose of the form (e.g., Booking Request – Customer Data).
Message Content
The welcome or introductory message sent first to the user.
Provides an overview of the service or explains what is required (e.g., "Hello 👋, to complete your booking, please enter your details").
Interactive Replies (Questions)
Each interactive reply includes:
Field Name: Internal title stored in the app (e.g., Name, Phone, Email).
User Question: Text shown to the user (e.g., "Please enter your full name").
Data Type:
Plain Text
Phone Number (validates a correct phone number)
Email (validates correct email format)
Numbers Only (prevents non-numeric input)
You can add multiple consecutive questions; the app sends the next question after the user replies to the previous one.
📌 Additional Options
✅ Save Confirmation (Optional)
Confirmation message text: e.g., "Do you want to save this data?"
Save confirmation code: word or symbol entered by the user to save the request (e.g., "Yes")
Cancel code: word or symbol to ignore the request (e.g., "No")
📩 Completion Message
A thank-you or notification message after saving the request.
Example: "Your request has been saved ✅, we will contact you shortly."
🔔 Notifications
Send an in-app notification when a new request is submitted.
Send a summary to the customer with the entered data (e.g.,
Name: …
Phone: …
Address: …)
🔗 Form Linking
The form can be linked to a professional rule (Keyword Rule) or an interactive menu, so it is triggered when the user selects a specific menu item.
💡 Benefit: Using request forms, you can transform your auto-reply system into a full-fledged order collection system that organizes and gathers customer data efficiently.
Settings:
⏳ Cancellation Time
Set the allowed time for the user to complete all data entries before automatically canceling the request.
Measured in minutes (from 1 to 60). Example: 30 minutes.
🕑 Message After Time Expires (Optional)
A message sent to the user if they fail to complete the data entry within the specified time.
Example: "Sorry, your request was canceled because the data was not completed within 30 minutes. You can try again anytime."
AI Responses allow the system to reply to customers naturally and intelligently, instead of just pre-set responses. To enable this feature, you need to enter your Gemini API key.
🔑 Step 1: Enter Gemini API Key
Importance of the Key:
The key is an authentication method that tells Gemini that these requests belong to your account. Without it, AI responses cannot work.
How to get the key:
Click the "Get API Key" button.
You will be redirected to the page to create a key via your Gmail account.
If you already have a key, copy it.
If not, create a new key.
Entering the Key:
Paste the key into the main key field inside the app.
You can test the key by clicking "Test Key" to ensure it works.
Backup Key:
There is an additional field for a secondary API key.
If the primary key fails, the app will automatically switch to the backup key to ensure continuous AI responses.
⚡ Available Gemini Models:
Gemini 1.5 Flash: Very fast, suitable for short instant replies, consumes fewer tokens.
Gemini 2.0 Flash: Newer, faster, more accurate, ideal for short replies + better context understanding.
Gemini 2.5 Flash: Most advanced in the Flash series, best balance between speed and quality.
Gemini 1.5 Flash Lite: Very lightweight, ideal for low-cost or simple responses.
Gemini 1.5 Pro: Smarter and more precise, suitable for complex or long answers, consumes more tokens.
🏋️ Training Gemini (Custom Instructions):
Once Gemini is activated, you can train it on your company’s personality and services:
Click "Add Instructions" to open the training input screen.
These instructions help the AI respond on your behalf in a manner consistent with your business.
Example 1 (Al-Dhobhani App Development Company):
Instructions:
"You are a virtual assistant for Al-Dhobhani App Development. Our company specializes in mobile app design, AI, and web software. When a client asks about our services, provide a brief explanation of our solutions and mention that we offer excellent technical support. Do not use overly formal language; make it friendly and professional."
Example 2 (Current App Product):
Instructions:
*"You are a virtual assistant for the [Auto Reply] app. The app specializes in automatic responses and chat management via WhatsApp, Messenger, Instagram, Telegram, and SMS. Users can create professional replies, transfer conversations to human staff, and enable AI replies. If a customer asks about the app’s features, explain that it provides:
Smart automated replies
Interactive menu support
Customer request management via forms
Accurate reports and analytics
Integration with Gemini AI for natural replies
Make your responses clear, friendly, and professional."*
⚙️ Advanced Settings:
When enabled, you can fine-tune Gemini’s behavior. Otherwise, default settings are used.
maxOutputTokens: Maximum length of the response (e.g., 200 → short reply, 2000 → long reply).
temperature: Controls diversity and creativity (0.0 → precise and consistent, 1.0 → more creative; recommended 0.6–0.8).
topK: Number of next-word choices the model considers (smaller → focused replies, larger → more variety).
topP: Cumulative probability threshold for word selection (0.9 → more diverse, 0.5 → more conservative).
🎭 Response Style:
Formal → polite and official.
Friendly → close to the customer.
Playful → light and humorous.
Neutral → no specific tone.
Professional → combines formality and friendliness.
✍️ Response Type:
Short → quick and direct answers.
Detailed → longer explanations with context.
📏 Additional Settings:
Max Response Characters: Controls reply length (e.g., 250 → short, 1000 → detailed).
Number of Previous Messages Remembered: Determines how many recent messages Gemini recalls in the current conversation.
⚠️ Note: Memory is only for the current day and does not include previous days. Using large values consumes more tokens.
Interactive menus allow you to guide users through predefined options instead of having them type free text. This reduces errors and speeds up reaching the correct information or action.
Start with a clear name that reflects its content (e.g., Main Menu – Al-Dhobhani Company Services).
You can create up to 7 items in the main menu.
For each item, specify what happens when selected (see “Action Types” below).
Tip: If you need more than 7 options, group them into submenus (logical classification).
Any main or submenu item can be linked to a professional reply.
When the user selects this item, the rule is activated (as if the user typed the target keyword).
Example:
Item: “Request a Quote” ↔ Professional reply sends a customer request form.
Each item can open a submenu with up to 7 items.
Each submenu item can, in turn, open another submenu… and so on (multi-level hierarchy).
Common Example:
Main Menu “Services” →
Item “Mobile App Packages” (submenu) →
Sub-items: “Basic / Professional / Enterprise Package”.
Instead of manually creating many items, the item can rely on a CSV file as a lookup/reference:
File Requirements: two columns only:
input: the value the user types
output: the system reply when the input matches
CSV Example (2 rows + headers):
input,output
ADEN,Delivery service available in Aden within 24 hours
SANA,Delivery service available in Sana’a within 48 hours
When the user sends ADEN, the app shows: “Delivery service available in Aden within 24 hours.”
When to use CSV? When dealing with dozens/hundreds of values (product codes, cities, branches…) instead of building long nested menus.
Each item (main or submenu) can have one of the following actions:
Open Submenu: show deeper options (up to 7 per level).
Link to Customer Request Form: converts user selection to an interactive form (Name, Phone, Address…), saved in the requests section.
Transfer to Human Agent: stops automatic replies and forwards the conversation to human support. After the timeout (general settings), auto-replies resume.
Link to Professional Reply: activates a predefined rule to send replies/menus/AI responses, etc.
Default Reply for Menu: message used when the user enters an invalid option or requests “Back/Return.”
Example: “Unknown option. Enter a number from 1–3 or type ‘Back’ to return.”
You can also make an item send a direct text reply if part of your reply logic (via a “Single Fixed Reply” rule).
Simplify structure: no more than 7 items per level; spread content over 2–3 levels max.
Name items clearly: start with the action (e.g., Request a Quote, Open Support Ticket…).
Add short instructions: tell users how to choose (number? text?).
Include “Back” and “Main Menu” in submenus for easy navigation.
Use CSV for large data: cities, branches, codes… instead of deeply nested menus.
Test every path: make sure links to forms/rules/human transfer work as expected.
Main Menu – Al-Dhobhani Services
Our Services → Submenu
Mobile App Development → link to “Service Details” rule
AI Solutions → link to “Service Details” rule
Websites & Stores → link to “Service Details” rule
Packages → Submenu
Basic
Professional
Enterprise
Request a Quote → link to customer request form (collect Name/Phone/Requirements)
Technical Support → transfers to human agent (“You will be connected to a staff member shortly”)
City-Based Pricing → CSV import (cities ← availability/duration/cost replies)
Contact Us → link to rule that sends contact info
Notes in this example:
“Request a Quote” opens a request form and saves it in requests section.
“Technical Support” temporarily stops auto-replies and transfers to human agent.
“City-Based Pricing” uses CSV to return custom responses for the entered city.
Fixed Navigation Buttons
Reserved symbols that cannot be changed, for menu navigation:
0 → Return to Main Menu (start)
9 → Go Back (previous level)
99 → Exit menus completely
✨ These symbols are built-in to provide clear navigation at all times.
Auto Timeout
You can set a timeout (1–60 minutes) after which the menu closes if the user stops interacting.
Optional message: automatically send a message after timeout.
Example: “Selection time expired. Type any message to start again 👋.”
Error Handling (Invalid Input)
If the user enters a wrong number or invalid option:
Resend the same menu
Send a custom guidance message
Example: “Option not found. To select correctly, enter a number from the menu.”
Important Note 📝
Menu selection is only via numbers.
Typing random text or words will not work in interactive menus.
Practical Example (Al-Dhobhani Menu Settings):
0: Return to Main Menu
9: Back to previous menu (Packages ← Main)
99: Exit interactive menus and return to normal chat
Timeout: 5 minutes
Timeout message: “Selection time expired ⏳. Send any message to reopen the main menu.”
Invalid input: Resend menu + message: “The option you chose is invalid. Please select a correct number from the menu 👇”
🔹 Target Words
Q: Do I always need to enter a target word?
A: No, if you select the match type "All Messages," target words are not required.
Q: How can I add more than one target word?
A: Separate them using //. Example: Booking // Purchase // Inquiry.
Q: Can I use special symbols or Regex here?
A: Yes, if you select the match type "Professional Pattern Match (Regex)."
🔹 Match Type
Q: What’s the difference between "Exact Match" and "Contains Word"?
A: "Exact Match" means the message must exactly equal the word (e.g., "Booking").
"Contains Word" means the word can be part of the text (e.g., "I want to book an appointment").
Q: How do I use language detection?
A: Enter the language code in ISO 639-1 format, e.g., ar for Arabic, en for English.
Q: What is Smart Word Matching?
A: It allows patterns like:
* = any number of characters
? = single character
// = separate multiple patterns
🔹 Reply Method
Q: What reply methods are available?
A:
Fixed reply
All replies
Random reply
No reply
Backup replies
Interactive menus
Artificial intelligence
Welcome message
Customer request form
Transfer to human agent
Q: What’s the difference between fixed and random replies?
A: Fixed reply always sends the same message, while random picks a different reply each time from the list.
Q: How does AI reply with custom instructions work?
A: If you add custom instructions within the rule → AI will use them only for this rule.
If left empty → it will use the general AI settings.
Q: What happens when “Customer Request Form” is selected?
A: A form opens asking for client data (name, phone, address…), which is saved as a request in the system.
Q: What does “Transfer reply to human agent” mean?
A: When enabled, automatic replies pause, and the conversation is transferred to a human agent. After the timeout, auto-reply resumes.
🔹 Reply List
Q: Can I add multiple replies?
A: Yes, you can add several replies and choose how to handle them (all / one / random).
Q: Can a rule contain both text replies + AI?
A: Yes, but it’s better to define a primary type to avoid conflicts.
🔹 Additional Settings
Q: What does “Stop other replies” mean?
A: If the message matches this rule, other rules will not be checked afterward.
Q: How does “Reply delay” work?
A: You can set a time (seconds or minutes) before the reply is sent automatically.
Q: What is “Reply repeat block duration”?
A: Prevents sending the same reply to the same user within a specified period (e.g., 10 minutes).
Q: Can I set specific times for the rule to apply?
A: Yes, you can select a time range, e.g., 9 AM to 5 PM only.
🔹 Rule Customization by App
Q: Can a rule apply to only one app?
A: Yes, you can select a specific app (e.g., WhatsApp only).
If not specified → the rule applies to all supported apps.
Q: Can each app have a different reply?
A: Yes, by creating duplicate rules and customizing a different app for each.
🔹 General AI Settings
Q: What’s the difference between custom instructions and general instructions?
A: Custom instructions are for one specific rule only, while general instructions are used for all default replies when no customization exists.
Q: What happens if AI fails to reply?
A: There are 3 options:
Ignore the message.
Retry AI reply.
Send a random backup reply.