Skip to content

CRM & retention

The CRM-Based Telesales Workflow: A Step-by-Step Guide for Thai Online Shops

A practical guide to building a structured telesales workflow—covering customer context, handoff, agreed next actions, failure recovery, and measurement—for Thai e-commerce marketing and sales teams.

อ่านเป็นภาษาไทย
Three colleagues at a table reviewing blank cards with abstract markings
AI-generated editorial image of three colleagues and abstract cards; no real customer records or product interface is shown.

A Concrete Starting Point: One Shop, One Problem

Imagine SunBloom, a fictional Thai skincare shop. In September 2026, its manager Aom prepares 40 records for a follow-up planning exercise. The selected example customers have recency ranks 3 or 4 and monetary ranks 1 or 2: less-recent purchasing with stronger total-spending ranks in the chosen population. These ranks suggest histories to inspect, not permission to call or evidence that anyone needs another product.

What happens next, however, is rarely clean. By Wednesday, two of the three telesales agents have called some customers on the list, but nobody has written down what was said. One customer—let's call her Mali (a completely fictional teaching example)—gets called twice in the same week by different agents because there is no shared record. A second customer who asked to be called next month is called again the following day. A third customer complained about a delayed shipment but was treated as a pure sales prospect anyway. By Friday, Khun Aom cannot tell how many customers were actually reached, what was agreed, or who is following up.

This guide is about solving exactly that problem. It explains how to design and run a structured CRM-based telesales workflow—covering the six-step logic of every contact record, the data fields you need, handoff rules, failure recovery, and how to measure progress honestly. CasperBrain handles the analysis and planning side (which customers to call, and why). CasperCall is a separate execution product. This guide focuses on the workflow layer that sits between those two: the human process and the records that make it trustworthy.

Throughout this guide, exporting means an authorized customer CSV export. The operator can export and view only fields and records allowed by their current permissions. Every shared record, team view and handoff described below is limited to authorized recipients; no universal team access or automatic cross-product connection is implied.

Scope and Product Boundaries: CasperBrain vs. CasperCall

Before designing any workflow, every team member must understand what each tool does and does not do. CasperBrain is a retention analysis and planning product. It segments customers using RFM (Recency, Frequency, Monetary) analysis, identifies who is worth calling and why, and surfaces that context for the team. CasperBrain does not make calls, send messages, or execute outreach on its own.

CasperCall is a separate execution product. This article recommends a shared operating process between analysis and contact work; it does not establish a specific integration or automatic action in either product. Verify the features, permissions and configuration your team actually uses. Features documented for HubSpot or Dynamics 365 should not be assumed to exist in CasperBrain or CasperCall.

A useful conceptual distinction, illustrated by HubSpot's own product framing, is that a CRM stores what happened—the contact history, the agreed next actions, the outcomes—while an execution layer determines and acts on what happens next. Keeping these roles mentally separate prevents teams from either over-relying on automation or under-using their planning data. In the SunBloom example, the workflow described in this guide lives in the middle: it is the human process and shared record that connects CasperBrain's analysis to CasperCall's execution.

Sources: What is Sales Automation? – HubSpot

Data Dictionary: Six Core Fields Every Contact Record Needs

Before the first attempt, require enough customer context, a relevant reason, one owner and a verified contact-eligibility decision. Keep fields for the future outcome and next action, but allow “Not contacted / no customer agreement yet.” Record the actual outcome and learning afterward. An agent-planned retry is distinct from a date the customer has agreed to.

Inconsistent field values can make filtering unreliable. Ten spellings of 'not reached' require manual reconciliation. Agree on a controlled vocabulary before using the workflow, write it down and apply it consistently.

FieldTypeAllowed Values / FormatPurpose
Customer ContextText (structured)RFM composite code (e.g. '114'), last order date, product category, stock flag; contact eligibility: Eligible / Hold / Excluded / Needs review, with reason, last checked time, recorded preferences/refusals, identity confidence and service statusTells the agent why this customer is on the list before the call begins
Reason for ContactDropdownWin-back offer / Replenishment reminder / Service follow-up / Survey / Purchase-context and follow-up suitability checkEnsures the agent opens with the right message, not a generic script
Assigned OwnerLookup (agent name)Single agent name; must not be blankPrevents duplicate contact; defines who is accountable for this record
Agreed Next ActionText + DateNo customer agreement yet / customer-agreed action with date, time, timezone and owner / separately labelled agent-planned retryRecords the specific commitment so an authorized covering team member can honour it
OutcomeDropdown + TextNot contacted / Purchased / Callback scheduled / Declined contact / Service issue raised / Not reached / Voicemail left / Conversation completed—no agreed next action. Log attempt count N and timestamp for every attempt, including voicemail.Drives the measurement framework and determines the next workflow step
Learning / NoteFree textAny context useful for the next contact: preferred time, objection raised, product interestBuilds a richer customer picture over time without duplicating structured fields

The Six-Step Workflow: Context → Reason → Owner → Agreed Next Action → Outcome → Learning

Use these six fields across the contact lifecycle. Context, reason, ownership and eligibility come before the call; outcomes and customer agreements are recorded afterward. The order is a checklist for accountability, not a claim that every record must already contain a completed conversation.

Step 1—Context. Read purchase history, relevant notes and service status. Decode 114 digit by digit: R=1, F=1, M=4 means strong recency/frequency ranks and a lower total-spending rank in the scoring scope. Monetary value does not tell you a recent spending trend, average basket value or profit. Confirm the identity and return incomplete context for investigation before attempting sales contact.

Step 2 – Reason for Contact. The agent confirms the reason code is correct before calling. A 'Win-back offer' call to a customer who has an unresolved shipping complaint is a service failure waiting to happen. If the reason does not match the context, the agent escalates to the manager before proceeding.

Step 3—Owner. Assign one current owner. If that person is absent, the manager explicitly transfers responsibility, preserves the history and removes the previous active assignment. This makes responsibility visible and reduces duplicate-contact risk; it does not guarantee that another person or tool will enforce the rule.

Step 4—Next action. A customer-agreed action states the purpose, date or window, timezone and owner. For example, “Mali agreed on 8 September 2026 to a callback on 15 October 2026, 10:00–12:00 Bangkok time, owned by Pim.” If the call is unanswered, label any retry as an agent-planned attempt under the team’s policy; do not invent customer agreement.

Step 5 – Outcome. The agent selects the outcome from the controlled dropdown and saves the record before moving to the next call. Outcomes drive the measurement framework and determine which queue the record enters next.

Step 6 – Learning / Note. The agent adds any free-text context that structured fields cannot capture: the customer mentioned she runs out of serum every six weeks, she prefers morning calls, or she was frustrated about packaging. This field is not a place to restate the outcome—it is additional signal that makes the next contact smarter. CRM best-practice guidance consistently emphasises logging every customer interaction with the appropriate type—phone call, note, task—so that the full history is visible to any team member who opens that record later, without needing to ask colleagues what happened. If no new context was learned, record “No additional context learned” and preserve prior useful notes; never invent information to fill the field.

Sources: Work with activities – Dynamics 365 Customer Engagement (on-premises) · Track and manage activities – Dynamics 365 Sales

Labeled Step-Flow: From Assignment Through Missing-Context Return and Service Handoff

The flow below shows the paths used in this teaching example, from assignment to resolution. Pay particular attention to contact refusal and service handoff; skipping either branch can create inappropriate sales outreach.

Assignment: Manager exports CasperBrain analysis → loads records into contact system → assigns each record to a named agent → sets Reason for Contact and due date.

Pre-call gate: check identity, the proposed purpose and recorded refusals/preferences, open service issues, current owner, recent contact and any agreed callback window. A future appointment stays on hold until its window. Route a complaint to the authorized service owner before sales. Missing information returns for investigation; a complete record alone is not permission to call. Include overdue commitments in the recovery check. Check the cumulative attempt count before dialling; three unsuccessful attempts trigger the supervisor hold described below.

Call attempt: if reached, continue the conversation. If unanswered or sent to voicemail, log the outcome, timestamp and cumulative attempt count. At three unsuccessful attempts, hold further unsolicited attempts for supervisor review; below that limit, any agent-planned retry still requires the pre-call eligibility and preference checks. A customer refusal immediately ends further sales outreach. Never mark an agent-planned retry as a customer agreement.

Conversation: if the customer raises a service issue, stop selling, record “Service issue raised,” and pass the issue and relevant context to an authorized service owner. Keep discretionary sales on hold until the service issue is resolved and eligibility is checked again. Otherwise discuss the stated purpose. Record an agreed next action only if the customer actually agrees. If the conversation ends without an agreement or another listed outcome, use “Conversation completed—no agreed next action”; do not invent a callback.

Save the outcome and factual note before moving on. The responsible operator then places the record in the appropriate working or holding list. Use automatic transitions only when your actual system’s configuration has been verified; this guide does not claim such transitions exist in either Casper product.

Absent-agent handoff: If the assigned agent is absent when the agreed callback date arrives, the manager reassigns the record to a covering agent before the scheduled time, copying the full Agreed Next Action and Learning fields. The covering agent reads the record before calling. This helps the covering agent continue from the prior agreement.

Telesales Contact Record: Step-Flow with Branch Points

Read each step together with its conditions. A refusal, service issue or missing context changes the path; an agreed callback is held until its window. Numbers show conceptual sequence, not quantities.

  1. 011. Manager assigns record

    CasperBrain analysis → named agent, reason, due date

  2. 022. Pre-call context check

    Check refusal, identity, service, owner, recent contact and callback window. Future appointment→hold; service issue→authorized service owner; missing context→investigate.

  3. 033. Call attempt

    Reached → converse. Not reached → log attempt. Declined → close record

  4. 044. Mid-call service check

    Service issue raised → handoff to CS team, exit telesales queue

  5. 055. Agreed Next Action logged

    If the customer agrees: save date, time, timezone, owner and detail. Otherwise record no agreed next action; never invent a commitment.

  6. 066. Outcome + Learning saved

    Dropdown outcome + free-text note before moving to next call

  7. 077. Absent-agent handoff

    Manager reassigns before due date; covering agent reads full record

Fictional Worked Example: Mali and the Next-Month Callback

In this fictional conversation on 8 September 2026, Mali says she still has moisturiser and agrees to a callback on 15 October 2026 between 10:00 and 12:00 Bangkok time. Her example code 312 fits the opening selection: R3, F1, M2. Keep her outside discretionary sales outreach until that agreed window, with Pim as the current owner. If Pim will be absent, the manager explicitly transfers the appointment and full notes to an authorized covering agent. The new owner reads the agreement before contact.

What the record does not do: it does not guarantee Mali will purchase in October. The callback is an observed opportunity, not a causal conversion. Whether she buys depends on factors the workflow cannot control. The record supports accountability for the agreed action, with full context, on the agreed date.

FieldValue logged by Khun Pim
Customer IDSB-CUST-00291 (fictional)
Customer ContextRFM312; fictional orders SB-0041, SB-0089, SB-0147; latest item: toner; Mali reports remaining moisturiser stock. Eligibility recorded after the fictional conversation on 8 September 2026: Hold until the agreed 15 October 10:00–12:00 Bangkok callback. Recheck identity, preferences and service status before that call; no prior verification is assumed.
Reason for ContactPurchase-context and follow-up suitability check
Assigned OwnerKhun Pim
Agreed Next ActionAgreed on 8 September 2026: callback 15 October 2026, 10:00–12:00 Bangkok time; owner Pim; ask about stock and discuss serum only if Mali remains interested.
OutcomeCallback scheduled
Learning / NoteMali has sufficient moisturiser stock until mid-October. Receptive to serum intro next call. Prefers calls between 10:00–12:00. Do not pitch replenishment before the agreed 15 October callback window.

Before-and-After Handoff Table: What Changes When the Assigned Agent Is Absent

An absent agent can leave a callback without coverage or cause duplicate contact when ownership is unclear. The table compares two ways to handle the same agreed appointment when its assigned agent is unavailable.

DimensionWithout structured handoffWith structured handoff
Callback awarenessLives in agent's personal notes or memory; lost when agent is absentShared appointment and owner visible to authorized team members.
Who callsWhoever notices the customer is 'due' a call, or nobody calls at allManager reassigns record to named covering agent before the scheduled time
Customer context available to covering agentNone; covering agent calls blind or with generic scriptFull record: RFM context, prior call note (stock status, serum interest, preferred call time)
Risk of duplicate contactHigh: original agent may call on return; covering agent may have already calledOne current owner; preserve history when transferring; hold outside active sales until the agreed window.
Agreed next action preservedNo; restarts from scratchYes; covering agent honours the specific agreed date and conversation thread
Customer experienceSurprised to be called by a stranger who does not know her situationCovering agent can refer to the prior agreement and explain the handoff.
Manager visibilityNone until complaint arisesReal-time: manager can see all records due for callback today and their assigned owners

Measurement Framework: Coverage, Contact, and Purchase Rates with Correct Denominators

A separate fictional campaign fixes 40 assigned customer identities at 09:00 on 8 September 2026 and observes all of them until 09:00 on 22 September—the same 14-day window. Count distinct customers at each stage. Thirty receive an attempt, 18 are reached, and six place at least one valid order. Assume all six purchasers are among the 18 reached, and none among the other 22. Multiple calls or orders from one person do not create extra customers.

Assigned customers: 40 (the list exported from CasperBrain analysis and loaded into the contact system).

Coverage is 30 distinct customers attempted ÷ 40 assigned=75%. Ten assigned records receive no sales attempt: three need context investigation, four move to service handling and three miss timely reassignment. Report these reasons separately. Correctly routing a service case is an appropriate handling outcome, not evidence that an agent failed to work. The fixed assigned denominator still makes the full campaign disposition visible.

Distinct customers reached: 18 of the 30 attempted. Reach among attempted customers is 18 ÷ 30 = 60%. Overall assigned-customer reach is also a valid measure: 18 ÷ 40 = 45%. Label the denominator explicitly; the two rates answer different questions.

Within the same fixed 14-day window, six distinct purchasers represent 6 ÷ 40=15% of assigned customers and 6 ÷ 18 ≈ 33.33% of reached customers. Reusing six in both numerators is valid only because this example expressly places all six in the reached group. If another subgroup purchases, report its own numerator instead.

These are observed purchase shares, not causal lift. For a stronger campaign comparison, prospectively randomize otherwise eligible customers to the additional outreach or a holdout, use the same observation horizon and analyse original assignments. Do not withhold agreed callbacks or necessary service. A merely matched uncalled group can still differ in unobserved ways. Also distinguish percentages from percentage points: 28.33% to 33.33% is a 5-percentage-point difference.

Before 22 September 09:00, label the campaign purchase result preliminary. The fixed denominator remains 40, while further qualifying purchases may or may not occur. Do not describe the numerator as certain to grow. Coverage and contact can be reported with the same current cutoff and their own definitions.

Fictional Campaign Funnel: 40 Assigned Customers

Fictional teaching example. All numbers are invented. Denominators differ at each stage—read each bar's denominator in the section text before comparing rates. Observed rates only; no causal claim.

  1. 40 customersAssigned

    Total list from CasperBrain analysis

  2. 30 customersAttempted

    30 of 40 assigned (75% coverage)

  3. 18 customersReached

    18 of 30 attempted (60% contact rate)

  4. 6 customersPurchased (within 14 days)

    Six distinct purchasers in the common 14-day window, all among 18 reached; 6/18 ≈ 33.33% and 6/40=15%.

Four Failure Modes and Recovery Playbooks

The following four scenarios describe workflow risks and specific recovery steps. They are teaching cases, not a ranking of failure frequency.

Failure 1 – Missing context before the call. Symptom: agent calls a customer who has an open service complaint and pitches a win-back offer; customer escalates. Root cause: the pre-call context check was skipped. Recovery: implement a mandatory pre-call checklist (open service issues field must be 'None' before a sales call proceeds). For any record where this field is blank, the default rule is to treat it as a potential issue and verify with the manager. Retroactively update all records in the current batch before resuming calls. This sales hold does not prevent an authorized service owner from making an appropriate service-resolution contact.

Failure 2 – Duplicate contact: check the current owner, callback window and recent-contact log before any new sales attempt. If the responsible agent changes, the manager explicitly transfers ownership while preserving history and ending the previous assignment. A callback status must not make legitimate reassignment impossible. If a duplicate occurs, record it, acknowledge the mistake through an appropriate contact and review the process.

Failure 3 – Agreed callback missed. Symptom: Mali was promised a call on 15 October; nobody called. Root cause: agreed date logged but not surfaced in a daily queue; agent absent; no handoff process. Recovery: manager runs a daily check of all records with Agreed Next Action dates due today or overdue. Any record where the assigned agent is absent is reassigned before the business day starts, not after the missed call is noticed. For records already missed, check the recorded contact preferences before arranging a suitable recovery contact, acknowledge the delay, and agree a new date.

Failure 4 – Declined-contact customer re-contacted. Symptom: customer who explicitly said 'do not call me again' is called two weeks later by a different agent. Root cause: 'Declined contact' outcome was not applied correctly, or the record was re-added to a new campaign list without checking prior outcomes. Recovery: before loading any new campaign list, run an exclusion filter against all records with 'Declined contact' outcome. This is not only a workflow failure—it is a customer experience and potential compliance issue. Never automate contact without verifying exclusion lists first.

Sources: What is Sales Automation? – HubSpot · 10 Activities to Perform Right in Your CRM – HubSpot Blog

Manager Checklist: Daily and Weekly Quality Gates

Use the following checklist as SunBloom’s illustrative operating policy, not a product specification or universal performance target. Three-attempt limits and 70%/50% thresholds are example choices to evaluate against actual workload and preferences. Responsibility remains with the team, whether reminders are manual or use verified automation.

CadenceCheckAction if failed
DailyAll commitments due today or overdue have a named current owner; recovery respects recorded contact preferencesReassign absent-agent records before the business day starts
DailyCustomers with three unsuccessful attempts and no conversation or refusal need a supervisor reviewHold further unsolicited attempts while the supervisor checks history, preferences and whether any permitted follow-up is useful; retain the recorded outcome
DailyAll calls logged yesterday have an Outcome selected and a Learning note entered; “No additional context learned” is valid when truthful, and prior useful notes remain intactReturn incomplete records to agent for completion before they make any new calls
DailyNo customer with 'Declined contact' outcome appears in today's call queueRemove immediately; audit how the record re-entered the queue
WeeklyCoverage rate (attempted ÷ assigned) for the current batchIf below 70%, identify the bottleneck: missing context, service issues, or absent agents
WeeklyContact rate (reached ÷ attempted) for the current batchIf below 50%, review call times, scripts, and whether the assigned-customer list is accurately phone-verified
WeeklyAll 'Service issue raised' records have been acknowledged by the customer service teamEscalate unacknowledged records; do not allow them to re-enter the telesales queue until resolved
WeeklyReview Learning notes from the week for patternsUpdate scripts, call-time preferences, or product focus based on recurring signals

One-Week Pilot Plan: From Data Preparation to First Review

A one-week pilot lets you test the workflow with a small, manageable batch before scaling. The goal is not to maximise calls—it is to validate that every step of the workflow functions as designed and that the measurement framework produces numbers you trust.

Day 1: prepare records for 20 eligible existing customers with context, reason, owner and eligibility checked. Mark unused outcome/agreement fields “Not contacted / no agreement yet.” Exclude refused sales contact, route service issues correctly and hold future appointments. Confirm unique verified identities without discarding order history. Agree on the outcome vocabulary and where the shared record lives.

Day 2 – Briefing and dry run. Walk agents through the six-step workflow using the Mali example as a teaching case. Role-play two scenarios: a customer who agrees to a callback, and a customer who raises a service issue mid-call. Confirm that every agent knows what to log, where to log it, and what to do if context is missing before the call.

Days 3 and 4 – Live calls. Agents work through their assigned records. Manager monitors the contact system in real time. No agent proceeds to a new call until the previous record's Outcome and Learning fields are saved. Manager checks the daily checklist at the start and end of each day. A truthful “No additional context learned” is sufficient for an unanswered call; keep previous notes.

Day 5 – First measurement review. Calculate coverage rate, contact rate, and—if any purchases have been confirmed within the observation window—the provisional purchaser rate with its correct denominator and an 'incomplete cohort' flag. Identify which failure modes occurred and which records need recovery actions. Hold a 30-minute debrief: what did agents learn that the data dictionary does not yet capture? What fields were left blank most often, and why?

After the pilot, resolve the observed data and handoff problems before increasing the workload. Update the template only where a recurring omission changes a decision. The cited HubSpot guidance discusses preparation in its own product context; this article does not claim that a fixed two-week cleanup guarantees a successful implementation.

Sources: What is Sales Automation? – HubSpot · Track and manage activities – Dynamics 365 Sales

Limitations and Honest Expectations

The workflow makes commitments, ownership and missing information easier to inspect. It cannot guarantee that every appointment will happen or that a customer will purchase. Its practical value is accountability: the team can see what was agreed, who is responsible and which exception needs action. Verify actual execution instead of assuming a saved record completes the work.

CRM activity logging principles described in this guide draw on documented best practices from Dynamics 365 and HubSpot. Those products have specific features—timestamped activity logs, roll-up under parent records, shared inboxes—that are documented for their own platforms. Whether CasperBrain stores activity logs in the same structural way, or whether CasperCall implements handoff UI in the same manner, is not established by those sources and must be verified against CasperBrain's and CasperCall's own documentation. Do not assume parity.

RFM scores in CasperBrain use four quartiles where 1 is best and 4 is worst. A composite of '114' means quartile 1 on recency, quartile 1 on frequency, and quartile 4 on monetary value. Other vendors may use reversed five-level scoring (where 5 is best). Never import another vendor's RFM conventions into CasperBrain's framework—the rankings are not interchangeable and will produce incorrect segmentation if mixed.

Finally, the measurement framework in this guide produces observed rates, not causal lift. If your reached-purchaser rate is 33.33%, you know that one-third of the customers you reached purchased within 14 days. You do not know from that number alone how many would have purchased without a call. Treating observed rates as proof of call effectiveness can lead to over-investment in telesales at the expense of other channels. Design a holdout group if causal attribution matters to your decisions.

Sources: Work with activities – Dynamics 365 Customer Engagement (on-premises) · Track and manage activities – Dynamics 365 Sales · HubSpot Starter Customer Platform

Sources and editorial method

Examples are fictional and contain no customer records. Prepared by the CasperBrain team with AI drafting assistance; facts and language are checked before publication.