1 Hub
8 CSR
Empty State Live
9:41
CRM Hub
Pipeline
Close Rate
Repeat
Response
Welcome to Your
Command Center
Every call, every lead, every deal — tracked and automated from one place.
Get Started
1
Activate Your CRM
Contacts from calls and forms automatically appear here
2
Set Up Your Phone
Get a tracking number so every call is logged and recorded
3
Make Your First Call
AI scores leads and suggests the best next action
How It Works Calls come in → AI scores the lead → You close the deal. Blueprint automations handle follow-ups automatically.

CrmHub — contacts.length === 0

useQuery(api.calls.contacts.list), useQuery(api.calls.contacts.getStats)

Populated Hub Live
9:41
CRM Hub
87
Contacts
34%
Close Rate
22%
Repeat %
1.2h
Response
All (87) New (12) Contacted (23) Qualified (18) Proposal (8) Won (19) Lost (7)
Needs Attention
See All
MG
Maria Gonzalez
(330) 555-0182
New
3 calls Referral 2h ago
JW
James Wilson
(330) 555-0294
Qualified
5 calls Google Ads 2d ago
RC
Robert Chen
(216) 555-0347
Proposal
2 calls Thumbtack 5d ago

CrmHub — populated, pipeline filter + search

useQuery(api.calls.contacts.list), crmWidgets.getCustomerCount / getRepeatCustomerRate / getEstimateConversion / getResponseTime


Contact Detail Live
9:41
Contact
Maria Gonzalez
(330) 555-0182
maria.gonzalez@email.com
New
3
Calls
1
Notes
2
Reminders
Calls
Notes
Reminders
Inbound
Booked
Today 2:14 PM · 3:42
Scheduled furnace inspection for Thursday
Inbound
Info
Feb 22 10:30 AM · 2:18
Initial inquiry about AC replacement
Missed
No Answer
Feb 21 4:05 PM · 0:00

ContactDetail — tabbed layout (Calls / Notes / Reminders)

useQuery(api.calls.contacts.getById), useMutation(api.calls.contacts.update)

Call Detail Live
9:41
Call Detail
(330) 555-0182
Maria Gonzalez
Appointment Booked
Direction
Inbound
Date
Feb 24, 2026 · 2:14 PM
Duration
3:42
Contact
AI Analysis
Lead Score
8/10
Sentiment
Positive
Summary
Homeowner inquired about furnace inspection. Has intermittent heating in upstairs bedrooms. Booked for Thursday 2/27. Mentioned interest in seasonal maintenance plan.
Suggested Next Steps
1. Confirm Thursday appointment via SMS
2. Prepare seasonal maintenance plan quote
3. Follow up after inspection with upsell
Keywords
furnace inspection heating issues maintenance plan upstairs
Transcript
Full Transcript
Agent: Hi, this is Sarah from Midwest HVAC Pros. How can I help you today?
Caller: Hi, I need to get my furnace checked. The upstairs bedrooms aren’t getting warm…
...12 more turns

CallDetail — AI analysis with lead score, sentiment, keywords, next steps

useQuery(api.calls.queries.getById)


Blueprint List Live
9:41
Blueprints
4
Active
312
Total Runs
47
This Week
All Active (4) Paused (2) Drafts (1)
New Lead Follow-Up
Active
Trigger: New Lead
89 runs
Last: 2h ago
Post-Job Review Request
Active
Trigger: Job Completed
134 runs
Last: 1d ago
Missed Call Recovery
Paused
Trigger: Call Missed
56 runs
Last: 3d ago
Unlock More Blueprints Upgrade to Pro for unlimited automations, advanced triggers, and priority execution.
Seasonal Re-engagement
Draft
Trigger: Schedule
0 runs

BlueprintList — stats, search, filter, FAB to create, locked upsell state

useQuery(api.automations.queries.listAutomations), getContractorAutomationStats

Blueprint Detail Live
9:41
Blueprint
New Lead Follow-Up
Automatically nurtures new leads with email and SMS sequence
Active
89 Total Runs
92% Success
Last: 2h ago
Trigger
New Lead Created
Fires when a contact is added via call, form, or import
Steps
1. Send Email
Welcome email with service overview and booking link
2. Wait
Wait 4 hours
3. Send SMS
Follow-up text with direct scheduling link
4. Condition
If no response after 24h → continue
5. Voice Call
AI agent calls lead with personalized pitch
Recent Runs
2h ago
Maria Gonzalez
Completed
5h ago
James Wilson
Completed
1d ago
Robert Chen
Step 4
1d ago
Unknown (330...)
Failed

BlueprintDetail — info card, trigger, numbered steps, run history timeline

useQuery(api.automations.queries.getAutomation), RunTimeline component


Blueprint Builder Live
9:41
New Blueprint
Save
Blueprint Name
Bid Accepted Celebration
Trigger
Bid Accepted
Fires when a poster accepts a contractor’s bid
Steps
Send Email
Subject: “You’re booked! Here’s what’s next”
Wait
Wait 1 day
Send SMS
“Looking forward to your project! Questions? Reply here.”

BlueprintBuilder — trigger picker, step cards with connectors

useMutation(api.automations.mutations.create), StepEditor, TriggerPicker

Templates Gallery Live
9:41
Templates
All Lead Nurture Reviews Sales Scheduling Re-engage
Lead Nurture
New Lead Welcome Sequence
Email + SMS + voice call over 48 hours. Converts leads while they’re warm.
5 steps
Reviews
Post-Job Review Request
Waits 24h after job completion, sends review link via email and SMS.
3 steps
Sales
Quote Follow-Up Drip
3-touch sequence after sending a quote. Increases close rate by 40%.
6 steps
Scheduling
Appointment Reminder
SMS reminder 24h and 1h before scheduled appointment. Reduces no-shows.
4 steps

TemplateGallery — category filters, step icons, clone action

useQuery(api.automations.queries.listTemplates), TemplateCard component


Automation Billing Live
9:41
Automation Billing
This Month
Actions used 1,247 / 5,000
Cost $12.47
Per-Action Pricing
Email $0.005/action
SMS $0.02/action
Voice call $0.15/action
CRM update $0.001/action
Calendar $0.003/action

AutomationBilling — usage meter, per-action pricing, upgrade CTA

useQuery(api.automations.queries.getBillingUsage), Stripe upgrade flow

Template Gallery Enhanced Live
9:41
Blueprint Templates
All New Lead Bid Won Payment Appointment Follow-Up Onboarding Review Referral Seasonal Custom
Lead Nurture
Welcome Sequence
5-step onboarding flow via email and SMS. Converts new leads within the first 48 hours.
5 steps
Sales
Bid Follow-Up
3-step email drip after submitting a bid. Keeps you top of mind while the homeowner decides.
3 steps
Reviews
Post-Job Review
4-step sequence via email and push notification. Requests a review after job completion.
4 steps

TemplateGalleryEnhanced — 11 trigger-type filter pills, “Use Template” CTA

useQuery(api.automations.queries.listTemplates), triggerType filter param

Status Filters Live
9:41
Automations
All (12) Active (7) Paused (3) Drafts (2)
New Lead Welcome
Active
234 runs
Quarterly Check-in
Paused
89 runs
Holiday Promo
Draft
0 runs

StatusFilters — status chip filters, per-card actions (Pause/Resume/Edit)

useQuery(api.automations.queries.listAutomations, { status }), useMutation(api.automations.mutations.updateStatus)


Duplicate Contacts Live
9:41
Duplicate Contacts
5 Potential Duplicates Found
Review and merge to keep your CRM clean
MG
MG
Maria Gonzalez
(330) 555-0182 · 2 records
92% Match
JW
JW
James Wilson
(330) 555-0294 · 2 records
98% Match
RC
RC
Robert Chen
(216) 555-0347 · 2 records
85% Match
LS
LS
Lisa Santos
(440) 555-0891 · 2 records
78% Match
TJ
TJ
Tom Jackson
(216) 555-0512 · 2 records
88% Match

DuplicateContactsScreen — AI-detected duplicate pairs with confidence scoring, merge/keep actions.

useQuery(api.calls.contacts.findDuplicates) · useMutation(api.calls.contacts.merge)

Segmentation & Tags Planned
9:41
Segments & Tags
Active Segments
VIP Customers Auto
High-value repeat clients
23
Repeat Clients Auto
2+ completed jobs
87
At Risk Manual
No activity in 90+ days
12
New Leads Auto
Added in last 30 days
34
Tags
HVAC (45) Plumbing (32) Referral (28) Priority (18) Commercial (14) Insurance (11) Emergency (9) Warranty (7)

SegmentationScreen — AI-powered segments with auto/manual modes, tag management.

useQuery(api.calls.contacts.listSegments) · useMutation(api.calls.contacts.createSegment)


Business Accounts Live
9:41
Business Accounts
14
Accounts
$128K
Total Revenue
All (14) Property Mgmt (5) Commercial (6) Government (3)
Apex Property Management
Property Management · Est. 2019
Property Mgmt Active
8
Contacts
23
Jobs
$42K
Revenue
Summit Commercial Group
Commercial Real Estate · Est. 2015
Commercial Active
12
Contacts
31
Jobs
$58K
Revenue
City of Akron — Facilities
Government · Contract 2024
Government Pending Renewal
4
Contacts
15
Jobs
$28K
Revenue
Pro Tip Link contacts to business accounts to track B2B revenue and streamline invoicing for property managers.

BusinessAccounts — B2B account list with linked contacts, revenue, job counts

app/(contractor)/(tabs)/(home)/crm/business-accounts/index.tsx

CRM Import Live
9:41
Import Contacts
Import Method
CSV Upload
Import contacts from a spreadsheet file
Google Contacts
Sync contacts from your Google account
Phone Contacts
Import from your device address book
Recent Imports
customers-feb-2026.csv
Feb 20, 2026 · 142 contacts
Complete
142 imported · 3 duplicates merged 100%
google-sync-auto
Running now · 89 of 120 contacts
In Progress
89 imported · 31 remaining 74%
Duplicate Detection Imported contacts are automatically checked against existing records. Duplicates are flagged for review in the Merge screen.

CrmImport — CSV upload, Google sync, phone contacts, import status tracking

useMutation(api.calls.contacts.importCsv) · useQuery(api.calls.contacts.getImportStatus)


CSR Dashboard
9:41
CSR Hub
24
Today
3
Missed
5
Hot Leads
88%
Answer
Quick Actions
Start Call
Open phone frame
New Lead
Add customer manually
Callback Queue
View pending callbacks
Reports
View call analytics
Recent Calls
See All
Maria Gonzalez
(330) 555-0182 - 12 min ago
3:42
(330) 555-0491
(330) 555-0491 - 28 min ago
Missed
3 missed calls need callback
Tap to view callback queue
CSR Best Practice Answer within 3 rings, use the customer’s name, and always mention the STUWHDCA cross-sell checklist.

CSRDashboardScreen — app/(contractor)/csr/index.tsx

useQuery(api.calls.queries.list) · useQuery(api.calls.queries.getStats)

Active Call — Phone Frame
9:41
Phone Frame
Maria Gonzalez
(330) 555-0182
3 calls
maria@example.com
1420 Market St, Akron OH
Source: Referral
Primary Service
Carpet
Upholstery
Tile & Grout
Hardwood
STUWHDCA Cross-Sell
3/8
S
Scotchgard
T
Tile
U
Upholstery
W
Wood
H
HVAC
D
Dryer
C
Carpet
A
Area Rugs
Schedule
Quick Quote
Call Notes
Customer interested in whole-house carpet + Scotchgard. Has a dog — mentioned pet stain concerns.
Call Disposition
Booked
Callback
No Sale
Wrong #
Voicemail
Always Disposition Every call must end with a disposition. This data drives pipeline reports and callback queues.

PhoneFrameScreen — app/(contractor)/csr/phone-frame.tsx

useQuery(api.calls.contacts.getById) · useMutation(api.calls.contacts.create)


Automations List
9:41
Automations
12
Active
3
Paused
847
Runs
New Lead Follow-Up
Active
Trigger: New contact created
Action: Send welcome email + SMS
Last run: 2 min ago · 342 runs
Missed Call Callback
Active
Trigger: Call missed
Action: Auto-SMS + schedule callback
Last run: 18 min ago · 189 runs
Win-Back Campaign
Paused
Trigger: 90 days no activity
Action: Drip email sequence
Last run: 3 days ago · 56 runs
Job Complete Review
Active
Trigger: Job marked complete
Action: Request review + referral
Last run: 1 hr ago · 260 runs
Automation Power Active automations run 24/7. Pause anytime without losing your configuration.

AutomationsIndex — app/(contractor)/(tabs)/(home)/crm/automations/index.tsx

useQuery(api.automations.list)


Create Automation
9:41
Create Automation
Automation Name
e.g. New Lead Follow-Up
When This Happens (Trigger)
New Contact Created
When a new lead enters your CRM
Call Missed
When an inbound call goes unanswered
Time-Based
After X days of inactivity
Job Status Changed
When a job transitions to a new status
Then Do This (Actions)
Send Email
Template-based or custom
Send SMS
Quick text to customer
Conditions (Optional)
Add Condition
Lead Source
equals
Google Ads
Delay
Wait 5 minutes
Before executing actions

AutomationsNew — app/(contractor)/(tabs)/(home)/crm/automations/new.tsx

useMutation(api.automations.create)


Business Accounts
9:41
Business Accounts
8
Accounts
$124K
Total Value
Riverside Property Mgmt
Sarah Chen · GM
14 contacts
$48,200
6 jobs
Summit Construction LLC
Mike Torres · Owner
8 contacts
$31,750
4 jobs
Oakwood HOA
Janet Wu · Board Chair
22 contacts
$44,050
9 jobs
Group by Business Link contacts to business accounts to track commercial relationships and total lifetime value.

BusinessAccountsIndex — app/(contractor)/(tabs)/(home)/crm/business-accounts/index.tsx

useQuery(api.crm.businessAccounts.list)


Pipeline
9:41
Pipeline
$87K
In Pipeline
34%
Win Rate
Lead 5
Kitchen Remodel
J. Martinez · $12,400
Deck Repair
R. Chen · $3,200
Qualified 3
Bathroom Reno
A. Patel · $18,500
Proposal 2
Full HVAC Install
D. Kim · $24,800
Roof Replacement
L. Johnson · $15,600
Won 4
Carpet Install
M. Gonzalez · $4,800
Lost 2
Window Replace
T. Brown · $7,900
Swipe to Browse Scroll horizontally through pipeline stages. Drag cards between columns to update deal status.

PipelineKanban — app/(contractor)/(tabs)/(home)/crm/index.tsx (pipeline view)

useQuery(api.crm.pipeline.list)


Merge Contacts
9:41
Merge Contacts
3 Potential Duplicates Found
AI detected contacts that may be the same person
Duplicate Pair #1 — 94% Match
Contact A
John Martinez
(330) 555-0142
john@email.com
3 calls · 1 job
Contact B
J. Martinez
(330) 555-0142
jmartinez@gmail.com
1 call · 0 jobs
Merged Result
John Martinez
(330) 555-0142 · john@email.com, jmartinez@gmail.com
4 calls · 1 job (combined)
Duplicate Pair #2 — 87% Match
Contact A
Amy Nguyen
(216) 555-0398
Contact B
A. Nguyen
(216) 555-0398
Smart Merge AI compares phone numbers, emails, and names to find duplicates. Merging combines all history into one record.

ContactsMerge — app/(contractor)/(tabs)/(home)/crm/contacts/merge.tsx

useQuery(api.crm.contacts.findDuplicates) · useMutation(api.crm.contacts.merge)

7 CSR
Contacts & Calls
9:41
CRM Hub
87
Contacts
34%
Close
22%
Repeat
1.2h
Response
Search contacts, phone, email…
All (87) New (12) Qualified (18) Won (19)
MG
Maria Gonzalez
(330) 555-0182 · 3 calls
New
JW
James Wilson
(330) 555-0294 · 5 calls
Qualified
RC
Robert Chen
(216) 555-0347 · 2 calls
Proposal
SJ
Sarah Johnson
(234) 555-0912 · 8 calls
Won
Maria Gonzalez
(330) 555-0182 · maria.gonzalez@email.com
New
3
Calls
1
Notes
2
Reminders
Recent Calls
Inbound · Today 2:14 PM · 3:42
Scheduled furnace inspection for Thursday
Booked
Inbound · Feb 22 10:30 AM · 2:18
Initial inquiry about AC replacement
Info
Missed · Feb 21 4:05 PM
No Answer
AI Analysis
Lead Score
8/10
Sentiment
Positive
Homeowner inquired about furnace inspection. Has intermittent heating in upstairs bedrooms. Booked for Thursday 2/27. Mentioned interest in seasonal maintenance plan.

Blueprints & Automation
9:41
Blueprints
4
Active
312
Total Runs
47
This Week
New Lead Follow-Up
89 runs · Last: 2h ago
Active
Post-Job Review Request
134 runs · Last: 1d ago
Active
Missed Call Recovery
56 runs · Last: 3d ago
Paused
Seasonal Re-engagement
0 runs · Draft
Draft
New Lead Follow-Up
Automatically nurtures new leads with email and SMS sequence
Active
89
Total Runs
92%
Success
2h
Last Run
Workflow Steps
1. Send Email
Welcome email with service overview
2. Wait
Wait 4 hours
3. Send SMS
Follow-up with scheduling link
4. Condition
If no response after 24h
5. Voice Call
AI agent calls lead with personalized pitch
Recent Runs
Maria Gonzalez
2h ago Completed
James Wilson
5h ago Completed
Unknown (330...)
1d ago Failed

Builder & Templates
9:41
New Blueprint
Save
Blueprint Name
Bid Accepted Celebration
Trigger
Bid Accepted
Fires when a poster accepts a bid
Steps
Send Email
“You're booked! Here's what's next”
Wait
Wait 1 day
Send SMS
“Looking forward to your project!”
Save Draft
Publish
Templates
All Lead Nurture Reviews Sales
Lead Nurture
New Lead Welcome Sequence
Email + SMS + voice call over 48 hours. Converts leads while they're warm.
5 steps Clone
Reviews
Post-Job Review Request
Waits 24h after job completion, sends review link via email and SMS.
3 steps Clone
Sales
Quote Follow-Up Drip
3-touch sequence after sending a quote. Increases close rate by 40%.
6 steps Clone

Billing & Filters
9:41
Automation Billing
This Month
Actions used1,247 / 5,000
Cost$12.47
Per-Action Pricing
Email$0.005
SMS$0.02
Voice Call$0.15
CRM Update$0.001
Automation Status
All (12)Active (7)Paused (3)
New Lead Welcome
234 runs
Active
Quarterly Check-in
89 runs
Paused
Holiday Promo
0 runs
Draft
Upgrade AvailableGet unlimited automations and advanced triggers with the Pro plan.

Merge & Segmentation
9:41
Duplicate Contacts
5 Potential Duplicates
Review and merge to keep CRM clean
MG
Maria Gonzalez
2 records · 92% match
92%
JW
James Wilson
2 records · 98% match
98%
RC
Robert Chen
2 records · 85% match
85%
Active Segments
VIP Customers
23
High-value repeat
Repeat Clients
87
2+ completed jobs
At Risk
12
90+ days inactive
New Leads
34
Last 30 days
Smart SegmentsAuto-segments update in real time as contacts match your criteria.

Business Accounts & Import
9:41
Business Accounts
14
Accounts
$128K
Revenue
Apex Property Mgmt
8 contacts · 23 jobs · $42K
Active
Summit Commercial
12 contacts · 31 jobs · $58K
Active
City of Akron
4 contacts · 15 jobs · $28K
Renewal
Import Contacts
CSV Upload
Import from spreadsheet
Google Contacts
Sync from Google
Phone Contacts
Import from device
Recent Imports
customers-feb-2026.csv
142 contacts · Complete
100%
google-sync-auto
89 of 120 · Running
74%
Duplicate DetectionImported contacts are automatically checked against existing records.

CSR Call Queue & Active Call
9:41
CSR Hub
24
Today
3
Missed
5
Hot Leads
88%
Answer
Search customer…
Recent Calls
Maria Gonzalez3:42
(330) 555-0182 · 12 min ago
(330) 555-0491Missed
(330) 555-0491 · 28 min ago
James Wilson5:18
(330) 555-0294 · 1h ago
Sarah Chen2:55
(330) 555-0773 · 2h ago
Queue Priority Missed calls and hot leads are highlighted. Click any call to load it in the Phone Frame.
Phone Frame
End Call
Maria Gonzalez
(330) 555-0182 · Source: Referral
3 calls
Email
maria@example.com
Address
1420 Market St, Akron OH
Primary Service
Carpet Upholstery Tile Hardwood
STUWHDCA3/8
S
T
U
W
H
D
C
A
Schedule
Quick Quote
Call Notes
Customer interested in whole-house carpet + Scotchgard. Has a dog — pet stain concerns.
Disposition
Booked
Callback
No Sale
Wrong #
Voicemail
6 CSR
CRM Dashboard
https://app.3bids.io/contractor/crm
3BidsCRM Hub
Contacts ⌘1
Calls ⌘2
Blueprints ⌘3
Templates ⌘4
Analytics ⌘5
Billing ⌘6
MK
Mike Kowalski
Contractor
Settings ⌘,

CRM Dashboard

4,281
Total Contacts
847
Active Leads
92%
Reach Rate
$142K
Pipeline Value
Contacts Pipeline
All New Won
Contact
Status
Calls
Source
Maria Gonzalez
New
3
Referral
James Wilson
Qualified
5
Google
Robert Chen
Proposal
2
Thumbtack
Sarah Johnson
Won
8
Direct
Recent Calls
Maria Gonzalez · 3:42
Booked · Today 2:14 PM
8/10
James Wilson · 5:11
Follow-up · Today 11:20 AM
6/10
Robert Chen · 0:00
Missed · Yesterday 4:05 PM
N/A
Pipeline Performance

Blueprints & Billing
https://app.3bids.io/contractor/crm/blueprints
3BidsCRM Hub
Contacts ⌘1
Calls ⌘2
Blueprints ⌘3
Templates ⌘4
Analytics ⌘5
Billing ⌘6
MK
Mike Kowalski
Contractor
Settings ⌘,

Blueprints & Billing

4
Active
312
Total Runs
$12.47
This Month
1,247
Actions Used
All Blueprints
Name
Status
Runs
Last
New Lead Follow-Up
Active
89
2h ago
Post-Job Review
Active
134
1d ago
Missed Call Recovery
Paused
56
3d ago
Seasonal Re-engagement
Draft
0
Billing — This Month
Actions used 1,247 / 5,000
Per-Action Pricing
Email$0.005
SMS$0.02
Voice Call$0.15
CRM Update$0.001
Quick Actions
+ New Blueprint
Browse Templates
Upgrade Plan
Customer Merge
https://app.3bids.io/contractor/crm/merge
3BidsCRM Hub
Contacts ⌘1
Calls ⌘2
Merge ⌘3
Segments ⌘4
Blueprints ⌘5
MK
Mike Kowalski
Contractor

Merge: Maria Gonzalez

92% Match Confidence
MG
Record A
Created Mar 2, 2026
Primary
Name
Maria Gonzalez
Phone
(330) 555-0182
Email
maria.g@email.com
Calls
3 calls
Stage
New
MG
Record B
Created Feb 18, 2026
Duplicate
Name
Maria G. Gonzalez
Phone
(330) 555-0182
Email
mgonzalez@gmail.com
Calls
1 call
Stage
Contacted
Segment Builder
https://app.3bids.io/contractor/crm/segments/builder
3BidsCRM Hub
Contacts ⌘1
Calls ⌘2
Merge ⌘3
Segments ⌘4
Blueprints ⌘5
MK
Mike Kowalski
Contractor

Segment Builder

23 contacts match
Segment Name
VIP Customers
Filter Conditions
WHERE
Total Spent
greater than
$5,000
AND
Jobs Completed
at least
3
OR
Tag
equals
Priority

Business Accounts & Import
https://app.3bids.io/contractor/crm/business-accounts
3BidsCRM Hub
Contacts
Calls
Merge
Segments
Business
Import
MK
Mike Kowalski
Contractor

Business Accounts

14
Accounts
$128K
Revenue
24
Contacts
69
Total Jobs
All Accounts
Name
Type
Contacts
Revenue
Status
Apex Property Mgmt
Property Mgmt
8
$42K
Active
Summit Commercial
Commercial
12
$58K
Active
City of Akron
Government
4
$28K
Renewal
Pro TipLink contacts to business accounts to track B2B revenue and streamline invoicing.

CSR Call Center
https://app.3bids.io/contractor/csr
3BidsCRM Hub
Contacts
Calls
Blueprints
CSR
Analytics
Billing
MK
Mike Kowalski
Contractor

CSR Call Center

24
Calls Today
3
Missed
5
Hot Leads
88%
Answer Rate
Recent Calls
Search…
Caller
Phone
Time
Status
Maria Gonzalez
(330) 555-0182
12 min ago
3:42
(330) 555-0491
(330) 555-0491
28 min ago
Missed
James Wilson
(330) 555-0294
1h ago
5:18
Sarah Chen
(330) 555-0773
2h ago
2:55
Active Call
End
Maria Gonzalez
(330) 555-0182
Service
Carpet
STUWHDCA · 3/8
S
T
U
W
H
D
C
A
CSR Workflow Select a caller from the queue, follow the STUWHDCA checklist, and disposition every call for accurate pipeline reporting.

Data Architecture

Schema tables, queries, mutations, and source files powering the CRM Hub.

Source Files

crm/index.tsx
CRM Hub — dashboard widgets, pipeline summary, quick actions
screen
contacts/index.tsx
Contact List — pipeline stages, search, filters, status badges
screen
customers/index.tsx
Customer List — repeat customers, lifetime value, segmentation
screen
business-accounts/index.tsx
Business Accounts — B2B contacts, company-level records
screen
contacts/merge.tsx
Duplicate Detection & Merge — match scoring, field resolution
screen
automations/
Blueprint Automations — templates, builder, run history, analytics
screen

Convex Queries

listContacts
Pipeline contact list with status filter, search, and pagination. Returns VIP flags.
query
getContact
Single contact with notes, reminders, call history, and custom fields.
query
getStats
CRM dashboard metrics — customer count, repeat rate, estimate conversion, response time.
query
listBlueprints
Automation blueprints with trigger type, step count, total runs, and status.
query
listTemplates
Pre-built automation templates by category. Includes step previews and descriptions.
query

Convex Mutations

createContact
Create new contact with phone, email, source, and custom fields. Sets initial pipeline stage.
mutation
mergeContacts
Merge duplicate contacts. Resolves conflicting fields, combines history, preserves VIP flags.
mutation
createBlueprint
Create automation blueprint with trigger, steps array, and scheduling config.
mutation
executeStep
Execute a single automation step (email, sms, voice_call, wait, condition, crm_sync, etc.).
mutation
importContacts
Bulk import contacts from CSV/spreadsheet. Validates, deduplicates, and maps fields.
mutation

Schema Tables

contacts
Pipeline CRM records — phoneNumber, name, email, status (new/contacted/qualified/proposal_sent/won/lost), source, totalCalls, customFields, isVip.
schema
callLogs
Call records — direction, status, duration, recording, transcription, analysis (summary + leadScore), contactId.
schema
contactNotes
Per-contact notes with timestamps and author reference.
schema
automations
Blueprint definitions — trigger, steps[], status, tier, totalRuns. Powers the automation engine.
schema
automationRuns
Execution history — status (running/completed/failed), currentStep, stepResults[], costCents.
schema

Pipeline Status Flow

New Contacted Qualified Proposal Won
Lost Archived

Key Design Decisions

Unified Contact View
Single customer profile aggregates job history, messages, payments, and notes. No tab switching for full context.
Duplicate Detection
Fuzzy matching on name + phone + email catches duplicates at creation. Merge flow preserves all history from both records.
Lead Scoring
Automated scoring based on engagement, job history, and property value. Hot leads surface to SDR queue.
Property Graph
Customers linked to properties. Multiple customers per property, multiple properties per customer. Job history follows the property.
↑ Back to Top