Contacts & lists
Contacts are the people you send to. Lists are named collections of contacts you can point a campaign or flow at directly. Segments (next page) are saved queries over contacts.
Creating a list
- Open Contacts → Lists.
- Click Create list, give it a name (e.g. Weekly newsletter subscribers).
- Either upload a CSV now, or add members later through the API or a signup widget.
Importing from CSV
On the list detail page, click Import CSV and map columns:
- The email column is required. Duplicate emails are merged; the first occurrence wins for conflicting fields.
- Any additional column becomes a contact property (e.g.
first_name,city,plan_tier). Properties can be used later in segments and template personalization. - You'll see a preview before the job actually runs. Imports over a few thousand rows run asynchronously — you can leave the page and check back.
Adding contacts via the API
For real-time signups, hit the public API directly:
curl -X POST https://api.aigeon.ai/public/api/v1/contacts/add-group-members \
-H "X-Api-Token: sk_..." \
-H "Content-Type: application/json" \
-d '{
"group_id": "sg_abc123",
"members": [
{ "email": "alice@example.com", "first_name": "Alice", "tags": ["beta"] }
]
}'
This endpoint requires the contacts_access permission on your API key — see API keys & permissions.
Profile page
Click any contact to see their profile: raw properties, engagement feed (every open / click / unsubscribe), which flows they're enrolled in, and their subscription status per flow. The activity feed is the best place to debug why a specific contact isn't receiving your emails.
Bounce and unsubscribe handling
Aigeon suppresses sends automatically when:
- A hard bounce is reported by the receiving MTA (permanent failure).
- A complaint is filed.
- The contact clicks unsubscribe-all in any of your emails.
Unsubscribes can be scoped per-flow (the contact opts out of your weekly digest but stays on transactional) or all-org (a global opt-out).
