Skip to content
Water LLM
Help Center

Your CRM

The πŸ‘‹ CRM tab is the center of everything. One row per person — synced live with Google Contacts and updated automatically by Gmail and Calendar.

How the CRM Works
CRM Overview (3 min)
LOOM_CRM_OVERVIEW
Walkthrough video coming soon

The CRM is a live two-way link between your spreadsheet and Google Contacts. Every contact has a Contact ID — a unique identifier assigned by Google — that ties the CRM row to the Google Contact record. When you sync, Water LLM matches rows to contacts by ID, not by name or position.

What You GetHow It Works
One row per person Every contact — clients, prospects, partners — lives as a single row
Synced with Google Contacts Changes in the CRM push to Google Contacts (and vice versa) on your sync schedule
Communication history auto-filled Gmail and Calendar scans populate last email dates, last meeting, and next meeting
Column order doesn't matter Rearrange, hide, or freeze any column — Water LLM finds everything by header name
Understanding the Column Layout
CRM Column Tour (4 min)
LOOM_CRM_COLUMNS
Walkthrough video coming soon
Header color guide
Header ColorMeaningWhat To Do
White Editable — your data entry fields Enter and edit freely
Gray Auto-calculated by Water LLM (email dates, meeting dates, sync timestamps) Do not edit. Overwritten on every sync or refresh.
Blue System column — found by header name Don't rename. You can reorder or hide safely.
Identity columns
ColumnWhat It IsEditable?
Contact ID Unique ID from Google Contacts. The CRM–Google link. No — assigned automatically
First Name / Last Name Used in email templates, AI features, and the Name formula Yes
Name Auto-generated from First + Last Name by an array formula No — formula column. Do not type here.
Company / Title / Department Used in outreach templates, meeting prep, and AI context Yes
Nickname Informal name — usable as a template placeholder ({{Nickname}}) Yes
Birthday Syncs with Google Contacts. Used by Birthday Drip. Yes
Photo Profile photo URL from Google Contacts No — synced automatically
Contact information — emails, phones, websites

Up to 4 email addresses, 3 phone numbers, and 3 websites are supported. Each field has a companion Type column that maps to the label in Google Contacts.

Always use the dropdown in Type columns — never type free text

Typing something not in the dropdown into a Phone or Email Type column (like "cell," "biz," or anything other than the preset values) causes Google Contacts to silently reject the sync for that entire contact — no error message, it just skips the update. Valid values are: Mobile, Work, Home, Main, Other for phones; Work, Personal, Other for emails.

The Contact Composer only offers valid values — when in doubt, use it instead of editing the cell directly.

Why two email addresses matter

Communication Refresh scans Gmail for the most recent email sent to and received from Email 1 and Email 2 separately. If someone uses different addresses for work and personal correspondence, having both gives you a complete picture of your history with them.

Communication tracking columns

These are filled automatically by Communication Refresh. Do not edit them manually — they're overwritten on every refresh run.

ColumnHow It's Calculated
Last Email Received From Email 1 Most recent email received from Email 1, up to 3 years back in Gmail
Last Email Received From Email 2 Same for Email 2
Last Email Sent To Email 1 / 2 Most recent email you sent to that address, up to 3 years back
Last Met With Contact Most recent past calendar event where the contact was a guest and didn't decline. "Free" events excluded.
Next Meet With Contact Earliest upcoming calendar event with this person, within the next 6 months
LI Message Received From Contact / LI Message Sent To Contact Most recent LinkedIn message dates (from LinkedIn archive import)
Last Contact From Them The most recent inbound date — emails received from any of their four addresses, LinkedIn messages received, and meetings that took place
Last Contacted By Me The most recent outbound date — emails you sent to any of their four addresses, and LinkedIn messages you sent
Last Contact Method Which single source is most recent overall — e.g. “Meeting”, “Received from Email 2”, “Sent to Email 1”, “Sent LI Message”
Days Since They Engaged Array formula: today minus Last Contact From Them. Recalculates every time you open the sheet. Do not type here.
Health Score 0–100 relationship score, recalculated after each Communication Refresh. See Health Score for the model and the bands.
Why inbound and outbound are separate columns

There used to be one Last Contact column holding the most recent date from either direction. A client emailing you out of the blue and you chasing a client who has gone quiet produced the same date, so nothing downstream could tell them apart.

Splitting them is what lets Water LLM distinguish Ghosting (you reached out, they never came back) from Follow-Up Due (they emailed you and the ball is in your court). Those are opposite problems and they need opposite actions. Follow-Up Due looks at emails and LinkedIn messages only, so a meeting never leaves you “owing” a reply.

Meetings count as inbound. A meeting that actually happened is the strongest engagement signal there is, so it credits Last Contact From Them even when you sent the invite. And because pressing send is not evidence of a relationship, the Health Score weights inbound more heavily than outbound.

Notes vs. Google Doc Notes

There are two places to write about a person, and they do different jobs.

FieldSyncs to Google Contacts?Use It For
Notes Yes — visible in any app that reads your Google Contacts, including your phone Short context you want at hand everywhere: how you met, what the company does. One cell, so keep it brief.
Google Doc Notes No — the column holds a link, and the document stays in your Drive Everything else. Session notes, meeting records, anything sensitive. It is a real document, so it takes as much as you want to write and it is never pushed to Google Contacts.
If you remember a “Private Notes” column

It was retired. Per-contact notes moved into Google Doc Notes, which does the same job properly — a document rather than a spreadsheet cell, with no length limit and no risk of a sync pushing it to your phone. If you still have a Private Notes column from an older sheet, nothing writes to it any more; move what is in it into the contact’s notes doc.

User-defined fields — your 8 custom columns

Eight fully customizable columns you name anything you need: "Lead Status," "Referral Source," "Program Tier," "Industry," etc.

  • Set labels in βš™οΈSettings, row 3 (columns A–H)
  • Set dropdown values in βš™οΈSettings rows 4+ (same columns)
  • These are the only headers safe to rename — renaming goes through the settings UI, not by editing the header cell directly
  • Values sync with Google Contacts using stable internal IDs, so renaming a label doesn't lose existing data
Lead Source

How each person first found you — Referral, LinkedIn, an event and so on. It’s a dropdown on πŸ‘‹ CRM, and πŸ“ˆ Biz Dev and πŸ“… Clients show the same value from the CRM row. The list is yours to edit on the Dropdowns tab.

Water LLM fills it in only on contacts it creates itself: someone you promote from LinkedIn, a new contact from a calendar invite whose title matches one of your keywords (set the keyword → source pairs in Configure Hub β€Ί Calendar Parser), and a new sponsored or referred client. Existing contacts are never changed — the rest is yours to set. Where your business comes from is summarised in the Business health area of 🎯 My Focus.

The Delete Contact? column

Set it to DELETE from the dropdown to remove a contact. Never delete the row by right-clicking.

On the next Sync to Google run, a flagged contact is deleted from Google Contacts, removed from the CRM, and backed up to the Deleted Contacts sheet — which acts as a suppression list to prevent re-import from LinkedIn or sync.

Deletion from Google Contacts is permanent

The CRM backup preserves the row data, not the full Google Contact record. Make sure you intend to delete before flagging.

Syncing with Google Contacts
Syncing Contacts (3 min)
LOOM_SYNC
Walkthrough video coming soon
DirectionWhat It DoesWhen to Use It
Sync to CRM
Google β†’ Sheet
Reads your Google Contacts and updates/creates CRM rows After editing contacts on your phone, in Gmail, or on contacts.google.com
Sync to Google
Sheet β†’ Google
Pushes edited CRM rows to Google Contacts After editing contact details in the spreadsheet

Run both directions at once with Water LLM β€Ί Sync now, or one direction from Water LLM β€Ί Run Manually. Both directions run nightly by default — outbound at 2:00 AM, inbound at 3:00 AM, on a 7:00 AM finishing time. Change either in Configure Hub β€Ί Automation Scheduling.

What syncs bidirectionally
  • Name, nickname, company, title, department
  • Up to 4 emails, 3 phones, 3 websites (with type labels)
  • Full address, birthday, notes, photo
  • All 8 user-defined fields
What lives only in the CRM (doesn't sync)
  • Communication tracking dates (email, meeting, LinkedIn)
  • Last Contact From Them / Last Contacted By Me / Days Since They Engaged
  • Invoice and billing data
  • Biz Dev / pipeline data
  • Google Doc Notes (the link; the document itself lives in your Drive)
If you edited the same contact in two places

Water LLM uses an eTag (a version fingerprint from Google's API) to detect when a contact changed outside the CRM. If both sides changed, it flags the conflict rather than silently overwriting.

Edited in both places? Run Sync to CRM first.

Run Sync to CRM first to pull the Google version in, then make your edits in the sheet, then run Sync to Google. This prevents a conflict.

Communication Refresh — Email and Meeting Dates
Communication Refresh Explained (4 min)
LOOM_COMM_REFRESH
Walkthrough video coming soon

Communication Refresh scans your Gmail and Google Calendar to fill in all the communication tracking columns — last emails, last and next meeting dates, Last Contact From Them, Last Contacted By Me and Last Contact Method.

Run manually: Water LLM β€Ί Run Manually β€Ί Refresh Communication Activity. It also runs nightly by default, an hour after the Google Contacts sync, because almost everything else reads what it writes.

The first run won't finish everything — and that's expected

Water LLM processes contacts in batches. Google Apps Script imposes a 6-minute execution limit per run. When that limit is hit, the job saves its progress and picks up where it left off on the next run.

For a CRM with 100+ contacts, the first Communication Refresh may need 2–5 passes before all contacts have updated dates. You'll see dates filling in gradually — some contacts show recent dates while others still show blank. This is by design, not a bug.

Don't run it manually over and over in quick succession. Rapid re-runs restart from the beginning of the batch, so progress doesn't accumulate. Let the nightly schedule do the work, or wait at least a minute between manual runs and check the βš™οΈStatus tab to confirm each run completed before starting the next.

What it does in each pass
  1. Scans Gmail for last sent/received dates per contact email address
  2. Looks up the most recent past calendar meeting per contact
  3. Looks up the next upcoming calendar meeting per contact
  4. Recalculates Last Contact From Them, Last Contacted By Me and Last Contact Method across all contacts
What counts as a meeting?

Any Google Calendar event where the contact's email appears in the guest list and they did not decline. Events marked "Free" (transparent) are excluded.

Add shared calendars if you use them

If you use a team or coaching calendar, add it via Water LLM β€Ί Configure Hub β€Ί Business Briefings. Events from shared calendars are included in meeting scans.

Checking refresh progress

The βš™οΈStatus tab logs every run — timestamp, how many contacts were processed, and any errors. If a run ends early due to the time limit, you'll see the partial count there.

Creating Contacts
Creating & Managing Contacts (3 min)
LOOM_CREATE_CONTACT
Walkthrough video coming soon
MethodBest ForHow
Contact Composer Creating a fully detailed contact with validation on every field Water LLM β€Ί Create β€Ί Contact
Sync to CRM Importing contacts already in Google Contacts Water LLM β€Ί Run Manually β€Ί Sync: Google β†’ Water LLM
LinkedIn Import Adding your LinkedIn connections in bulk LinkedIn Import guide →
CSV Import Bulk import from another CRM or spreadsheet Water LLM β€Ί Import β€Ί CSV Contacts
Calendar Invite Parser Extracting contacts from Calendly/Acuity/Google scheduling confirmations automatically Water LLM β€Ί Run Manually β€Ί Parse Future Calendar Invites
Manual row entry Quick one-off additions Type into a new row in the CRM. Leave Contact ID blank — assigned on next sync.
The Contact Composer (recommended)

A guided form that validates inputs and only offers valid values for Type dropdowns — impossible to enter an invalid phone/email type by accident. Available on desktop and via the mobile web app.

  1. 1
    Open Water LLM β€Ί Create β€Ί Contact
  2. 2
    Fill in the fields you need. Only First Name is required.
  3. 3
    Click Save & Close — or Save & New to add another straight away. The contact is added to the CRM and queued for sync to Google Contacts.

To edit an existing contact, open the Composer and search by name, email, or company. Their current data loads into the form.

Calendar Invite Parser

If you use Calendly, Acuity, or Google Event Scheduler, this feature reads each event description and extracts name, email, phone, company, and title — then creates or updates the CRM contact automatically.

Configure it at Water LLM β€Ί Configure Hub β€Ί Calendar Parser — select your scheduling platform and optionally filter by keywords so only certain meeting types trigger extraction (e.g., "Discovery Call", "Consultation").

Finding Contacts
  • Contact Finder — Water LLM β€Ί Create β€Ί Edit Contact: searches name, email, or company. Also available in the mobile web app.
  • Sheets search — Ctrl+F / Cmd+F to search within the sheet directly. Great for a quick scan.
Need to find a segment? Use a filter.

To find all contacts at a specific company, or all contacts with a status value, create a filter on that column. See Filtering Your Data for how.

Finding Duplicates

The same person arriving twice is the most common way a CRM goes wrong — a LinkedIn import, a CSV, and a Google contact can all describe one human. Water LLM β€Ί Run Manually β€Ί Merge Duplicates looks for them and shows you what it found.

Nothing is merged without you

Duplicate detection only ever suggests. Merging two people who were not the same person is unrecoverable, so that decision stays yours. The dashboard shows a count, never an action.

Two people who genuinely share a name, or a shared family address, will keep being suggested. Add them to the Don’t Merge With column once and they stop.

Cleaning Up Contact Names

Contacts imported from LinkedIn often carry clutter in their names — credentials (MBA, PhD, PCC, MCC, ACC), titles (Dr., Prof.), pronouns (she/her), and emoji characters. These cause issues in outreach templates and AI features.

To clean your entire CRM in one pass: Water LLM β€Ί Configure Hub β€Ί Maintenance & Troubleshooting β€Ί Clean Up Names

Run this once after your first LinkedIn import. Nobody wants to receive an email that opens with "Hi Sarah Johnson MBA PCC,"

Where the CRM Shows Up on the Dashboard

The πŸ“Š Dashboard tab reads your CRM alongside Invoices, Clients and Biz Dev. Four blocks come straight from here:

BlockFrom your CRM
Relationship HealthYour contacts grouped into health bands, plus the average score.
Engagement MomentumNew contacts in the last 30 days, and LinkedIn messages sent and received.
Quick WinsBirthdays this month, contacts with no email address, and possible duplicates.
Needs Follow-UpIn the sidebar: people last spoken to 25–45 days ago — recent enough not to be awkward, long enough to have slipped.

It refreshes every night on its own — that one has no switch, because every figure on the tab depends on it. To refresh it now, use Water LLM β€Ί Run Manually β€Ί Refresh Dashboard.

Every figure, defined

Dashboard & Metrics gives the exact definition of every number on the tab, the thresholds behind each colour, and how to pull the same figures into tabs of your own.

Rows 1–3 are yours

The top three rows of the Dashboard are a user-owned area. Put your logo, a title or a note there — nothing overwrites them.

Still stuck? Email support@waterllm.com and we’ll get back to you within one business day — or use the contact form.