Managing Contacts
Contacts are the foundation of KarmaFlow's CRM. Every person your business interacts with across calls, chats, email, or SMS can be represented as a contact record.
Viewing Contacts
Navigate to CRM > Contacts to open the contact list. Two view modes are available from the toggle in the toolbar:
- Cards — paginated table with rich activity badges (calls / chats / emails / SMS / memories).
- Spreadsheet — Attio-style grid with a sticky header, frozen first column, inline edit on click, drag-to-resize columns, multi-select with Shift-click range, sortable headers, and a bulk-action bar that appears when rows are selected.
The active view persists per page in your browser. Both views share the same pagination and search.
Searching, Filtering, and Saved Views
The toolbar exposes:
- Search — name, email, company, or phone.
- Saved view picker — apply a reusable filter + sort + columns preset. If you have a default view set, it loads automatically. See Saved Views.
- Filter / Sort / Columns — build the list shape inline without leaving for the Views page: AND/OR/nested filter groups, removable filter chips, sort by any field, and choose which columns show (your tenant custom fields are all filterable, sortable, and selectable). Save the result as a new view or update the one you're on.
- Ask AI — describe the segment you want in plain English ("hot leads in Ontario with no open task") and the AI turns it into a structured filter, validated against the allowed fields, loaded into the toolbar for you to tweak.
Your filter, sort, and column choices are saved per user on the server, so your working list looks the same on every device.
Activity and intent filters
Beyond a record's own fields, you can filter by:
- Activity (related records) — "has an email sent after
<date>", "no open task", "has a deal in stage X", and similar existence checks across emails, notes, tasks, deals, calls, SMS, chats, and meetings.
- Intent & sentiment — buying intent, sentiment, relationship temperature, and confidence, drawn from Relationship Intelligence. (A record is only matched once its AI read has been generated.)
Segment Actions (Organize)
When a filter is applied, a select-all-matching banner lets you act on the entire filtered segment, not just the rows on the current page. From the action bar you can:
- Add to list / New list
- Tag / Untag
- Assign an owner
- Enroll the segment in a sequence
- Task — create one task per record
- Delete
Owner and tag actions run as a single bulk update so they scale to large segments; list and task actions enumerate records up to a safety cap and tell you if a segment is too large rather than silently truncating.
Creating a Contact
- Click + Add Contact.
- Enter the contact details such as name, email, phone, and company.
- Optionally assign tags, a company, and custom field values.
- Click Save. Field-level validation errors appear inline if any field is rejected.
Inline Editing (Spreadsheet view)
In Spreadsheet view, click any cell in an editable column to enter edit mode. Type the new value, then:
- Enter — commit.
- Esc — cancel.
- Tab / Shift+Tab — move to the next / previous column.
- Arrow keys move the focus ring between cells.
Editable columns on contacts: first name, last name, email, phone, company, lifecycle stage. Edits PUT to the contact and update the row optimistically.
Bulk Edit and Bulk Delete
Select multiple rows in Spreadsheet view (checkboxes; Shift-click for a range). The bar at the top of the grid shows:
- Edit — opens a dialog to set one field on every selected row in a single batch.
- Delete selected — removes every selected row.
Contact Detail View
Select any contact to open the detail page. The page opens with a full-width hero — avatar, name (inline-editable), company link, inline email and phone, LinkedIn / website, and status chips — with the action buttons grouped into clusters (Conversations · Enrich / Re-evaluate · Call / Meet / Note · Task · Deal). Most sections below are collapsible accordions whose open/closed state your browser remembers.
Just below the hero:
- Vitals strip — four at-a-glance, deterministic signals computed live from your existing CRM activity (no new tracking): Last touch (most recent interaction on any channel and how long ago), Responses (inbound "pull" vs outbound "push" and time since the last reply), Engagement (a blended cross-channel rate — the share of outreach that earned any positive signal), and a Trend — New / Warming / Steady / Cooling / Dormant with a one-line plain-English reason. The windows that drive the trend follow your workspace's engagement cadence setting (B2B runs slow, B2C/support fast; configurable per pipeline and lifecycle).
- Recommended next move — an AI-chosen, prefilled action card grounded in this contact's own history. It surfaces the suggested move plus one or two ready-to-run actions the AI picks from a fixed catalog (create task, draft email, log note, new deal, add tag, set lifecycle); clicking one opens the right surface already filled in and linked to the contact. It shows nothing when there's no clear next step.
The side panels and sections include:
- Tasks — follow-up items linked to this contact; "Add task" opens a full slide-in drawer (status, start/due/reminder, estimate, notes, tags, recurrence).
- Lists — list memberships.
- Find similar — neighbours from the semantic index. Useful for "show me other contacts that look like this one."
- Most relevant context — semantically closest historical interactions across all channels (calls, chats, emails, SMS, notes). Great cold-open for an account exec about to call.
- Notes — paginated note feed with inline add.
- Custom fields — edited inline with a pencil-first affordance.
- Change history — admin-only audit trail for the record.
- Presence avatars — when other teammates are viewing or editing the same record, their initial chips appear in the header.
The main panel shows a unified engagement & activity timeline. Alongside channel interactions and notes, it now records every action taken on the record itself — owner changes, tag changes, list membership, lifecycle changes, contact ↔ company links, merges, and more — plus processed web-form submissions, so the timeline is a complete history of the relationship. Clicking a timeline row opens the underlying record in a slide-in drawer. The action bar sends email / SMS, starts a call, or logs a note.
Importing Contacts
You can import contacts in bulk from CSV files:
- Go to CRM > Contacts.
- Click Import.
- Upload your CSV file.
- Map the CSV columns to KarmaFlow fields.
- Review and confirm the import.
For more detail, see Importing Data.
Custom Fields
Use custom fields to capture information specific to your business. Open CRM → Setup → Custom Fields to create and manage them. Supported field types include text, number, date, dropdown, and checkbox. AI-research fields auto-populate from the record's own history plus optional web search — full walkthrough in Enriching Records with AI.