Skip to main content

Contacts (Mobile)

Every person and company you work with — customers, leads, vendors, subs. The list is sorted by how much money is on the line right now, not alphabetically. New prospects waiting on a callback live at the top. Today's customers come next. Everything else stacks below, with a section header above each group so you always know which bucket you're in.

7:42●●●●5G87
Contacts
Sorted by priority · 9 active
+
Search name, address, phone
New Leads · Call Back
3
URGENT
LO
Lisa Okafor
(208) 555-0193
Wants deck quote — mornings best
1428 Lakeside Dr · Coeur d'Alene
!Called 18 hr ago — not returned
☎ Call Now
Text
NEW · 2 HR
MT
Marcus Torres
(208) 555-0144
Roof inspection est. — leak after storm
22 Aspen Ln · Hayden
AIInbound call · 2 hr ago · captured by AI
☎ Call Now
Text
NEW · 1 D
RT
Rebecca Torres
(208) 555-0177
Wants gutter quote — 2-story home
87 River Bend Ct · Post Falls
☎ Call Now
Text
Today · Heading To
2
NEXT · 8:00 AM
SG
Sarah Garcia
(208) 555-0102
Roof repair · job #4821 · 6 hr est.
445 Maple St · 12 min drive
Confirmed yesterday · gate code 1428
☎ Call
Text
Navi →
10:30 AM
MP
Marcus Patel
(208) 555-0118
Gutter install · job #4827 · 4 hr est.
220 Oak Ave · 8 min from previous stop
☎ Call
Text
Navi →
This Week
4
THU 1 PM
GF
Greg Foster
VIP
(208) 555-0166
Deck install · 2-day job · site visit Thu
310 Willow Way · Coeur d'Alene
3 prior jobs · sent 2 referrals
☎ Call
Text
↓ Scroll for vendors, subs, recent customers
Projects
Tasks
Hold · AI
Contacts
Settings

The priority sort

A field tech opening the Contacts tab has one of three urgent questions on their mind: who's waiting on a callback from me, who am I about to show up at, and who matters this week. The list answers them in that order. Alphabetical sort serves search engines; priority sort serves contractors.

New Leads · Call Back
Inbound prospects from the last 7 days who haven't been called back yet. The AI Receptionist captures them, ages them, and ranks by hours-since-inquiry. Anything past 12 hours flips to URGENT and gets a red ring on the avatar.
Today · Heading To
Customers whose jobs are on today's schedule, sorted by ETA. The next stop is bordered and elevated. Each card surfaces drive time from the previous stop, gate codes, confirmation status, and a one-tap Navigate button.
This Week
Customers on the calendar for the next 7 days. VIP customers, repeat customers, and customers who have referred new business are tagged so the contractor knows who needs a warmer touch. Sorted by appointment date.

What each card carries

Every card is one full unit of context — not a name with a chevron pointing somewhere else. The contractor should be able to make a confident decision (call now? text first? skip to the next?) without ever leaving the list.

Name + initials avatarRecognition at a glance. Avatar color encodes contact type (purple = lead, steel = customer, green = crew, amber = vendor) so type is read in the corner of the eye. Urgent leads get a red ring around the avatar.
Priority badge (top-right)One pill tells the whole story: URGENT, NEW · 2 HR, NEXT · 8:00 AM, THU 1 PM, VIP. Colored by section so the badge reinforces the sort, never fights it.
Phone number (large, accent color)Front and center — the number itself, not hidden behind a button. Reads as tappable. If voice command says "call Lisa," this is the number that dials.
What they want / the jobOne bold line summarizing scope or status. "Wants deck quote — mornings best" for a lead. "Roof repair · job #4821 · 6 hr est." for today's customer. Removes the "why am I calling this person" cognitive load.
Address with location glyphAlways visible. For today's jobs, prefixed with drive time from the previous stop so the day reads as a route, not a list.
Context lineThe single most important fact about the relationship right now. For urgent leads: "Called 18 hr ago — not returned." For confirmed jobs: "Confirmed yesterday · gate code 1428." For VIPs: "3 prior jobs · sent 2 referrals."
Inline action buttonsCall (green, always primary) + Text. Today's jobs add a Navi button that opens Maps with the address pre-loaded. No swipe-to-reveal hidden actions for the highest-value rows — the most important things are visible without gestures.

How the sort actually computes

Priority isn't a saved attribute on a contact — it's derived every time the list loads. The mobile app asks the API for "contacts ranked for me right now," and the API runs the scoring against the underlying records.

#1New Leads · UrgentLead created in the last 7 days · last_callback_at is null · hours_since_inbound > 12
#2New Leads · FreshLead created in the last 7 days · last_callback_at is null · hours_since_inbound ≤ 12
#3Today · Next StopActive customer on today's calendar · earliest appointment_time still in the future · gets the elevated border
#4Today · RemainingActive customer on today's calendar · later appointment_time, ordered by ETA
#5This Week · VIPCustomer with tag VIP or referrals_sent > 0 · scheduled in the next 7 days
#6This Week · StandardCustomer scheduled in the next 7 days, no VIP markers
#7Vendors · SubsTag in {vendor, subcontractor} · ordered by last_called_at descending — the ones you actually use stay reachable
#8Recent CustomersActive customer with a job in the last 90 days · not scheduled in the next 7 · sorted by recency of last contact

Why the sort is derived, not stored: a lead created at 3 PM yesterday is a fresh callback at 8 AM today, becomes urgent by 10 AM, and drops to a regular lead after 36 hours. None of that requires writing back to the contact record — the rank emerges from the data already present (created_at, last_callback_at, appointment_time, tags). A contact that calls back now drops out of the urgent bucket on the next list refresh without anyone clicking anything.

Contact Book Screen

The Contact Book is the second tab in the mobile app's bottom nav bar, sitting between Projects and AI. It opens a unified address book covering every business relationship the contractor manages — not just homeowners. One-handed search and one-tap calling are the two primary design constraints everything else bends around.

What "Contact Book" Means on Mobile

On mobile, Contact Book is a unified address book for every business relationship the contractor has — not just homeowners or customers. When you're in the field you need to call your lumber yard to check stock, text a sub to confirm they're showing up at 7am, or pull up a property manager's number in two seconds while standing on a job site. A contacts list scoped to customers only doesn't cut it.

The Contact Book is built for one-handed use on the go. The search bar lives at the top of every screen, the filter pills let you narrow by relationship type in one tap, and every contact row has a green call button on the far right — one tap dials, no drilling into a detail screen required. The layout stays consistent whether you're looking at a homeowner, a vendor, or a sub. Same gestures every time.

Design constraint: The contact you need should be reachable in under 3 seconds. Search, tap, call. That's the full workflow for the most common field action. Everything else is a secondary concern.

Contact Types Supported

Every contact in the book carries a type tag. The tag controls which filter pill it shows up under and how the AI treats the relationship for follow-up and automation purposes.

TypeDescription
CustomersPeople with active or completed projects. Linked to project records, invoices, and signed contracts in the CRM.
LeadsProspects who called or submitted a request but haven't converted yet. The AI auto-generates follow-up tasks for leads that go cold.
VendorsLumber yards, roofing supply houses, equipment rental shops, material suppliers. Anyone you buy from to get the job done.
SubcontractorsSpecialty subs you bring in — electricians, plumbers, HVAC, painters. Their availability and contact info all in one place.
CrewYour own employees and their direct contact info. Crew contacts integrate with GPS tracking and Team PTT in the mobile app.
OtherInspectors, permit offices, property managers, HOAs, architects, and anyone else who touches a job but doesn't fit a standard category.

CRUD from the Mobile Contact Book

The mobile Contact Book supports the full create-read-update-delete surface for contacts, scoped to what a field contractor actually needs on their phone. Heavy admin operations — bulk import, custom field definitions, CRM-wide merge scans — stay in the cloud admin. Mobile is built for fast field actions, not data governance.

Create

OperationWhat It DoesHow It's Triggered
Manual addCreates a new contact with name, phone number, email, company, and type tag. Optional: add a note at creation time to capture context from the initial conversation.Tap the "+" button in the top-right corner of the Contact Book screen. Fill in the required fields, assign a type tag, tap Save. Contact appears in the list immediately.
AI creates from inbound callWhen an unknown number calls and the AI Receptionist handles it, the AI extracts the caller's name, phone number, and reason for calling from the conversation. A contact record is created automatically, pre-tagged as Lead, with a summary note attached.Automatic — runs in the background during any AI-handled call. The contact appears in your Contact Book with a "New Lead" badge within seconds of the call ending. No action required from you.
Business card scanCamera captures the business card image and AI extracts name, company, phone, email, and title. A contact preview card appears with all extracted fields editable before saving. The card image is attached to the contact record as proof of source.Tap the Camera tab → select Business Card mode → point and capture. Review the extracted fields in the preview card → tap Confirm. Contact saves to the book in one tap.
Save from call logAny incoming or outgoing number in your call log that isn't already a contact can be saved directly to the book with a single tap. Assign a name and type tag on the fly without leaving the call log screen.Call Log → tap any unrecognized number → "Save to Contacts" → enter name and select type → Save.

Read

OperationWhat It DoesHow It's Triggered
Full-text searchSearches across contact name, company name, and phone number simultaneously. Results appear instantly as you type — no submit button, no page reload. Partial matches work: typing "And" finds "Anderson Supply Co."Tap the search bar at the top of the Contact Book screen and start typing. Filter pills stay active on top of search results so you can combine search with type filtering.
Filter by contact typeNarrows the entire contact list to a single relationship type. Useful when you need to browse all your vendors or check which leads are in the book without knowing a specific name.Tap a filter pill (All / Customers / Leads / Vendors / Subs) below the search bar. The list updates instantly. Tap "All" to clear the filter.
Contact detail viewOpens the full contact card: all phone numbers and email addresses, recent activity feed, open tasks linked to this contact, project history, last contact date, tags, and notes timeline.Tap anywhere on a contact row (anywhere except the green call button) to navigate into the detail view.
One-tap callOpens the native iOS dialer with the contact's primary phone number pre-filled. One more tap on the dialer confirms and dials. No copy-paste, no switching apps manually.Tap the green circular call button on the right side of any contact row. Available from the list view without opening the detail card.
Quick textOpens iOS Messages with the contact pre-selected and their thread ready to type. The outgoing message and any reply the contact sends are synced back to the CRM's conversation history for that contact.Swipe left on a contact row to reveal quick actions, then tap the message icon. Also available from the contact detail card via the message button at the top.

Update

OperationWhat It DoesHow It's Triggered
Edit contact infoUpdates name, phone numbers, email addresses, company name, or contact type tag. Changes sync instantly to the cloud CRM — anyone on the team with access sees the update in real time.Open the contact detail → tap Edit (top-right corner) → update any field → tap Save.
Add call noteLogs a freeform note against the contact, timestamped to right now. Notes appear in the contact's activity timeline on mobile and in the full CRM conversation history on the cloud side. Voice-to-text makes this fast enough to do while walking back to your truck.After a call ends, the app shows a prompt: "Add a note to [contact name]?" — tap the mic to record by voice or the text field to type. Notes can also be added at any time from contact detail → Notes → "+" button.
Tag contactAttaches one or more behavior tags to a contact. Available tags: VIP, Do Not Call, Preferred Vendor, Seasonal Customer, Referred By, Past-Due. Tags affect how follow-up automations in the CRM treat the contact — a "Do Not Call" tag suppresses AI outreach, a "Preferred Vendor" tag surfaces the contact first in vendor searches.Open contact detail → Tags section → tap to open the tag picker → select or deselect tags → tap Done.
Merge duplicatesCombines two contact records for the same person into one unified record. The merged record keeps all notes, tasks, project history, call logs, and messages from both source records. Nothing is lost in a merge.The app surfaces a "Possible Duplicate" banner on the contact card when the AI detects matching phone numbers or very similar names. Tap the banner to see a side-by-side comparison and confirm the merge. Can also be initiated from contact detail → More (…) → Merge Duplicate.

Delete

OperationWhat It DoesHow It's Triggered
Archive contactSoft-deletes the contact — removes them from the active Contact Book list but preserves all their history, notes, projects, and invoices in full. Archived contacts remain searchable and viewable from the cloud CRM. If an archived contact calls in, the AI recognizes them and the app prompts to restore them to active with one tap.Open contact detail → More (…) → Archive. Or swipe left on a contact row → tap Archive. A confirmation prompt appears before the action completes.
Hard deletePermanently removes the contact and all associated data. This is a destructive action and is intentionally unavailable on mobile. Hard delete is restricted to cloud CRM admin users with the appropriate RBAC role and triggers a 30-day recovery window before data is permanently purged.Cloud CRM admin only — not available in the mobile app. Mobile can only archive. This is by design.

One-Tap Actions from a Contact Row

The four most common field actions — calling, texting, starting a project, and creating a follow-up task — are all reachable without opening the contact detail view. They live behind a left-swipe on any contact row, keeping the list visually clean while making the actions fast to reach.

ActionWhat It Does
CallOpens the native iOS dialer with the contact's primary number pre-filled. Visible directly on the list row — no swipe needed.
TextOpens Messages with the contact pre-selected and thread ready to type. Conversation is synced back to the CRM automatically.
New ProjectCreates a new project record pre-linked to this contact. Opens the project creation form with the contact already attached — skip the lookup step.
New TaskCreates a follow-up task linked to this contact and adds it to the Tasks tab immediately. Set due date and priority without leaving the contact list.

The Call button is always visible on the far right of every contact row in the list — no swipe required, no tap to expand. It's the single most-used action so it never hides. The other three actions (Text, New Project, New Task) appear when you swipe left on a row, sliding in from the right edge as icon buttons. Swipe right to dismiss and return the row to normal.

One-handed principle: The Call button is placed on the right edge of every row because most contractors hold the phone in their right hand with their thumb reaching across. Text, New Project, and New Task are one left-swipe away — a gesture that works just as naturally with one thumb. No two-handed operation required for any primary contact action.

How Mobile Contact Book Differs from CRM Contacts

The mobile Contact Book and the cloud CRM contacts page run on the same underlying data — every change made from mobile syncs immediately to the CRM, and vice versa. But the interface surface is intentionally different. Mobile is built for field speed; CRM is built for admin depth. They're the same database, different lenses.

FeatureMobile AppCloud CRM
Calling & textingOne-tap call or text directly from the contact list row. Green call button always visible. No copy-paste, no switching apps manually.Click-to-call via integrated VOIP or copy number to dial separately. No native mobile dialer integration.
Contact card depthSimplified card: name, type tag, phone numbers, recent activity summary (last 3 events), open tasks due today, and last contact date.Full activity feed with unlimited history, all linked invoices, contracts, conversation threads, custom fields, RBAC-scoped data, import and export controls.
Create contactManual form, AI auto-create from inbound call, business card scan via Camera tab, or save directly from call log.Manual form, bulk CSV import, API sync from external CRMs, CRM automation-triggered creation from web form submissions and inbound leads.
Notes & call loggingPost-call note prompt with voice-to-text entry. AI suggests adding a note immediately after each call. Fast and friction-free.Full-featured note editor with rich text formatting, file attachments, internal-only notes (not visible to other roles), and team-member tagging on notes.
Task visibilityShows only tasks due today or overdue for this contact. Keeps focus on what needs to happen right now in the field.Full task timeline across all team members for all future and past tasks, with filters by assignee, status, priority, and date range.
Merge duplicatesAI surfaces a "Possible Duplicate" banner when it detects matching phone or name. Simple confirm-or-dismiss in one tap. Works on individual detected pairs.Full merge UI with field-by-field preview and conflict resolution. Merge audit log for compliance. Bulk dedup scan across all contacts in the account.
Custom fieldsCustom fields created in the CRM display in read-only mode on the mobile contact detail card. Cannot be created, edited, or deleted from mobile.Full custom field management: create, rename, reorder, set data type and validation rules, restrict visibility by team role.
Delete capabilityArchive only — soft delete that hides the contact from active lists while preserving all history. No hard delete available on mobile.Archive and hard delete both available. Hard delete requires an admin role and triggers a 30-day recovery window before data is permanently purged.
Search scopeSearches name, company name, and phone number across all contact types in your book. Returns results instantly as you type.Full-text search across all fields including custom fields, note content, conversation transcript text, and email body content.
Access controlCrew members see only contacts linked to their assigned projects. Owners and admins see the full book. Role rules enforced automatically.Full RBAC configuration: per-field visibility, per-contact-type access restrictions, team-scoped list views, and audit logs of who viewed or edited which record.

AI-Powered Contact Features on Mobile

The AI layer in the mobile Contact Book is a set of background behaviors that keep your book accurate and your follow-ups on track — without requiring you to initiate anything. Most of it runs automatically. The ones that need your input are designed to take under 10 seconds to respond to.

Call Summary Prompt

When any call ends — whether you placed it or received it — the app shows a small banner: "Add a note to Marcus Hendricks?" with a microphone icon and a text field. Tap the mic and say what happened in 10 seconds. The AI transcribes the voice note, cleans it up, and logs it to the contact's activity timeline automatically. You never have to open the CRM to log a call again. This is the single highest-impact habit for keeping your contact history accurate without extra work.

Lead Identification from Inbound Calls

When an unknown number calls and the AI Receptionist handles it, the AI extracts the caller's name, the scope of work they're requesting, and the urgency level from the conversation transcript. It creates a contact record tagged as Lead with a summary note already filled in. By the time you pick up your phone to call back, you know who it is, what they need, and roughly how urgent they said it was. The contact is already in your book — no manual entry.

Follow-Up Suggestions

The AI tracks the last-contacted date for every lead and flags any lead that hasn't been reached in 5 or more days. A task is automatically added to your Tasks tab: "Follow up with Lisa Okafor — no contact in 6 days." You can accept the task and act on it, dismiss it if you've already followed up outside the system, or snooze it by 2 days if the timing isn't right. No lead falls through the cracks because you got busy on a job — the AI is watching the clock for you.

Vendor Lookup by Voice

In the AI tab, say "find Anderson Supply's number" and the AI searches your contact book and reads the number back to you immediately — no typing while you're on a ladder or driving to a job. You can also say "call Anderson Supply" and the AI finds them in your contact book by name and dials without you ever unlocking your phone or opening the Contact Book at all. Hands-free access to the whole address book.

Duplicate Detection

When a new contact is created — manually, from an inbound call, or from a business card scan — the AI checks for phone number and name similarity against all existing contacts. If it finds a likely match, it shows a "Possible Duplicate" banner on the new contact card with a side-by-side comparison. Merging is one tap. The AI also runs a weekly background scan across your full contact book and queues merge suggestions for any pairs it hasn't flagged yet — keeping your book clean without manual dedup effort.

Auto-Tagging from Context

When the AI creates a contact from an inbound call, it applies relationship tags automatically from the call transcript context. A caller who mentions a specific trade type gets tagged with that category. A repeat caller who says they were referred by a current customer gets tagged as "Referred By" — and the referring customer's record gets a note. These tags feed follow-up automations and marketing sequences in the cloud CRM without requiring any manual data entry from you in the field.

Zero-data-entry principle: Every AI contact feature is designed around the assumption that you are busy, possibly one-handed, and you shouldn't have to stop what you're doing to update a record. The AI updates the contact book as things happen — you review and confirm when you have a moment, not in real time on the job site.

Where Contact Book Fits in the Mobile App

The Contact Book is the second item in the bottom tab bar, positioned between Projects and AI. That placement is intentional — it's the second most-used feature in daily field work after the project list. Vendors, subs, leads, and customers all live here so the Projects tab can stay focused on job execution, and the AI tab can pull from the contact book when you ask it questions or give it voice commands.

Any contact can be the starting point for a new project. Any contact can be the target of a new task. Every action you take on the mobile Contact Book — calling, texting, adding notes, merging duplicates — syncs immediately to the cloud CRM so the full history is always available to the rest of the team with the right permissions.

Field ScenarioWhat Happens
Your sub cancels while you're driving to a jobCall ends, AI prompts for a note. Tap the mic, say "Rivera Roofing cancelled for Thursday — need a replacement." Note logged to Rivera's contact, a follow-up task is auto-created, all while you keep driving.
You meet a property manager on site and need their infoOpen the Camera tab, point at their business card. AI extracts name, company, phone, email, and title. One-tap confirm saves the contact. Tagged as Other. Ready to call immediately from the list.
A lead called while you were on another jobAI Receptionist handled the call and created the contact automatically. By the time you check your phone, the lead is in your Contact Book with their name, phone, what they need, and urgency level already filled in. Tap the green call button to call back.
You need to check if your lumber yard has material in stockSay "call Anderson Supply" in the AI tab. The AI finds them in your Contact Book by name and dials. No typing, no searching, no unlocking your screen.
A lead hasn't heard from you in a weekAI adds a follow-up task to your Tasks tab automatically. You see it when you open the app. Tap the task, tap the call button on their contact card, done.
You scanned two business cards from the same person at different eventsAI detects the duplicate on the second scan, shows a side-by-side comparison banner. Tap Merge. One clean contact record with both cards attached as source images.
A new crew member starts and you want them in your bookTap "+" → fill in name and phone → set type to Crew → Save. The contact is now reachable for PTT and GPS check-in purposes across the mobile app. Synced to the CRM team roster immediately.