Contacts
Contacts are the users of your product who receive your in-app messages. They're automatically created when users interact with your app through the embed script.
How Contacts are Created
Contacts are created automatically when you call Cueflow.init() in your app:
Cueflow.init({
id: 'user-123', // Creates or updates contact
email: '[email protected]',
name: 'Jane Smith',
plan: 'pro'
});Each unique id creates a new contact. If the ID already exists, the contact is updated with new data.
Viewing Contacts
Contact List
Go to Contacts in the sidebar to see all contacts:
Search by name, email, or ID
Sort by last seen, signup date, or name
Filter by properties
Paginate through large lists
Contact Details
Click any contact to see:
Profile - Name, email, avatar, and properties
Attributes - Standard and custom properties
Events - Actions they've taken
Messages - What they've seen and interacted with
Contact Properties
Standard Properties
These properties are built-in and available for all contacts:
id
String
Required. Your unique user identifier
email
String
User's email address
name
String
Display name
phone
String
Phone number
avatarUrl
String
Profile image URL
role
String
User role (e.g., "admin", "member")
plan
String
Subscription plan
signedUpAt
Date
When they signed up
lastSeenAt
Date
Last activity (auto-updated)
Custom Attributes
Create your own properties for any data you need. See Custom Attributes.
Updating Contacts
Via Embed Script
Update contacts when their data changes:
Via API
Use the server-side API to update contacts programmatically:
Via Dashboard
Go to Contacts
Click on a contact
Edit properties directly
Changes apply immediately
Searching and Filtering
Search
Search contacts by:
Email address
Name
External ID
Filters
Filter the contact list by any property:
Plan equals "pro"
Signed up in last 7 days
Has custom attribute
Exporting Contacts
Export your contact list:
Go to Contacts
Apply any filters
Click Export
Download CSV file
Deleting Contacts
To remove a contact:
Go to Contacts
Click on the contact
Click Delete in the menu
Confirm deletion
Deleting a contact removes all their data including events, message interactions, and feedback responses. This cannot be undone.
Contact Identification
The ID Field
The id field is the most important property. It must be:
Unique - One ID per user
Consistent - Same ID across sessions
Persistent - Doesn't change over time
Good ID examples:
Database user ID:
usr_a1b2c3d4UUID:
550e8400-e29b-41d4-a716-446655440000Email (if unique):
[email protected]
Bad ID examples:
Session ID (changes each visit)
Random numbers
Temporary identifiers
Anonymous Users
If you need to identify users before they sign up:
Generate a persistent anonymous ID
Store it in localStorage or a cookie
After signup, update with their real ID
Best Practices
Data Quality
Send accurate, up-to-date information
Include email for better contact profiles
Update contacts when data changes
Privacy
Only collect necessary data
Respect user privacy preferences
Provide deletion options
Identification
Use stable, unique IDs
Keep ID consistent across platforms
Document your ID strategy
Segmentation
Use standard properties consistently
Define custom attributes for your needs
Plan attributes before implementing
Last updated