Playbook · data

One person, one timeline, before two Thursday slots

Two ads and a walk-in are one person; merge before two desks offer two slots on the same morning. Qualification and calendars assume a single contact. This is not a sixth pipeline stage.

  • Merge before dual slots
  • Keep the thread
  • Not a board column

Definition

Duplicate patients is detecting and merging contacts that are the same person so qualifier fields and appointments are not split across two cards.

Two reminders for one human

Meta + QR + website create twins. Two T-24h templates fire. Show-rate lies. Merge in CRM; do not add a Duplicate column. SMS to both numbers only doubles the spam — still not a reason to skip merge.

Omnichannel sequence

Runs beside capture. Finish merge before appointment-booking.

  1. Match Phone, name, or your rules on New enquiry.
  2. Merge Keep the omnichannel thread.
  3. Union fields Qualifier values and source tags.
  4. Then book One calendar event.

How it runs in CoPulse

CRM merge is the runtime. Agents should not book a second slot when a twin exists. Do not use autonomous tasks as the inbound qualifier. Conversation agents, Growth drips, and autonomous list sends are three systems with no shared stop-when-booked contract. WhatsApp live catalog is Gupshup. Phone is Plivo; email is SES. Wallet-only pricing: preview the Organization wallet before a blast. Organization and Project — never a personal doctor phone that vanishes when the receptionist leaves.

Conversation agent

Patient Inquiry Qualifier (reason, service_need, location, preferred_times). Catalogs: Departments, Doctors, Beds, Services — not a chart. Emergency utterances: call emergency services. Inbox handoff. Workflows can crm.create_task “possible duplicate” rather than auto-merge blindly.

Workflows

Agents → Workflows on stage change: agent.run, route.agent, crm.set_custom_properties, crm.update_stage, crm.create_task, templated send.whatsapp/email. Not adaptive nurture.

Growth campaigns / drips

Clock-based sequences and list blasts with wallet preview. Campaign conversion is reply rate unless you also track Appointment booked on the pipeline.

Agent router

Keep a dental bot off a health-check reply. Route by stage, channel, or campaign.

Operator setup

One Organization, one Project. Healthcare pipeline labels. Wallet-only. Library kits are sketches — rewrite hops without SMS and without a diagnostic triage agent.

Setup → Channels (WhatsApp/Gupshup, Web, Meta, Email/SES, Phone/Plivo as needed) → Library templates → Agents → Studio (Patient Inquiry Qualifier, catalogs, appointment skill, emergency guardrail, handoff) → Router → Setup → Customers → Pipeline (five default columns) → Appointments/calendars → Agents → Workflows (stage changed: agent.run, route.agent, crm.set_custom_properties) → Growth with Organization wallet preview. Connect SMS (MSG91) under Setup → Channels when you want that hop.

Thursday 10:30 offered twice

Desk A books from the ad. Desk B books from QR. Merge before 10:25. One Appointments record. Reminder playbook sends once.

Click-path: Customers → contact → merge. Train ops, not a secret bot diagnosis of “same patient by symptoms.”

Operators assemble this job on the Project. Click-path remains Setup → Channels (WhatsApp/Gupshup, Web, Meta, Email/SES, Phone/Plivo as needed) → Library templates → Agents → Studio (Patient Inquiry Qualifier, catalogs, appointment skill, emergency guardrail, handoff) → Router → Setup → Customers → Pipeline (five default columns) → Appointments/calendars → Agents → Workflows (stage changed: agent.run, route.agent, crm.set_custom_properties) → Growth with Organization wallet preview. Connect SMS (MSG91) under Setup → Channels when you want that hop. Keep the quotable definition in the brief for the team: Duplicate patients is detecting and merging contacts that are the same person so qualifier fields and appointments are not split across two cards. Do not use autonomous tasks as the inbound qualifier. Conversation agents, Growth drips, and autonomous list sends are three systems with no shared stop-when-booked contract. While you implement, keep the parent playbooks directory, New enquiry, WhatsApp overlay, Clinics, Agent Studio, Growth campaigns, and wallet-only pricing in the same runbook. Do not invent Meta Cloud WhatsApp if the catalog is Gupshup. Do not promise adaptive nurture. Human handoff stays in the omnichannel inbox. Appointments and calendars are the slot truth when this job books time. Library templates are required outside the 24-hour WhatsApp window. Workflows fire on pipeline stage change only when you attach them under Agents → Workflows. The agent router keeps the wrong bot off this thread. Knowledge bases hold Departments, Doctors, Beds, and Services catalogs — not a clinical chart. Preview the Organization wallet before a blast. Do not claim HIS or EMR replacement. The Duplicate patients playbook never forks into a WhatsApp-only or voice-only child URL. Funnel percentages on library kits are estimates, not an SLA. Autonomous success is sends, reads, or contacted — not appointment booked. If this job mentions money, the Organization wallet is the meter. That is the honest operating manual for this URL.

Channel sequence (one job, not extra URLs)

Data job hops. There is no nested playbook-by-channel path.

Hop Channel What happens Exit to next hop
1 CRM Detect twins Task or merge UI
2 Inbox Keep history One thread
3 Calendars Collapse double slots One event
4 WhatsApp One reminder Not two templates

Frequently asked questions

Merge vs extra stages.

Is Duplicate a pipeline stage?

No. CRM merge on the five-column board.

Auto-merge?

Prefer a task plus human confirm for healthcare names.

SMS both numbers?

Merge first regardless.

Different family members sharing a phone?

Do not merge those. Tag relationship in properties.

HIS duplicates?

HIS stays HIS. This is the engagement contact.

When to merge?

Before appointment-booking.

Merge before you offer the slot

One contact, one calendar, one reminder.

Get started free