PipelimePipelime Docs
Guides

Contacts

Contact management, import, custom fields, and GDPR compliance.

Contacts

Contacts represent the people you're reaching out to. Each contact belongs to an organization and can be assigned to multiple campaigns.

Creating Contacts

# Via CLI
Pipelime contact create \
  --email john@example.com \
  --first-name John \
  --last-name Doe \
  --company-name "Pipelime" \
  --title "VP Engineering"

# Via API
curl -X POST https://app.Pipelime.io/api/contacts \
  -H "Authorization: Bearer ki_your_key" \
  -H "Content-Type: application/json" \
  -d '{
    "email": "john@example.com",
    "firstName": "John",
    "lastName": "Doe",
    "companyName": "Pipelime",
    "title": "VP Engineering"
  }'

Custom Fields

Contacts support arbitrary custom fields stored as JSON:

Pipelime contact create \
  --email john@example.com \
  --first-name John \
  --custom-fields '{"industry": "SaaS", "employee_count": 150}'

Custom fields are available as template variables: {{industry}}, {{employee_count}}.

CSV Import

Import contacts from CSV files:

Pipelime contact import --file contacts.csv --campaign-id <campaign-id>

CSV Format

email,firstName,lastName,companyName,title
john@example.com,John,Doe,Pipelime,VP Engineering
jane@example.com,Jane,Smith,Beta Inc,CTO

Duplicate Handling

During import, duplicates are detected by email address. Existing contacts are updated with new field values.

Assigning to Campaigns

Pipelime campaign add-contacts <campaign-id> \
  --contact-ids cont_123,cont_456

Contact Lifecycle

StatusDescription
activeAvailable for campaigns
bouncedEmail bounced, auto-blocklisted
unsubscribedOpted out via unsubscribe link
blocklistedManually or automatically blocked

GDPR Compliance

Data Export

Export all data for a contact:

Pipelime contact export --contact-id cont_123 --format json

Hard Delete

Permanently delete a contact and all associated data:

Pipelime contact delete --contact-id cont_123 --hard

On this page