CRMImport

Import People & Organizations

Bring your contacts, companies, and custom fields into UpSight so surveys, segmentation, and analysis all work from a single source of truth.

Importing your contact list is the foundation for personalized surveys, smart branching, and meaningful segmentation. When UpSight knows who your respondents are before they open a survey, every interaction becomes more relevant.

Step 1: Prepare Your Spreadsheet

Export your contacts from your CRM, mailing list, or spreadsheet as a CSV file. UpSight auto-detects columns, but using clear header names improves accuracy.

Standard Fields (Auto-Detected)

Person
  • Name or First Name / Last Name
  • Email
  • Phone
  • Title / Job Title
  • LinkedIn
  • Location
Organization
  • Company / Organization
  • Industry
  • Company Size
  • Company Stage
  • Annual Revenue
  • Funding Stage / Total Funding

Segmentation Fields

These columns automatically become person attributes, making them available for filtering and analysis:

  • Segment
  • Lifecycle Stage
  • Job Function
  • Industry
  • Location
  • Membership Status

Download Templates

Example CSV

Name,Email,Title,Company,Industry,Segment,Member Status,Membership Year
Jane Chen,[email protected],VP Engineering,Acme Inc,SaaS,Enterprise,active,2025
Marcus Rivera,[email protected],CTO,Startup Labs,FinTech,Growth,true,2026
Canonical Field Reference (SEO + Human-Readable)

This is the canonical CSV schema for importing people and organizations into UpSight CRM for dynamic groups, survey targeting, and ICP scoring. Person traits and organization traits are intentionally separate so segment logic is unambiguous.

Person fields

  • first_name,last_name: Jane,Chen
  • email: [email protected]
  • title: VP Engineering
  • job_function: Engineering, Product, Sales, Marketing
  • seniority_level: C-Level, VP, Director, Manager, Senior, IC
  • segment: Enterprise, Mid-Market, SMB
  • membership_status: active, inactive, expired, trial
  • membership_level: Basic, Pro, Enterprise
  • membership_year: 2026
  • membership_expires_at: 2026-12-31
  • person_description: Leads platform engineering for B2B SaaS

Organization fields

  • company: Acme Inc
  • company_website: https://acme.co
  • industry: SaaS, Healthcare, FinTech
  • sub_industry: Vertical SaaS, Digital Health, Payments
  • company_size: 1-10, 11-50, 51-200, 201-500, 1000+
  • funding_stage: Bootstrapped, Seed, Series A, Series B, Public
  • annual_revenue: 12000000
  • total_funding: 45000000
  • lifecycle_stage: active, evaluating, expansion, churn_risk

Person segment vs organization segment

Use segment for person cohort labels (stored as person attribute segment_label). Use organization fields like company_size, industry, and funding_stage for account-level segmentation.

How updates and overwrites work

Create mode: adds new records and skips duplicate email or duplicate name+organization matches. Upsert mode: matches existing records and only updates fields that have values in your CSV; blank cells do not erase existing data.

For the upload widget flow, default behavior is Upsert. If an existing email match is found (or name+organization fallback match), UpSight updates that person instead of creating a duplicate. You can upload updated spreadsheets repeatedly.

There is currently no per-row overwrite confirmation step. Import runs directly after submission using your selected mode.

Step 2: Include Custom Fields

Any column that isn't a standard CRM field can be imported as an attribute -- a flexible tag that attaches to each person. Attributes power filtering, segmentation, and survey personalization.

Common Custom Fields

Membership

Member Status, Membership Year, Expiration Date

Track association/community membership alongside contacts. These become durable attributes you can filter and segment on.

Events

Event Attended, RSVP Status, Session Preference

Import event registration data to personalize follow-up surveys.

Product

Plan, Feature Flags, NPS Score

Product usage data enables targeted research surveys scoped to specific user tiers.

How custom fields become attributes

When UpSight's AI analyzes your CSV headers, it suggests which extra columns to import as attributes and assigns an attribute kind (e.g., membership_status, event, custom). You can also specify custom mappings via the API.

Step 3: Upload & Review

There are three supported import paths. All feed the same CSV import backend and mappings.

Upload Widget

Fastest path from CRM pages. Choose file, confirm, and import with toast feedback.

  1. 1. Open import dialog
  2. 2. Upload CSV
  3. 3. Review toasts and counts

Chat Import

Paste CSV data into the project chat. The AI assistant will parse it, show you a preview, and ask if you'd like to import.

  1. 1. Open project chat
  2. 2. Paste your CSV data
  3. 3. Review the column mapping
  4. 4. Confirm import

Upload Route/API

Use the upload page flow or call POST /api/people/import-csv for programmatic imports.

  1. 1. POST CSV as multipart or JSON
  2. 2. Auto-detects columns via AI
  3. 3. Returns import summary + verification
  4. 4. Supports create or upsert modes

Import Modes

Create (default) -- adds new contacts, skips rows where email or name+company already exists
Upsert -- matches by email or name+company, updates only fields with values in the spreadsheet (preserves existing data for unmapped fields)
What Happens After Import

Once your contacts are imported, they're immediately operational:

Visible in People

Browse, search, and filter contacts with all imported fields and attributes

Attributes for segmentation

Custom fields appear as attributes -- filter by membership status, segment, role, or any imported attribute

Survey personalization

When a respondent starts a survey, UpSight matches them by email and uses their profile to personalize the experience

Linked to organizations

Company columns automatically create or match organization records, with full org metadata

Coming Soon: Attribute-Based Branching

In Development

Imported person attributes (title, segment, membership status) will be usable as branching conditions in surveys. For example: skip a section for non-members, or show different questions based on job function -- without asking the respondent again. This feature is being built on the feat/person-attribute-branching branch.

Duplicate Handling & Data Safety
Email matching: existing contacts are matched by email (case-insensitive)
Name + company fallback: if no email, matches by name and organization
Upsert preserves data: only fields with values in your CSV overwrite existing data -- blank cells are ignored
Integrity verification: after import, UpSight checks that all records, org links, and attributes were created correctly
Next Steps