Contacts

Contacts

The Contacts list is the searchable table of every person in your workspace; click any row to open a detail sheet with their details, relationships, and activity.

Contacts shows every person in your workspace, 50 rows at a time. Search by name or email, narrow the list with the filter menu, click a row to open the detail sheet, or download the current view as a CSV. Contacts arrive here as people register for events, apply through Cadre, or submit forms, or when you add them yourself.

Browsing, searching, and filtering

The toolbar shows an X of Y count, where X is the rows on the current page and Y is the total matching the active filters. The search box on the right is labelled Search name or email. It matches against the contact's name and email address only; company, industry, and custom fields are not searched.

Each row carries the columns Name, Email, Company, Lifecycle (a colour-coded stage pill), Engagement, Source, and Added. Any custom field you flag Show in Table appears as an extra column before Added.

Email consent and SMS consent columns are hidden by default, since a row-by-row in/out reading is audit detail rather than something you scan for. Each column appears only while you're filtering by that consent, using the Email opted in or SMS opted in filter below. When shown, the column reads one of three states: Opted in (green) means the channel preference is on. Opted out (rust) means the contact hasn't opted in but the channel exists on record. A dash means there's no signal: no email or phone on file for that channel.

When the list is empty, the message depends on whether a filter is active. With no filters, you see "No contacts yet". With a search or filter applied, you see "No contacts match the current filter."

The filter button beside the search box opens a menu with three groups. Under Engagement, three independent toggles narrow the list to contacts who are Email opted in, SMS opted in, or have a Phone on file. The Tags and Lists groups let you pick one tag and one list; each group appears only when the account has at least one tag or list. A Clear all filters link appears at the bottom whenever a tag, list, or engagement filter is set.

Filters combine with AND: a contact must satisfy the search term, the selected tag, the selected list, and every engagement toggle to remain in the view. Tags and Lists are single-select: you can't filter by two tags or two lists at once. The Phone on file toggle checks only that a phone number is present, not that it has been verified.

Opening a contact's detail sheet

Clicking a row opens the detail sheet beside the list, without leaving the page, so the list and the sheet stay visible and clickable together as you move from one contact to the next. The link is shareable and bookmarkable. The header shows the contact's name with their email, job title, and company beneath it. If the contact's email is suppressed, a red banner reading "This contact's email is suppressed" sits below the header, naming the reason: hard bounce, complaint, manual suppression, or unsubscribe.

The sheet has three base tabs: Details, Relationships, and Activity. Two more appear conditionally: Giving shows only when Donor Management is on, and Portal shows only when your workspace has a customer portal. Details opens first.

When Donor Management is on, Giving shows the contact's donation and transaction history. When your workspace has a customer portal, Portal shows whether the contact has a portal account (and, if so, when they were last seen), plus a read-only summary of their spend across your products: events, learning, and giving. A contact with no portal account reads "No portal account. This contact hasn't signed in to the customer portal yet."

Details: fields, custom fields, and notes

Details opens with an activity-at-a-glance strip (the engagement score and the last few events, with a link to jump to the full Activity tab), then the editable fields: Tags and Lists pickers, click-to-edit rows for Preferred name, Pronouns, LinkedIn, Industry, the address fields, and the Lifecycle stage strip. The Consent group has Email and SMS toggles that flip between Opted in and Opted out. The Phone row is read-only: it shows a masked value when a number is stored, with a Verified badge if the number passed verification through Events.

Below the fields, a Custom fields group lists every custom field defined for the account, editable inline, and shown only when the account has at least one defined. Fields marked sensitive show a lock icon and a Reveal button instead of a value. Revealing is gated on the pii.view permission, which isn't implied by an admin role; without it, the action returns "You don't have permission to view sensitive fields." A Hide button clears a revealed value back to hidden.

A Notes section closes out Details, laid out as a commenter row: a text area placeholder "Add a note about this contact…" and an Add note button. Submitting an empty body is rejected with "Note body can't be empty." Saved notes list newest first, each stamped with a timestamp and a short author identifier.

Relationships

The Relationships tab lists the organizations the contact is affiliated with. Click Add to open a form with a Relationship type dropdown, an Organization picker (drawing from up to 500 of your organizations), and an optional Title / role field, then Add relationship to save. The primary affiliation is marked with a star. End moves an affiliation into a Past section while keeping the record; the remove button deletes a mistaken entry.

Activity

The Activity tab is where the contact's history lives. An Engagement section leads with a score and a tier (cold, warm, hot, or champion), interaction counts (pageviews, email opens, email clicks, events attended, applications), and first- and last-touch UTM attribution when present. This profile is computed by a nightly rollup, not in real time; until a contact has been scored, the section reads "No engagement data yet." The score and tier are read-only.

Below that, an Activity section charts the pace and mix of the contact's events, then lists a read-only timeline of up to 100 events, newest first: portal sign-ins, page views, event registrations and check-ins, donations, form submissions, Cadre applications, and lifecycle-stage changes. Events that carry a link render as a clickable entry. With nothing to show, the timeline reads "No activity yet. Portal sign-ins, page views, registrations, donations, and applications will appear here."

An Audit log section closes the tab: an append-only record of field edits and lifecycle-stage moves, showing what changed, from what, to what, and (for a stage move) its source when it wasn't manual. Entries can't be edited or deleted.

Data-protection actions

The overflow menu in the sheet header (beside the close button) holds two data-protection actions, both requiring the same pii.view permission as revealing a sensitive field: Export data (GDPR) downloads everything on record for that one contact, and Erase contact opens a confirm dialog that requires typing the contact's name before it permanently deletes the contact along with their activity and identity links. Consent records are retained under legal hold. Erasure satisfies a right-to-be-forgotten request and cannot be undone.

Updated