Manage Contacts

Before you start

  • Requires: Admin or Campaign Manager role.
  • Contacts and applicants are two different things: a contact is anyone you might want to track (a lead, a referrer, an alum, a prospective student), while an applicant is a contact who has actually opened an application. Most applicants become contacts automatically; not every contact is an applicant.

Open the Contacts page

From the sidebar, click Contacts. The page lists every contact in your organization in a table with these default columns:

  • Name (avatar + first + last)
  • Email
  • Phone
  • Lead stage (badge)
  • Source (Manual, Import, Signup, API)
  • Assigned to (team member who owns this contact)
  • Tags (key:value pairs)
  • Apps (count of applications they've started)

Use the Columns menu (slider icon) at the top-right of the table to hide or show individual columns. Choices persist across visits.

Add a contact manually

  1. Click Add Contact in the top-right toolbar. A side sheet opens.
  2. Required: Email. Optional: first name, last name, phone (with country code), notes, tags.
  3. Pick a lead stage if you have one in mind (default: New).
  4. (Optional) Set Assigned to — pick a team member who'll own this contact going forward.
  5. Click Save. The new contact appears at the top of the list.

The contact's Source is automatically set to Manual.

Import contacts from CSV or Excel

For more than a handful of contacts, use the import flow:

  1. Click the More (three-dot) menu next to Add Contact and choose Import contacts. The Import Contacts page opens.
  2. Drag or browse to a CSV or Excel file (.csv, .xlsx, .xls).
  3. The system parses it and shows a preview table with each row marked Valid or Invalid (e.g. missing email, malformed phone).
  4. Headers are matched case-insensitively. Recognized columns are: email (required), firstname, lastname, phone, notes, plus any column starting with tag_ (e.g. tag_program, tag_source) which becomes a key:value tag.
  5. Review the preview. Skip the invalid rows by leaving the file as-is, or fix them in your spreadsheet and re-upload.
  6. Click Import. A progress bar shows the upload; once done, a results card lists how many were created, skipped, or failed.

Imports that conflict with an existing email update the existing contact rather than creating a duplicate.

The filter bar above the table lets you narrow down by:

  • Search — free-text across name, email, and phone (300ms debounce).
  • Source — Manual, Import, Signup (created via the public application flow), API.
  • Lead stage — see below.
  • Assigned to — pick a team member.
  • Has user account — only contacts who have an account on the platform.
  • Tag — pick a key, then optionally a value.
  • Application count — set min/max bounds (e.g. between 1 and 5).
  • Application periodall time / this month / this year.
  • Phone country code — filter by 1–4 digit country prefix.

Active filters appear as removable chips below the bar. Combine them freely; the URL updates so you can copy a specific view to share.

Lead stage

Lead stages let you track where a contact is in your top-of-funnel pipeline:

StageSuggested use
NewJust added, no contact attempted
ContactedYou've reached out at least once (call, email, WhatsApp)
InterestedThey responded positively or asked to learn more
ReadyThey're ready to start an application

You can update the lead stage from the contact's detail page or via bulk actions.

Bulk actions

Select rows by ticking the checkbox at the start of each row, or click the header checkbox to select every row on the current page. A toolbar appears at the bottom of the screen with available bulk actions:

  • Assign to… — set the same team member as owner on all selected contacts.
  • Set lead stage… — bulk-update the lead stage.
  • Add tag… — add a key:value tag to all selected.
  • Delete — remove the selected contacts (asks for confirmation; can't be undone).

To select more than the current page, use the Select all matching prompt that appears on the toolbar — it widens the selection to every contact matching the current filters.

Export contacts

Click the More menu next to Add Contact and choose Export to Excel. A dialog confirms the columns to include and the row count. Confirming downloads an .xlsx file with the full filtered set — not just the current page.

The contact detail page

Click any contact row to open their detail page. The layout has two columns:

  • Left sidebar with stacked cards:
    • Profile — avatar, name, email, and a row of pills (status, source, lead stage). Below the pills, two action buttons: Phone Call (when a phone number is on file and Twilio calling is enabled — see Call Activity) and Invite (opens the invite-to-apply dialog).
    • Stats — Notes / Tasks / Apps counts, with + Add Note and + Add Task buttons.
    • Details — email, phone, added date, assigned to. A small pencil icon at the top-right of this card opens the full edit form.
    • Tags — every key:value tag, each with an X to remove, plus an + Add tag slot.
  • Main area with tabs:
    • Timeline — a chronological feed of every action on this contact (notes, calls, applications created, status changes, messages sent).
    • Notes — internal notes specific to this contact, with type toggles (note/call/email/meeting).
    • Tasks — to-dos tied to this contact or their applications.
    • Applications — every application the contact has started; click to open.
    • Documents — files uploaded for this contact, outside any specific application.
    • WhatsApp — the message thread with this contact.

Invite a contact to apply

If the contact doesn't have an application yet, click Invite in the profile card (left sidebar):

  1. Pick the campaign to invite them to.
  2. Pick a channelEmail, WhatsApp, or Copy Link to share manually.
  3. Click Send. The contact gets the invitation with a one-click link to the campaign's public landing page.

When they click the link, they're routed to the standard sign-in flow (the link includes ?org= automatically) and can start the application.

Troubleshooting

SymptomCauseFix
Contacts missing from the sidebarYou're signed in as a Member or CandidateUse an Admin or Campaign Manager account
Imported file says "0 valid rows"Your file has no email column or the headers are non-LatinAdd a column header named exactly email (case-insensitive) and re-upload
Some imported rows say Updated not CreatedAn existing contact had the same emailThis is the deduplication path — the existing record is updated, not duplicated
Tag filter shows no valuesYou haven't picked a key yetPick a tag key first; values auto-populate from existing contacts
Phone Call button missing on the sidebarThe contact has no phone number, or your org hasn't connected TwilioAdd a phone number; for Twilio, ask an admin to enable the integration
Bulk action toolbar says Selecting all matching… indefinitelyYou started a "select all matching" on a very large filtered setWait — large selections can take a few seconds. Cancel by clicking the X on the toolbar
Export downloaded an empty fileNo contacts match the current filtersClear filters first to confirm there's data, then re-apply only the ones you want

Was this page helpful?