Contacts
Contacts are the foundation of the CRM data model. Every customer, prospect, and property owner your business interacts with lives in the Contacts module — whether they came in through the website, a phone call, a referral, or a manual entry. Each contact record is the central hub for that relationship: all their projects, invoices, conversations, photos, and payment history are accessible from a single page.
The system is designed to minimize manual entry. New leads from the Tradesmen Website create contact records automatically, pre-populated with the information submitted in the form. When a field tech calls a number that matches an existing contact, the record surfaces on their mobile screen automatically. AI reads inbound texts and updates contact notes without anyone having to type them.
Contacts support both residential and commercial customers. A commercial contact can have multiple properties or locations linked under one parent record, useful for property management companies, HOAs, or multi-site business customers who want a single invoice but multiple service addresses.
Contact Fields
Core Identity
- Full name (first / last)
- Company name (optional; for commercial accounts)
- Phone (primary, secondary, mobile)
- Email address
- Preferred contact method
Address & Location
- Service address (where work is performed)
- Billing address (if different)
- GPS coordinates (auto-populated from address)
- Gate codes, access notes, parking instructions
Relationship Data
- Lead source (website form, referral, Google Ads, etc.)
- Tags (residential, commercial, VIP, warranty, etc.)
- Assigned salesperson or account manager
- Customer since date
Activity & History
- Linked projects (all jobs, any status)
- Invoice history with payment status
- Conversation thread (SMS, email, internal notes)
- Review / testimonial status
- Referral activity (who they referred, any credits earned)
Smart Search
The contact search bar searches across name, phone number, email, address, and tags simultaneously. Partial matches work — searching "1234" finds any contact with that string in their phone number or address. The search is instant and does not require a full page reload.
Activity Timeline
Every contact record includes a chronological timeline showing every interaction: calls logged, texts sent and received, emails, project status changes, invoices sent and paid, reviews submitted, and internal notes. The timeline is filterable by event type and searchable by keyword.
Auto-Population from Web Forms
When a visitor submits a quote request or contact form on the Tradesmen Website, the CRM checks for an existing contact by phone number and email. If a match is found, the new inquiry is added to that contact's timeline. If no match is found, a new contact record is created and the owner or dispatcher is notified via the dashboard and, optionally, SMS.
CRUD Operations
| Operation | Available | Notes |
|---|---|---|
| View | Yes | Contact list view with sorting and filtering; individual record view with full history |
| Create | Yes | Manual entry via "+ Contact" button or quick-add from dashboard; auto-created from website forms |
| Update | Yes | All fields editable inline on the record page; bulk tag updates available from list view |
| Delete | Yes | Soft-delete only; deleted contacts are archived and can be restored; linked project history is preserved |
Merging Duplicate Contacts
The CRM detects likely duplicate contacts when a phone number or email matches an existing record. A merge prompt appears, allowing the user to combine two records into one — preserving the full activity history from both. Merges are reversible within 30 days.
Use tags aggressively. Tagging contacts as "commercial," "residential," "warranty-active," or "past-customer" makes bulk SMS campaigns, filtered reports, and targeted follow-up sequences significantly more effective.