Contact import
Bring your existing audience into Kagibag. Import contacts from CSV files, HubSpot exports, or the API, and the system handles field mapping, deduplication, and identity resolution automatically.
Import sources
| Source | How it works | Best for |
|---|---|---|
| CSV upload | Upload any CSV file and map columns to contact fields in the browser. | One-time imports |
| HubSpot export | Upload a CSV exported from HubSpot. Column headers are auto-detected and mapped for you. | Migrating from HubSpot |
| API import | Send contacts as JSON via the MCP Server or REST API. | Automated or recurring imports |
Starting a CSV import
Navigate to Admin, then Contacts, then Import. Upload your CSV file. The system reads the file headers and shows a column mapping screen. Each column can be mapped to a standard contact field or skipped. Click Import to start processing.
Field mapping
Standard fields available for mapping. Column aliases (like "Email Address" or "First Name") are recognized automatically.
| Field | Required | Description |
|---|---|---|
| Yes | The contact's email address | |
| first_name | No | First or given name |
| last_name | No | Last or family name |
| company | No | Organization or company name |
| title | No | Job title or role |
| phone | No | Phone number |
Import processing
Imports run asynchronously in the background. Each row is processed individually so a single bad row does not block the rest.
| Status | Description |
|---|---|
| Uploaded | File received, waiting to start. |
| Parsing | System is reading and validating rows. |
| Processing | Rows are being matched, deduplicated, and enriched. |
| Processed | All rows handled successfully. |
| Error | One or more rows failed — review the error details. |
Identity resolution
Each imported email is normalized (lowercased, whitespace stripped) and checked against existing contacts. If a match is found, the existing contact profile is updated with any new information. If no match exists, a new contact profile is created. This prevents duplicates when importing the same list multiple times.
Reviewing results
After processing completes, the import summary shows total rows processed, how many matched existing contacts, how many created new contacts, and how many had errors. Click into individual rows to see error details or the resolved contact profile.
Using imported contacts
Once imported, contacts are available throughout Kagibag. Use them to:
- Send invitations for invite-only events
- Include them in automatic marketing campaigns
- Segment them into targeted audiences
Contacts are enriched over time with additional data from their interactions.
API imports
Use the MCP Server's import_contacts tool to import contacts programmatically. Send a JSON array of contact objects with email, first_name, last_name, company, and title fields. The API returns a 202 response with an import ID. Poll check_import_status with that ID to track progress.
[
{ "email": "[email protected]", "first_name": "Jane", "last_name": "Doe", "company": "Acme" },
{ "email": "[email protected]", "first_name": "John", "last_name": "Smith" }
]See where this workflow fits
Use these pages to connect the how-to guide with the commercial workflow it supports.
Track lifecycle stages, segment organizer contacts, and plan smarter event campaigns without exporting attendee lists into a separate email tool.
Host free and recurring community events with discovery pages, attendee profiles, and follow-up that compounds from one event to the next.
Run invite-only and unlisted events with token invitations, per-invite ticket limits, claim tracking, and private checkout.