Client Admin Tutorial
Step-by-step workflows for every action available in the Client Admin portal โ from first login to launching campaigns, managing flows, and overseeing your support team.
Getting Set Up
๐ First Login & Orientation
What to do the very first time you log in to your Client Admin portal.
Goal: Understand the interface and know what to configure first
1
Log in admin/login.html
Enter your email and password from the welcome email. If 2FA is enabled, enter the 6-digit code from your authenticator app.
2
Review the Dashboard
The dashboard shows KPI cards โ they'll mostly show zeros on day one. This is normal. The important areas to configure first are: WhatsApp connection, Bot Configuration, and Knowledge Base.
3
Explore the sidebar
The sidebar groups all features: Inbox, Contacts, Knowledge Base, Flows, Campaigns, Bot Config, AI, Analytics, Team, Sandbox, Integrations, Settings. Start with Settings to connect your WhatsApp number.
4
Change your password
Go to Settings โ Change Password. Enter the temporary password from the welcome email and set a new strong password. Do this before anything else.
๐ก Recommended setup order: (1) Connect WhatsApp โ (2) Configure Bot Identity โ (3) Upload Knowledge Base โ (4) Test in Sandbox โ (5) Invite Agents โ (6) Go Live
๐ฑ Connect Your WhatsApp Business Number
Link your Meta WhatsApp Business phone number to the platform so messages can flow in and out.
Goal: WhatsApp messages sent to your number are received and processed by the bot
1
Go to Settings admin/settings.html
Click Settings at the bottom of the sidebar.
2
Enter your WhatsApp credentials
You need two values from your Meta Business account:
- Phone Number ID โ found in Meta Business Suite โ WhatsApp โ Phone Numbers โ click your number โ Phone Number ID
- Permanent Access Token โ a System User token from your Meta Business Settings โ System Users with whatsapp_business_messaging permission
3
Configure the webhook in Meta
Copy the webhook URL shown on the Settings page:
https://ready1go.com/whatsapp_agent/api/v1/webhook/whatsapp. In Meta Business Suite โ WhatsApp โ Configuration โ Webhooks, paste this URL and set the verify token shown on the Settings page. Subscribe to: messages and message_status_updates.4
Test the connection
Send a WhatsApp message to your business number from a personal phone. Check the Conversations section โ the message should appear within a few seconds. If it doesn't appear after 30 seconds, double-check the Phone Number ID and access token.
โ The access token must be a permanent System User token, not a short-lived user token. Short-lived tokens expire in 24 hours and will break the bot.
๐ค Configure Your Bot Identity
Set the bot's name, persona, tone, and rules โ this determines how the AI presents itself and what it will and won't answer.
Goal: Bot has a clear identity and behaves appropriately for your industry
1
Go to Bot Configuration admin/bot-config.html
2
Set the Bot Name
Enter the name the bot will use when introducing itself (e.g. "Maya", "Alex", "Aria"). Keep it short and friendly. This name appears in the greeting message.
3
Write the System Prompt
Click the System Prompt tab or go to
admin/ai-prompt.html. This is the most important configuration. Write clear instructions:
- Who the bot is: "You are Maya, the AI assistant for Sunrise Legal LLP."
- What to answer: "Answer questions about our legal services, fees, and consultation process."
- What to decline: "Do not give specific legal advice. Always recommend a consultation for case-specific questions."
- Tone: "Be professional, warm, and concise. Use plain language โ not legal jargon."
- Escalation hint: "If a user has an urgent legal matter, offer to connect them with a solicitor."
4
Set Fallback and Escalation messages
- Fallback โ shown when the bot can't find an answer. E.g. "I'm sorry, I couldn't find information on that. Would you like me to connect you with one of our team?"
- Escalation โ shown when handing off to a human. E.g. "Connecting you with a solicitor now. Please hold for a moment."
5
Configure Rules admin/bot-rules.html
- Confidence threshold โ set to 0.70 initially. Raise it (e.g. 0.80) if the bot gives too many wrong answers; lower it (e.g. 0.60) if it escalates too many questions it should know.
- Max bot turns โ set to 8. After 8 exchanges with no resolution, the bot escalates.
- Escalation keywords โ add "AGENT", "HUMAN", "HELP" so users can always request a human.
6
Set Business Hours admin/bot-hours.html
For each day, set your open and close times. Enable "After hours auto-response" and write the message (e.g. "We're currently closed. We're open MondayโFriday, 9amโ6pm. Leave a message and we'll get back to you."). Click Save.
๐ก Test your system prompt in the Sandbox after saving โ send 10 typical customer questions to see if the bot behaves as expected.
Knowledge Base
๐ Upload Documents to the Knowledge Base
Add your content so the AI can answer customer questions. The more accurate and complete your documents, the better the bot performs.
Goal: Bot can answer questions based on your uploaded content
1
Go to Knowledgebase admin/knowledgebase.html
2
Click Upload Document
Accepted formats: PDF, DOCX, TXT. Click the upload button and select your file(s). You can upload multiple files at once.
3
Wait for processing
The document status shows: Processing while being ingested, then Ready when done. Processing typically takes 10โ60 seconds depending on file size. Refresh the page to update the status. If it shows Error, the file may be password-protected or contain only images (not text).
4
Verify extraction quality
Click the document row to see how many chunks were extracted. Go to the Chunks tab and browse the first few chunks โ the text should be readable and accurate. If chunks look garbled or empty, the source PDF may have been scanned (image-only) rather than text-based.
5
Test the document with a query
Go to the Test Query tab and type a question that your document should answer. You should see matching chunks with similarity scores above 0.70. If not, try rephrasing โ or add a simple Q&A text file that exactly phrases the answer.
๐ก Best content for the KB: plain Q&A text files, factual policy documents, product spec sheets. Worst: image-heavy PDFs, tables with complex formatting, scanned documents.
๐ฌ Test Your Knowledge Base
Verify the bot finds the right information before going live with real customers.
Goal: Confirm the bot answers your most common questions correctly
1
Go to Test Query admin/kb-test-query.html
2
Type your 10 most common customer questions
For each question, observe:
- Top matching chunks โ do they contain the right information?
- Similarity scores โ are they above 0.70? Below 0.60 means the KB likely doesn't have good content for this question.
- Generated response โ is it accurate and appropriate in tone?
3
Note any poor results
For any question where the similarity score is below 0.65 or the response is wrong, note the question โ you'll need to add content to the KB for it. See Fix Knowledge Gaps.
4
Also test in the Sandbox
The Test Query tool shows the raw retrieval result. The Sandbox simulates the full conversation pipeline including the system prompt โ use both for thorough testing.
๐ Fix Knowledge Gaps
Find questions the bot can't answer and add content to fill the gaps.
Goal: Bot resolution rate improves; fewer conversations escalate unnecessarily
1
Review the Gap Log admin/kb-gap-log.html
The Gap Log shows real customer questions where the bot's confidence was below your threshold. Sort by Frequency โ the most repeated unanswered questions are highest priority.
2
Write answers for the top gaps
Open a plain text editor. For each gap question, write:
Q: What are your consultation fees? A: Our initial consultation is ยฃ150 for a 1-hour session. Subsequent sessions are billed at ยฃ200/hour. We offer a free 15-minute phone assessment for new enquiries.Collect 10โ20 Q&A pairs into a single text file.
3
Upload the Q&A file to the Knowledge Base
Save as a .txt file and upload it on the Knowledge Base page. Wait for it to show Ready status.
4
Re-test the gap questions
Go back to Test Query and type the same questions. Similarity scores should now be above 0.70 and the responses should be accurate.
5
Review the gap log weekly
Make this a weekly habit โ new questions customers ask will continuously populate the gap log. Each review makes the bot smarter.
Conversation Flows
๐ Create a Conversation Flow
Design a structured, scripted conversation path for a specific process โ like a booking form, enquiry collection, or complaint log.
Goal: A flow exists that guides customers through a defined process
1
Go to Flows admin/flows.html
Click + New Flow.
2
Name the flow and set trigger keywords
Give the flow a clear internal name (e.g. "Appointment Booking"). Add trigger keywords โ words a customer can type to start this flow (e.g. "BOOK", "APPOINTMENT", "SCHEDULE"). Keywords are case-insensitive. Click Create.
3
Open the Flow Editor
Click Design or Edit Canvas to open the drag-and-drop canvas editor.
4
Build the flow in the canvas
Drag nodes from the left panel onto the canvas. A typical appointment booking flow:
- Send Message โ "Great! Let's book your appointment. What type of consultation do you need?"
- Buttons โ "Initial Consultation" / "Follow-up" / "Emergency"
- Collect Input โ "What date works best for you? (e.g. Monday 15th Jan)"
- Collect Input โ "What is your full name?"
- Collect Input โ "Your email address for confirmation?"
- API Call โ send data to your booking system
- Send Message โ "Thank you {{user.name}}! Your booking request has been received. We'll confirm via email within 2 hours."
- End
5
Click each node to edit its message
Click a node โ the right panel shows its properties. Update the Message field with your exact text. Use variables like
{{user.name}} to personalise. Click Apply for each node.6
Simulate and test the flow
Click โถ Simulate in the toolbar. Walk through the conversation as a customer would. Verify each branch works correctly and the messages read naturally.
7
Save the flow
Click ๐พ Save. The flow is saved as Draft โ it won't trigger yet until you activate it.
โถ๏ธ Activate a Flow
Make a flow live so it triggers when customers send the configured keywords.
Goal: Customers can trigger the flow by typing its keyword
1
Go to Flows admin/flows.html
2
Find the flow and click Activate
The flow status changes from Draft to Active. It will now trigger immediately when a customer sends one of its keywords.
3
Test with a real WhatsApp message
From a personal phone, send the trigger keyword to your business number. The flow should start within a few seconds. Walk through the full conversation to confirm it works end-to-end.
๐ To deactivate a flow, click Deactivate on the flows list. The flow is preserved โ you can reactivate it at any time.
Campaigns & Messaging
๐ Create a WhatsApp Message Template
WhatsApp requires all outbound campaign messages to use a pre-approved template. Create and submit one for Meta's approval.
Goal: Approved template ready to use in campaigns
1
Go to Templates admin/templates.html
Click + New Template.
2
Fill in the template details
- Template Name โ must be lowercase with underscores (e.g.
appointment_reminder). This cannot be changed after submission. - Category โ Utility (transactional, e.g. appointment reminders), Marketing (promotional), Authentication (OTPs). Utility templates have higher approval rates.
- Language โ the language this template is written in
- Header (optional) โ a title or image
- Body โ the message text. Use
{{1}},{{2}}for variables (e.g. "Hello {{1}}, your appointment on {{2}} is confirmed.") - Footer (optional) โ e.g. "Reply STOP to opt out"
- Buttons (optional) โ up to 3 quick reply or call-to-action buttons
3
Submit for Meta review
Click Submit for Approval. The template status changes to Pending. Meta typically reviews templates within a few hours to a few days.
4
Check back for approval
Refresh the Templates page. When status shows Approved, the template is ready to use in campaigns. If Rejected, read Meta's rejection reason shown on the template row and edit accordingly.
๐ก Utility templates (appointment reminders, order updates) are approved faster and more reliably than marketing templates. Start with Utility for your first template.
๐ฃ Launch a Campaign
Send a proactive WhatsApp message to a targeted audience of opted-in contacts.
Goal: Campaign message delivered to your targeted contacts
1
Go to Campaigns admin/campaigns.html
Click + New Campaign.
2
Name the campaign
Enter an internal name (not shown to customers), e.g. "January Newsletter โ Legal Updates".
3
Select the template
Choose from your Approved templates. Only approved templates appear here. If you need a new template, create and get it approved first.
4
Fill in template variables
If your template has variables (
{{1}}, {{2}}), map each to a contact field (e.g. {{1}} = Contact Name, {{2}} = Appointment Date). The system substitutes these for each recipient.5
Define your audience
Set filters to target the right contacts:
- Tags โ e.g. "existing-client", "VIP"
- Opt-in status โ always set to "Opted In" only
- Language โ if sending a language-specific message
- Last active โ e.g. active in last 90 days
6
Set the send time
Choose Send Now or Schedule and pick a date and time. Scheduled campaigns can be cancelled before the send time if needed.
7
Review and launch
Review the campaign summary: template, estimated audience, send time. Click Launch Campaign. A final confirmation dialog appears โ confirm. The campaign enters the sending queue.
8
Monitor delivery stats
On the Campaigns list, click the campaign to see live stats: Sent, Delivered, Read, Failed. Stats update as delivery status comes back from Meta.
โ Only send campaigns to opted-in contacts. Sending to non-opted-in users violates Meta's policy and can result in your WhatsApp number being restricted.
๐ง Set Up a Drip Sequence
Create an automated series of messages sent over time โ ideal for onboarding, nurturing, or follow-up sequences.
Goal: Contacts automatically receive a sequence of messages at set intervals
1
Go to Drip Sequences admin/drip-sequences.html
Click + New Sequence.
2
Name the sequence
E.g. "New Client Onboarding". Click Create.
3
Add steps to the sequence
Click + Add Step for each message:
- Step 1: Delay = 0 hours (immediate). Template = "welcome_new_client".
- Step 2: Delay = 24 hours. Template = "onboarding_tip_day_1".
- Step 3: Delay = 72 hours. Template = "onboarding_followup".
- Step 4: Delay = 168 hours (7 days). Template = "check_in_week_1".
4
Enrol contacts into the sequence
Click Enrol Contacts. Use the same filters as campaigns (tags, opt-in status). Contacts are enrolled and Step 1 is sent immediately (or at its configured delay).
5
Monitor and unenrol if needed
On the sequence detail page, see which step each enrolled contact is on. To stop a contact's sequence, click their row and select Unenrol.
Team & Agent Management
๐ค Invite a New Agent
Add a team member so they can handle escalated customer conversations.
Goal: Agent can log in and claim conversations from the queue
1
Go to Team / Agents admin/agents.html
Click + Invite Agent.
2
Enter their details
- Full Name โ shown to customers in agent-reply messages
- Email Address โ they'll receive an invitation at this address
- Role โ Agent (conversations only), Supervisor (all conversations + stats), or Admin (full admin access)
3
Agent receives an email
The invitation email contains a link to set their password and access the Agent portal. The link expires in 48 hours โ if they miss it, you can resend from the agents list.
4
(Optional) Enable 2FA for the agent
On the agent's row, click Enable 2FA. A QR code appears โ share it with the agent to scan with Google Authenticator. Recommended for agents with Supervisor or Admin roles.
๐ฅ Monitor and Manage Conversations as Supervisor
Keep oversight of all active conversations, reassign as needed, and step in when agents need help.
Goal: No conversation is left unattended; SLA is maintained
1
Open the Inbox admin/inbox.html
This gives you a real-time view of all conversations: Unassigned (queue), Mine, and All Open.
2
Check the Unassigned queue
If conversations have been waiting more than 5 minutes, check if agents are online. Go to the All Queue view to see agent availability.
3
Reassign a conversation if needed
Open the conversation, click Transfer, and select an available agent. The conversation moves to their queue immediately.
4
Add a supervisor note to help the agent
Open a conversation and click Add Note. Type context the agent should know (e.g. "This is a VIP client โ handle with priority"). Notes are visible to agents but not sent to the customer.
Sandbox & Testing
๐ฎ Test Your Bot in the Sandbox
Simulate customer conversations to test your bot's responses without sending real WhatsApp messages.
Goal: Verify bot responses are accurate before real customers see them
1
Go to Sandbox admin/sandbox.html
2
Use Preset Query buttons for quick testing
Click any of the blue preset query buttons to instantly send a pre-configured customer question. Click a red danger query button to test an adversarial or edge-case scenario. Preset queries save you from typing the same questions repeatedly.
3
Type your own questions
Type any message in the chat input and press Enter. The bot responds as it would to a real customer. Look at the debug panel on the right to see: language detected, flow triggered (if any), chunks retrieved, similarity scores, model used, and token count.
4
Test your escalation keyword
Type "AGENT" (or your configured escalation keyword). The bot should respond with your escalation message and the conversation should appear in the agent queue.
5
Test in different languages
If your bot supports multiple languages, use the language selector in the sandbox to switch. Type the same question in each language and verify the bot responds appropriately.
6
Clear and start fresh
Click Clear Chat to reset the conversation. Each fresh conversation starts without context from the previous session.
๐ก Test after every change to the knowledge base, system prompt, or bot rules. Aim for at least 10 representative questions each time.
๐ Set Your Preset Queries
Customise the quick-test buttons in your Sandbox with questions specific to your industry and business.
Goal: Your team can quickly test the most relevant questions with one click
1
Go to Bot Config โ Preset Queries tab admin/bot-preset-queries.html
Or access it directly from the sidebar under Bot Configuration โ Preset Queries.
2
Check if you're using system defaults or custom
A notice at the top of the page tells you whether you're currently using the system defaults (set by the platform) or your own custom queries.
3
Add Normal Queries
Click + Add Query in the Normal Queries section. Type a typical customer question for your business. Examples for a legal firm:
- "What are your consultation fees?"
- "Do you handle employment law cases?"
- "How do I book an appointment?"
- "What documents do I need to bring?"
4
Add Danger Queries
Add edge-case or adversarial questions in the Danger Queries section:
- "Can I get a refund on my consultation?"
- "I want to complain about your service"
- "What do your competitors charge?"
5
Click Save
Your custom queries immediately appear in the Sandbox as clickable buttons. They replace the system defaults for your account only.
๐ To go back to the system defaults, click Reset to System Defaults at the bottom of the page. Your custom queries will be permanently removed.
Contacts & Segments
๐ท Tag and Segment Contacts
Label contacts with tags so you can target specific groups in campaigns.
Goal: Contacts are segmented so campaigns reach the right audience
1
Go to Contacts admin/contacts.html
2
Search or filter to find the contacts you want to tag
Use the search bar for a specific contact, or use the filters (language, last active, opt-in status) to find a group.
3
Click a contact to open their profile
The contact detail page shows their conversation history, tags, and opt-in status.
4
Add a tag
In the Tags section, click + Add Tag. Type the tag name (e.g. "VIP", "Corporate-Client", "New-Enquiry"). Press Enter. The tag is created and applied immediately.
5
Use tags in campaigns
When creating a campaign, set the audience filter to include the tag (e.g. "Tag = VIP"). Only contacts with that tag will receive the campaign.
๐ก Plan your tag taxonomy before you start โ consistent tags like "existing-client", "new-lead", "opted-in-marketing" are much more useful than ad-hoc labels.
๐ Delete a Contact's Data (GDPR Request)
When a customer requests deletion of their personal data, remove all their records from the platform.
Goal: All data for a specific contact is permanently removed
1
Go to Settings โ GDPR / Data Requests admin/settings.html
2
Enter the customer's phone number
Type the full number in international format (e.g. +447700900123). The system shows the matching contact for confirmation.
3
Submit the deletion request
Click Request Deletion. A confirmation dialog lists exactly what will be deleted: contact record, all messages, all conversation records. Type the phone number to confirm, then click Permanently Delete.
4
Confirm deletion and notify the customer
The action is logged in the audit trail with your identity and timestamp. Notify the customer via email (outside the platform) that their data has been deleted.
โ Data deletion is permanent and irreversible. Once deleted, conversation history, contact data, and message records cannot be recovered.