CRM & Contacts
Manage customer relationships and track deals
CRM & Contact Management
Hal includes a built-in CRM to help you manage customer relationships, track deals through your sales pipeline, and organize contact information—all in one place.
Overview
The CRM feature combines:
- Contact Database - Store and manage visitor information
- Pipeline Management - Visual Kanban board for tracking deals
- Custom Stages - Define your own sales or support workflow
- Conversation History - All chats linked to contact records
- Custom Fields - Track additional metadata about contacts
Contacts
Automatic Contact Creation
Hal automatically creates a contact record when:
- A visitor starts their first conversation
- A visitor provides their email address
- You manually create a contact from the Contacts page
Each contact includes:
- Name - Display name from widget identification
- Email - Email address (if provided)
- Visitor ID - Unique identifier for tracking across sessions
- First Seen - Date of first conversation
- Last Seen - Date of most recent activity
- Conversations - Number of chat sessions
- Metadata - Custom attributes passed via the widget
Viewing Contacts
Access your contact database from Contacts in the main navigation. The contacts list shows:
- Contact name and email
- Current pipeline stage (if assigned)
- Last activity timestamp
- Number of conversations
Click any contact to view:
- Full contact details and metadata
- Complete conversation history
- Pipeline stage and deal information
- Activity timeline
Editing Contact Information
You can manually update contact details:
- Open the contact from the Contacts page
- Click the edit icon
- Update name, email, or custom metadata
- Save changes
Pipeline Management
What is a Pipeline?
A pipeline is a visual workflow for tracking contacts through stages. Common use cases:
- Sales Pipeline - Lead → Qualified → Proposal → Closed Won
- Support Pipeline - New → In Progress → Waiting → Resolved
- Onboarding Pipeline - Signed Up → Activated → Onboarded → Active
Creating Pipeline Stages
Set up your pipeline in Settings > CRM Settings:
-
Define stages
Create stages that match your workflow. For a sales pipeline, you might use: Lead, Qualified, Proposal, Negotiation, Closed Won, Closed Lost.
-
Set stage order
Arrange stages in the order contacts typically progress through them.
-
Assign colors
Choose colors for each stage to make the Kanban board visually clear.
-
Save configuration
Your pipeline stages are now available in the CRM view.
Using the Kanban Board
Access the CRM Kanban board from CRM in the main navigation:
- Visual Organization - See all contacts organized by stage
- Drag and Drop - Move contacts between stages by dragging cards
- Quick Actions - Click a contact card to view details or start a conversation
- Stage Counts - See how many contacts are in each stage
Moving Contacts Through Stages
There are three ways to update a contact's stage:
- Drag and drop on the Kanban board
- Use the dropdown on the contact detail page
- Via API programmatically update stages
Each stage change is recorded in the contact's activity timeline.
Deal Tracking
Associate deal value with contacts to track revenue:
- Deal Amount - Set expected or actual value
- Currency - Support for multiple currencies
- Close Date - Expected or actual close date
- Probability - Likelihood of closing (percentage)
The CRM dashboard shows total pipeline value and forecasted revenue based on stage and probability.
Custom Metadata
Store additional information about contacts using custom metadata:
Via Widget
window.HalSettings = {
appId: 'your-app-id',
visitorId: user.id,
name: user.name,
email: user.email,
metadata: {
plan: 'pro',
mrr: 99,
signupDate: '2024-01-15',
company: 'Acme Inc'
}
};
Via API
Update contact metadata programmatically:
PATCH /api/contacts/:id
{
"metadata": {
"plan": "enterprise",
"seats": 50
}
}
Metadata appears in the contact detail view and can be used for filtering and segmentation.
Contact Segmentation
Filter and segment contacts based on:
- Pipeline Stage - View contacts in specific stages
- Date Range - Filter by first seen, last seen, or activity date
- Metadata - Search by custom attributes
- Conversation Count - Find active vs. inactive contacts
Exporting Contact Data
Pro Business
Export your contact database to CSV for analysis or integration with other tools:
- Go to Contacts page
- Apply any filters you want
- Click "Export to CSV"
- Download the file with all contact data and metadata
Integration with Conversations
The CRM is tightly integrated with the Inbox:
- Unified View - See all conversations for a contact in one place
- Context Switching - Jump from Inbox to contact details and back
- Stage Updates - Change pipeline stage directly from the conversation view
- Activity Timeline - Messages, stage changes, and notes in chronological order
Best Practices
1. Design Your Pipeline
Start with 4-6 stages that match your actual workflow. You can always add or adjust stages later.
2. Keep Contacts Updated
Regularly move contacts through stages to maintain an accurate pipeline view. Set reminders to review stale contacts.
3. Use Metadata Wisely
Track key attributes like subscription plan, company size, or industry to personalize support and sales outreach.
4. Link to Conversations
Always review the conversation history before reaching out to understand context and previous interactions.
5. Export Regularly
Back up your contact data by exporting to CSV periodically, especially before making bulk changes.
CRM Pricing
CRM features are available on all plans:
- Free Plan - Up to 100 contacts, basic pipeline (3 stages)
- Pro Plan - Unlimited contacts, custom stages, CSV export
- Business Plan - Advanced segmentation, bulk actions, custom fields