
Overview
Contacts in Notifuse are comprehensive customer profiles that store subscriber information, preferences, and engagement data. They support flexible data storage through predefined fields and can be associated with multiple mailing lists.Contact Fields
Field | Type | Description |
---|---|---|
email | String | Contact’s email address (Required) |
external_id | String | Your system’s unique identifier |
first_name | String | Contact’s first name |
last_name | String | Contact’s last name |
phone | String | Phone number |
timezone | String | Contact’s ISO timezone |
language | String | Preferred language |
job_title | String | Professional title |
address_line_1 | String | Primary address |
address_line_2 | String | Secondary address (apartment, suite, etc.) |
country | String | Country ISO format |
state | String | State or province |
postcode | String | Postal/ZIP code |
lifetime_value | Number | Total customer value |
orders_count | Number | Number of orders placed |
last_order_at | DateTime | Date of last order |
custom_string_1 to custom_string_5 | String | Custom string fields |
custom_number_1 to custom_number_5 | Number | Custom number fields |
custom_datetime_1 to custom_datetime_5 | DateTime | Custom datetime fields |
custom_json_1 to custom_json_5 | JSON | Custom JSON fields |

Contact Management
Upsert Behavior
Contacts use upsert logic based on email address:- New emails: Automatically creates a new contact
- Existing emails: Updates the existing contact with provided fields
- Null values: Setting any field to
null
removes that value from the contact
List Subscriptions
- Contacts can subscribe to one or multiple mailing lists
- Subscription status is managed per list
- List memberships are tracked through the
contact_lists
relationship
Importing Contacts from CSV

Auto-Detection and Field Mapping
The CSV importer automatically detects and suggests field mappings based on your CSV column headers. Common column names like “email”, “first_name”, “last_name”, and “phone” are automatically matched to their corresponding contact fields. For custom or non-standard column names, you can manually map each CSV column to the appropriate contact field through an intuitive interface.Mailing List Assignment
During the import process, you can select one or multiple mailing lists to add your contacts to. This allows you to immediately segment your imported contacts and ensures they’re properly organized within your workspace. All imported contacts will be automatically subscribed to the selected lists upon successful import.Progress Tracking and Recovery
The import process includes automatic progress saving, which means if your import is interrupted due to network issues or browser closure, you can resume from where you left off. This is particularly valuable when importing large CSV files with thousands of contacts, ensuring no data is lost during the process.Key Features
- Flexible Schema: Predefined fields cover most use cases while custom fields provide extensibility
- Automatic Deduplication: Email-based upserts prevent duplicate contacts
- Multi-List Support: Single contact can belong to multiple mailing lists
- Data Removal: Explicit null handling for field cleanup