Docs Patient CRM

Patient CRM

Manage contacts, custom fields, lifecycle stages, patient portal access, and data import/export.

Overview

The Patient CRM is the central hub for managing all contact data in Helpon. Access it from Helpon → Contacts in your WordPress admin sidebar. Every person who interacts with your practice through any channel is stored here as a contact record.

Contacts are created in three ways:

  • Automatically from chat — When a visitor starts a conversation and provides their name or email (via pre-chat form or during the chat), a contact record is created or matched automatically.
  • Manual creation — Staff can add contacts directly from the CRM by clicking the Add Contact button and filling in the profile fields.
  • CSV import — Bulk-import existing patient records from a spreadsheet. Helpon maps your columns to CRM fields and handles deduplication.
ℹ️
Unified Contact Record

A single contact record aggregates all interactions across every channel — website chat, WhatsApp, Instagram, Facebook Messenger, and email. No matter where the patient reaches out, their history lives in one place.

Contact Management

Each contact has a dedicated profile page containing their personal information, conversation history, appointments, notes, and activity timeline. The contacts list view provides search, filtering, and bulk actions.

Contact Profile Fields

Every contact record includes the following default fields:

  • Full Name — First and last name
  • Email Address — Primary email used for notifications and portal access
  • Phone Number — With country code for WhatsApp and SMS
  • Notes — Free-text internal notes visible only to your team
  • Tags — Labels for categorization and segmentation
  • Lifecycle Stage — Current stage in the patient journey
  • Assigned Agent — The team member responsible for this contact
  • Source — How the contact was created (chat, import, manual, API)
  • Created Date — When the contact was first added
  • Last Activity — Timestamp of the most recent interaction

Adding a Contact Manually

1

Open the Contacts Page

Navigate to Helpon → Contacts in your WordPress admin. You will see the contacts list with search and filter controls.

2

Click Add Contact

Click the Add Contact button in the top-right corner. A form will open with all available profile fields.

3

Fill in Details

Enter the contact's name, email, phone, and any custom fields. Assign tags and a lifecycle stage as needed. Only the name field is required.

4

Save the Contact

Click Save Contact. The new record appears in the contacts list and is immediately available for conversations, appointments, and automation workflows.

Contact Detail Page

JD
Jane Doe
jane.doe@email.com • +1 (555) 234-5678
Patient VIP
Lifecycle Stage: Patient
Assigned Agent: Dr. Smith
Source: Website Chat
Created: Jan 15, 2026
Last Activity: 2 hours ago
Total Conversations: 12
Internal Notes
Prefers morning appointments. Allergic to penicillin. Insurance: BlueCross PPO.

Conversation History

The contact detail page shows a complete history of every conversation the patient has had across all channels. Click any conversation to view the full transcript, including AI responses, agent messages, and system events such as transfers or escalations.

Merge Duplicate Contacts

If a patient has multiple records (for example, one from chat and one from import), you can merge them:

1

Select Contacts

In the contacts list, check the boxes next to the duplicate records (up to 5 at a time).

2

Click Merge

Click Bulk Actions → Merge Selected. A merge preview shows which record will be the primary and which fields will be kept.

3

Confirm Merge

Review the merged profile preview, adjust any field values if needed, and click Confirm Merge. All conversation history, appointments, and activity logs are combined into the primary record.

⚠️
Merge Is Permanent

Merging contacts cannot be undone. The secondary records are deleted after the merge. Make sure you have selected the correct contacts before confirming.

Custom Fields

Custom fields let you capture additional data specific to your practice beyond the default contact fields. Create unlimited custom fields to store insurance information, medical IDs, preferred appointment types, or any other data your team needs.

Creating Custom Fields

Navigate to Helpon → Settings → CRM → Custom Fields to manage your field definitions.

Custom Field Builder
Field Label *
Insurance Provider
Field Type *
Dropdown ▾
Field Key
insurance_provider
Dropdown Options
BlueCross, Aetna, Cigna, UnitedHealth, Other
Separate options with commas
Required
No
Show in Chat Widget
Yes
Save Field
Cancel

Field Types

Type Description Example Use
Text Single-line text input up to 255 characters Patient ID, referral source
Number Numeric values with optional min/max validation Age, number of visits
Date Date picker with configurable format Date of birth, last visit date
Dropdown Single selection from a predefined list of options Insurance provider, preferred location
Checkbox Boolean true/false toggle Consent given, newsletter opt-in
Textarea Multi-line text input for longer content Medical notes, special instructions
URL Validated web address field Patient portal link, external record

Field Ordering & Display

Drag and drop custom fields in the field list to reorder them. The order determines how they appear on the contact detail page and in the pre-chat form (if enabled). Fields marked as Required must be filled in before a contact can be saved manually. Fields with Show in Chat Widget enabled will appear in the pre-chat form so visitors can provide the information before starting a conversation.

Keep Pre-Chat Forms Short

Only enable 2-3 custom fields in the chat widget pre-chat form. Too many fields can reduce visitor engagement and lower your chat initiation rate.

Tags & Segments

Tags are labels you attach to contacts for quick categorization. Segments are dynamic groups of contacts based on tags, field values, and activity criteria. Together, they let you organize your contacts and target specific groups for broadcasts, automation, and reporting.

Creating Tags

1

Navigate to Tags

Go to Helpon → Contacts → Tags. You will see a list of all existing tags with their contact counts.

2

Add a New Tag

Click Add Tag, enter a name (e.g., "VIP", "Orthodontics", "Follow-Up Needed"), choose a color, and click Save. Tags can also be created inline from any contact's profile page.

3

Apply Tags to Contacts

Open a contact profile and click the Tags field to add or remove tags. You can also apply tags in bulk by selecting multiple contacts and using Bulk Actions → Add Tag.

Auto-Tagging Rules

Set up rules to automatically apply tags based on contact behavior. Navigate to Helpon → Settings → CRM → Auto-Tagging to configure rules. Examples:

  • Channel-based: Automatically tag contacts with "WhatsApp" when they initiate a WhatsApp conversation.
  • Keyword-based: Apply "Emergency" tag when a chat message contains words like "urgent" or "emergency".
  • Appointment-based: Tag contacts with their service type (e.g., "Dental Cleaning") after booking an appointment.
  • Page-based: Tag contacts with "Pricing Inquiry" if they started a chat from your pricing page.

Creating Segments

1

Navigate to Segments

Go to Helpon → Contacts → Segments and click Create Segment.

2

Define Conditions

Build your segment using conditions with AND/OR logic. Filter by tags, custom field values, lifecycle stage, last activity date, conversation count, source channel, or assigned agent.

3

Save the Segment

Name your segment (e.g., "Active Patients - Ortho") and click Save Segment. Segments are dynamic — contacts automatically enter or leave the segment as their data changes. Saved segments are available as recipients in broadcast campaigns and automation workflows.

ℹ️
Dynamic Segments

Segments update in real time. If a contact's tag or field value changes and no longer matches the segment conditions, they are automatically removed from the segment. No manual maintenance is required.

Lifecycle Stages

Lifecycle stages track where each contact is in their journey from first interaction to active patient and beyond. Stages help your team prioritize follow-ups, trigger targeted automations, and measure conversion rates through your patient funnel.

Default Stages

Stage Description Typical Trigger
New A brand-new contact who has just been created. No meaningful interaction yet beyond the initial chat or form submission. Contact created from chat, import, or manual entry
Engaged The contact has had multiple interactions, asked questions, or shown interest in services. 3+ messages exchanged or returned for a second conversation
Qualified The contact has expressed clear intent to book or has been vetted by an agent as a potential patient. Appointment inquiry, insurance question, or agent qualification
Patient The contact has booked and attended at least one appointment and is now an active patient. First completed appointment
Inactive The contact has not had any interaction for a configurable period (default: 90 days). No activity for 90 days

Custom Stages

Add your own stages to match your workflow. Go to Helpon → Settings → CRM → Lifecycle Stages and click Add Stage. Enter a name, choose a color, and drag it into position in the pipeline order. Common custom stages include "Consultation Scheduled", "Treatment In Progress", and "Post-Treatment Follow-Up".

Lifecycle Stage Pipeline
New
Engaged
Qualified
Patient
Inactive
Custom Stages (drag to reorder)
Consultation Scheduled
Treatment In Progress
Post-Treatment Follow-Up

Auto-Progression Rules

Configure rules to automatically move contacts between stages based on their activity. Go to Helpon → Settings → CRM → Stage Automation to define progression triggers:

  • New → Engaged: Contact sends 3 or more messages or returns for a second conversation.
  • Engaged → Qualified: Contact asks about appointments, pricing, or insurance in their chat messages.
  • Qualified → Patient: Contact completes their first appointment.
  • Any Stage → Inactive: No interaction for the configured inactivity period (default: 90 days).

Stage-Based Automation Triggers

Lifecycle stage changes can trigger automation workflows. For example, when a contact moves to "Qualified", you can automatically send a booking link via WhatsApp. When a contact becomes "Inactive", trigger a re-engagement email sequence. Configure these in Helpon → Automation → Workflows using the "Lifecycle Stage Changed" trigger.

💡
Monitor Conversions

Use the Analytics dashboard to track how many contacts move between stages each week. This gives you a clear picture of your patient acquisition funnel and helps identify bottlenecks.

Patient Portal

The Patient Portal gives your patients a self-service area where they can view their appointment history, access chat transcripts, download shared documents, and update their profile information. The portal is a branded page hosted on your WordPress site.

Enabling the Patient Portal

1

Activate the Portal Module

Go to Helpon → Settings → Patient Portal and toggle the Enable Patient Portal switch to on.

2

Configure Portal Settings

Set the portal page slug (default: /patient-portal), choose which sections are visible (appointments, chat history, documents, profile), and configure the access method (magic link via email or password-based login).

3

Customize Branding

Upload your logo, set the portal's primary color to match your brand, and customize the welcome message that patients see when they log in.

4

Invite Patients

Send portal access invitations from the contact detail page by clicking Send Portal Invite, or enable automatic invitations when a contact reaches the "Patient" lifecycle stage.

Portal Features

JD
Welcome back, Jane
Patient Portal
📅
My Appointments
View upcoming and past appointments, reschedule or cancel.
💬
Chat History
Review all previous conversations and continue existing chats.
📄
Documents
Download shared files, forms, and treatment plans.
👤
My Profile
Update contact details, preferences, and notification settings.

Portal URL & Access

The patient portal is accessible at yourdomain.com/patient-portal (or your custom slug). Patients authenticate using a magic link sent to their email address, or with a password if you have enabled password-based login. Magic links expire after 24 hours and can only be used once.

ℹ️
Portal Requires SSL

The patient portal requires your site to have an active SSL certificate (HTTPS). Login tokens and patient data are transmitted securely and will not function over plain HTTP.

Activity Timeline

The Activity Timeline is a chronological log of every interaction a contact has had with your practice. It appears on the contact detail page and provides a complete audit trail for each patient. All events are timestamped and attributed to the source (chat, agent, system, or automation).

Event Types

The timeline captures the following events:

  • Chat messages — Both visitor and agent/AI messages with the full text
  • Appointments — Booked, rescheduled, cancelled, and completed appointments
  • Notes — Internal notes added by team members
  • Emails — Sent and received emails including automated notifications
  • Stage changes — Lifecycle stage transitions with the previous and new stage
  • Tag changes — Tags added or removed with the user or rule that triggered the change
  • Portal activity — Patient portal logins, document downloads, and profile updates
  • Automation events — Workflow triggers, actions executed, and broadcast deliveries
Activity Timeline — Jane Doe
All Chats Appointments Notes Emails
Today, 10:32 AM
Appointment Completed
Dental Cleaning with Dr. Smith — 30 min
Today, 9:15 AM
Chat Conversation
Confirmed appointment via website chat — 4 messages
Yesterday, 3:45 PM
Email Sent
Appointment reminder — "Your appointment is tomorrow at 10:30 AM"
Mar 1, 2:20 PM
Stage Changed
Qualified → Patient (auto-progression: first appointment completed)
Feb 28, 11:00 AM
Note Added
By Dr. Smith: "Patient prefers morning appointments. Update insurance on file."

Filtering & Exporting

Use the filter tabs above the timeline to show only specific event types. You can also filter by date range using the date picker. To export a contact's full activity timeline, click the Export Timeline button on the contact detail page. The export is available as a CSV or PDF file, which is useful for compliance audits and GDPR data requests.

Import & Export

Helpon supports bulk data operations to help you migrate from other systems, create backups, and comply with data regulations.

CSV Import

1

Prepare Your CSV

Format your CSV file with column headers matching the contact fields. Include at minimum a name or email column. The first row must contain column headers.

2

Upload the File

Navigate to Helpon → Contacts → Import and click Choose File. Select your CSV file (maximum 10MB, up to 10,000 rows per import).

3

Map Fields

Helpon auto-detects common column names. Review and adjust the field mapping to ensure each CSV column maps to the correct CRM field. Unmapped columns are skipped.

4

Configure Options

Choose how duplicates are handled: Skip (do not import duplicates), Update (overwrite existing fields), or Create New (always create a new record). Duplicates are matched by email address.

5

Run Import

Click Start Import. A progress bar shows the import status. When complete, a summary report shows how many contacts were created, updated, and skipped. Any errors are listed with row numbers so you can correct the source file.

CSV Format Example

CSV
first_name,last_name,email,phone,tags,lifecycle_stage,insurance_provider,date_of_birth
Jane,Doe,jane.doe@email.com,+15552345678,"VIP,Orthodontics",Patient,BlueCross,1990-05-14
John,Smith,john.smith@email.com,+15559876543,New Patient,New,Aetna,1985-11-22
Maria,Garcia,maria.garcia@email.com,+15551234567,"Follow-Up",Engaged,Cigna,1978-03-08
Robert,Johnson,robert.j@email.com,+15554567890,"",Qualified,UnitedHealth,1992-09-30
Download a Template

Click Download CSV Template on the import page to get a pre-formatted file with all default and custom field columns. Fill it in and re-upload for a seamless import experience.

Export Contacts

Export your contacts list from Helpon → Contacts → Export. You can export all contacts, a filtered subset, or a specific segment. Choose which fields to include in the export and select the output format (CSV or XLSX).

Scheduled Exports

Set up recurring exports to receive a fresh contacts file on a regular basis. Go to Helpon → Settings → CRM → Scheduled Exports and configure:

  • Frequency: Daily, weekly, or monthly
  • Scope: All contacts, a specific segment, or contacts modified since last export
  • Delivery: Email the file to specified addresses or save to a connected cloud storage (Google Drive, Dropbox)
  • Format: CSV or XLSX

GDPR Data Export Requests

Helpon supports the right to data portability under GDPR. When a patient requests their data:

1

Locate the Contact

Search for the patient in Helpon → Contacts and open their profile.

2

Generate Data Export

Click Actions → GDPR Data Export. Helpon compiles all data related to the contact: profile fields, conversation transcripts, appointment history, activity timeline, and any uploaded documents.

3

Download or Send

Download the ZIP archive containing structured JSON and CSV files, or email it directly to the patient's email address on file. All exports are logged in the activity timeline for compliance purposes.

⚠️
Data Deletion Requests

For GDPR "right to erasure" requests, use Actions → Delete Contact & Data. This permanently removes all contact data, conversations, and files. This action cannot be undone and is logged for audit purposes.

Troubleshooting

Common CRM issues and how to resolve them:

Duplicate Contacts

  • Why it happens: A visitor chats without providing an email, then returns later with a different session. Or the same person is imported from a CSV and also exists from a chat interaction.
  • How to fix: Use the merge feature (select duplicates and click Bulk Actions → Merge Selected). For future prevention, enable the pre-chat form to collect email addresses before the conversation starts.
  • Automatic deduplication: Enable Helpon → Settings → CRM → Auto-Deduplicate to let Helpon automatically detect and suggest merges when contacts share the same email or phone number.

Import Errors

  • Invalid email format: Ensure all email addresses follow the standard format (name@domain.com). Rows with invalid emails are skipped and listed in the error report.
  • Encoding issues: Save your CSV file with UTF-8 encoding. Special characters (accented letters, non-Latin scripts) may appear corrupted with other encodings.
  • File too large: The maximum import file size is 10MB (approximately 10,000 rows). Split larger files into multiple imports.
  • Unmapped columns: Columns that are not mapped to CRM fields during the mapping step are silently skipped. Double-check the mapping preview before starting the import.

Custom Fields Not Showing

  • In the contact form: Verify the field status is set to "Active" in Helpon → Settings → CRM → Custom Fields. Inactive fields are hidden from all forms.
  • In the chat widget: Make sure the "Show in Chat Widget" toggle is enabled for the field. Also confirm that the pre-chat form is enabled in Helpon → Settings → General → Pre-Chat Form.
  • After import: Custom field values from CSV imports only populate if the CSV column was correctly mapped to the custom field key during the mapping step.

Patient Portal Access Issues

  • Login link not working: Magic links expire after 24 hours. Ask the patient to request a new link from the portal login page. Also verify their email address is correct in the CRM.
  • Portal page not found (404): Go to WordPress → Settings → Permalinks and click Save Changes to flush rewrite rules. This is required after enabling the portal for the first time.
  • Portal not showing data: Ensure the contact has the correct email address linked and that portal access has been granted (either via invitation or automatic enrollment at the "Patient" lifecycle stage).
  • SSL error: The patient portal requires HTTPS. If your site does not have an active SSL certificate, the portal will not load. Install an SSL certificate and update your WordPress Site URL to use HTTPS.
ℹ️
Need More Help?

If your issue is not listed here, check the Helpon → Settings → System Info page for diagnostic details and contact support with the debug log attached.