Sales Agent
Comprehensive guide to how the Sales Agent drives revenue, captures leads, and schedules appointments.
1. Main Goal of the Sales Agent
The primary objective of the Sales Agent is to drive revenue and convert visitors into qualified leads. Unlike a standard support bot that simply answers questions, the Sales Agent actively identifies buying intent, proactively offers assistance without being pushy, and guides interested prospects into your Lead Capture or Calendar Scheduling flows.
It gathers essential contact information for your human sales team to follow up on, acting as a highly trained sales representative available 24/7 across all your channels.
2. Answering Queries Perfectly
A sales agent that lies about pricing or features can cost you deals. Domainchat prevents this by using an advanced strict knowledge retrieval system.
Zero Hallucinations
When a user asks a question, the agent searches the documents and websites you have provided. It only answers using the facts it retrieves. If the agent cannot find the answer in its knowledge base, it will not guess. Instead, it gracefully deflects the question and pivots to capturing a lead.
Example: "That's a great question about our custom pricing, but I want to make sure I give you the exact details. Let me take your contact info so a specialist can reach out to you directly."
Topic Exploration & Follow-up Questions
The agent doesn't just provide a dry answer and wait in silence. Instead, the sales agent will proactively offer a relevant follow-up question related to the topic. This ensures the user gains a deeper understanding of the product or service they are interested in.
The agent will continue this natural conversational exploration until the topic is completely exhausted, keeping the user engaged and guiding them toward a purchasing decision.
3. Lead Capturing Scenarios
The Sales Agent listens for buying intent or explicit requests for contact. If a user says, "I want a quote," "Can someone call me?", or "I'm interested in buying," the agent immediately initiates the lead capture process.
Proactive 4th Message Lead Capture
The agent doesn't just wait for the user to ask. By the fourth message of the conversation, if the user has not yet converted or booked an appointment, the agent will proactively ask to collect their lead information to ensure no opportunity slips through the cracks.
4. Appointment Scheduling & Multiple Events
When users want a demo, consultation, or site visit, the Sales Agent seamlessly handles appointment scheduling.
Handling Multiple Events
If your business offers multiple types of appointments (e.g., a "15-Min Discovery Call", a "60-Min Technical Demo", and an "In-Person Site Visit"), the agent understands the difference. When a user asks for a specific type of meeting, the agent analyzes their request and automatically selects the correct calendar event type based upon the event title and description you configured.
Interactive Event Selection
What if the user is vague and simply says, "I want to book an appointment", but you have 5 different appointment types? The agent is smart enough to handle this! It will present an interactive choice to the user, listing the available options and asking them to clarify which type of event they are interested in booking before proceeding.
Conflict Resolution
The agent ensures double-bookings don't happen by reading your live calendar availability and only presenting open slots to the prospect.
DC Calendar vs. Cal.com
Domainchat supports two primary calendar systems, each with unique benefits:
- DC Calendar (Built-in): The native scheduling solution built directly into Domainchat. It requires zero external setup and deeply integrates with your CRM and lead routing out-of-the-box.
- Cal.com Integration: Perfect for teams who already have complex Round-Robin routing, Zoom links, or Google Calendar syncing set up in Cal.com. The agent seamlessly connects to your existing infrastructure.
5. Channel-Specific UI and Responses
The Sales Agent is truly Omnichannel, but it adapts its User Interface (UI) depending on where the user is chatting from to provide the best possible experience.
Web Chat (Rich UI)
When a user is on your website widget, the agent utilizes rich interactive components.
- Lead Capture: The agent renders a beautiful, interactive HTML form directly inside the chat bubble where the user can type their Name, Email, and Phone.
- Calendar Booking: The agent renders an interactive Calendar Grid, allowing the user to click and select time slots natively without ever leaving your webpage.
Social Channels (Instagram, Facebook, WhatsApp, Telegram)
Social media platforms do not support HTML forms or interactive widgets. Therefore, the agent switches to Conversational Mode.
- Lead Capture: The agent asks for information conversationally, one step at a time (e.g., "What is your name?", then "What is your email?").
- Calendar Booking: The agent sends a secure, tappable "Book Appointment" link button and the user completes the booking in the browser — see Section 6 for the complete flow.
6. Omni-Channel Appointment Booking (Link-Based Flow)
On Instagram, Facebook, WhatsApp, and Telegram, the messaging platform owns the chat UI — embedded HTML widgets and calendar grids are not possible inside the message stream. Instead of an inline widget, the Sales Agent books appointments through a secure link flow that feels native on every channel: the user gets a booking button in the chat, completes the booking in the browser, and is brought straight back into the conversation with a confirmation waiting.
Step 1 — The Booking Link Button in Chat
When a user wants to book, the agent never interrogates them for preferred dates or times in the conversation. It confirms intent once (e.g., "Would you like me to send you my booking link?") and, the moment they agree, delivers a tappable "Book Appointment" button directly in the chat — a link button on WhatsApp, a button template on Instagram and Facebook Messenger, and an inline keyboard button on Telegram.
The link behind the button is generated by DC Calendar (Domainchat's built-in scheduling engine, part of DCCRM) and is unique to that conversation — it is cryptographically signed and carries an expiry (more on that below).
Step 2 — Completing the Appointment in the Browser
Tapping the button opens the DC Calendar public booking page in the phone's browser (the in-app browser — no app install or login required). The page shows your branding and the selected appointment type, and the user picks their own date and time from your live availability, so double-bookings are impossible.
If the lead was already captured in the chat, their name and email are prefilled automatically. The user confirms the slot, the booking is saved, and a confirmation email is sent immediately.
Step 3 — Automatic Return to the Chat
Once the booking is confirmed, a success screen with the booking summary (appointment title, date, and time) is shown for a couple of seconds — and then the user is automatically navigated back into the same chat thread via a channel deep link (WhatsApp wa.me, Instagram ig.me, Messenger m.me, Telegram t.me).
A manual "Return to chat" button is also displayed as a backup, since a few in-app browsers occasionally block automatic navigation — the user stays in control either way.
Step 4 — Confirmation Message in the Chat
The instant the booking completes, a confirmation message — appointment title, date and time with timezone, location or meeting link, and a short reference code — is automatically delivered into the same chat thread. The user returns to the conversation and finds the confirmation already waiting.
The confirmation is also saved to the conversation transcript, so your team sees the full booking story in Chat Logs, and the booking is recorded against the contact in DCCRM.
The 24-Hour Messaging Window
Meta's platforms (WhatsApp, Instagram, and Facebook) allow businesses to send free-form messages only within 24 hours of the user's last message — this is the "messaging window." Telegram has no such restriction.
The window works in your favour here: the booking link is sent as a direct reply to the user's booking request, so the window is freshly open, and users almost always complete the booking within minutes or hours. The confirmation message therefore always lands inside the open window.
Link Expiry — How Booking Sessions Stay Valid
To make the above airtight, every chat booking link is valid for 23 hours — just inside Meta's 24-hour window — and is cryptographically signed, so its expiry or the session it belongs to cannot be tampered with.
If a user taps a link after it has expired (for example, they asked for it days ago), they see a friendly "Booking Link Expired" screen with a "Return to chat" button. They simply ask the agent for a new link — and because their new message re-opens the 24-hour messaging window, the fresh link is guaranteed to work end-to-end, confirmation included.
Expiry also means session-bound links can't be reused or shared indefinitely, keeping each booking tied to the exact conversation that requested it.
7. Conversational Flow & Validation
When capturing leads on social channels like Instagram or WhatsApp, the agent must validate the user's responses in real-time.
Strict Validation
Domainchat ensures you only get high-quality leads by validating every step:
- Name Validation: Rejects numbers and symbols. If a user types "123", the agent replies: "I need a valid name to proceed!"
- Email Validation: Ensures the input is a valid email format. If a user types "no", the agent reminds them to provide an email.
- Phone Validation: Ensures the input contains between 6 and 20 numerical digits.
Cancel Flow Switch (Soft Interrupt)
If a user is halfway through giving their details but changes their mind and says, "Actually, I don't need an appointment anymore," the agent is smart enough to handle the objection.
The agent will trigger a "Cancel Flow Switch" to wipe the strict validation requirement, gracefully releasing the user from the loop and replying: "No problem at all! I've cancelled the request. How else can I help you today?"
Resuming the Flow: Because the agent has a memory of the entire conversation, if the user gets their answer and says, "Okay, I'm ready to book now," the agent seamlessly re-enters the flow. It is smart enough to remember what details were already provided and will only ask for the missing information!
8. Supported CRMs and Data Storage
Once the Sales Agent successfully captures a lead, it immediately stores the data and syncs it with your external systems.
Chat Logs & Transcripts
The user's contact information (Name, Email, Phone) and the entire conversation transcript are stored natively in Domainchat's Chat Logs.
Whether the contact is captured and managed in the built-in DC CRM or pushed to an external CRM, the total conversation history is always stored alongside the lead information. This ensures that the agent owner can read exactly what was discussed and fully understand the user's intent before reaching out to them.
External CRM Integrations
Domainchat automatically pushes these new leads directly into your configured CRM, attaching the full conversation history to the contact record so your sales team has complete context. We currently support:
- Zoho CRM
- HubSpot CRM
- Freshworks CRM