Import Existing Users
Flywheel makes it easy to import your existing user data from various sources. Whether you have user data in spreadsheets, databases, or payment systems like Stripe, you can quickly get your users into Flywheel to start building powerful workflows.Import Methods
1. CSV Import (Recommended for Most Cases)
The CSV import feature allows you to upload user data from any source in a structured format.Import User Data
Access the CSV import tool in your Flywheel dashboard
Step-by-Step CSV Import Process
1. Prepare Your CSV File
Export your user data from your existing system and ensure it’s in CSV format. Your CSV should include: Required Fields (at least one):email
- User’s email addressphone
- User’s phone numberstripe_customer_id
- Stripe customer identifieranonymous_id
- Anonymous user identifier
first_name
- User’s first namelast_name
- User’s last nameprimary_email
- Primary email addressprimary_phone
- Primary phone numberorg_assigned_user_id
- Your internal user IDsubscribed_to_emails
- Email subscription status (true/false)unsubscribed_from_emails
- Email unsubscription status (true/false)
2. Upload and Map Fields
-
Navigate to Import Settings
- Go to Settings → Users → Import
- Click Import User Data
-
Upload Your CSV
- Drag and drop your CSV file or click to browse
- Flywheel will automatically parse and preview your data
- Review the detected rows and columns
-
Map CSV Columns to User Fields
- Flywheel automatically suggests field mappings based on column names
- Review and adjust mappings as needed
- Ensure at least one identifiable property is mapped (email, phone, stripe_customer_id, etc.)
- Map any custom properties to preserve additional user data
3. Validation and Import
-
Preview Mapped Data
- Review how your CSV data will be imported
- Check for any validation errors or warnings
- Verify field mappings are correct
-
Start Import
- Click Import Users to begin the process
- Flywheel processes users in batches of 100 for optimal performance
- Monitor import progress in your dashboard
The import process runs in the background and may take several minutes depending on the number of users.
Import Behavior
- Duplicate Handling: Users are identified by email, phone, or stripe_customer_id. Existing users will be updated with new data
- Data Validation: Invalid email addresses and malformed data are flagged during import
- Custom Properties: Any unmapped CSV columns can be imported as custom user properties
- Batch Processing: Large imports are processed in batches to ensure system stability
2. Stripe Integration Import
If you use Stripe for payments, connecting your Stripe account automatically imports all your customer data.Connect Stripe Integration
Learn how to connect Stripe and automatically import customer data
What Stripe Import Includes
When you connect your Stripe account, Flywheel automatically imports: Customer Information:- Name (first and last name from Stripe customer name)
- Email address
- Phone number
- Stripe Customer ID
- Subscription status (active, trialing, canceled, etc.)
- Monthly Recurring Revenue (MRR)
- Lifetime Value (LTV)
- Next payment date
- Cancellation date (if applicable)
- First payment date
- Product and price information
- Payment history
- Charge amounts
- Discount information
Automatic Sync
After the initial import, Stripe data stays synchronized automatically:- New customers are added immediately
- Subscription changes update user profiles in real-time
- Payment events update customer LTV and payment history
- Profile updates in Stripe sync to Flywheel
Import Best Practices
Data Preparation
- Clean Your Data: Remove duplicates and invalid records before import
- Consistent Formatting: Use consistent formats for dates, phone numbers, and other structured data
- Complete Records: Include as much relevant user information as possible
- Validate Emails: Ensure email addresses are properly formatted
Field Mapping Strategy
- Map Identifiable Fields First: Always map at least one identifiable property (email, phone, stripe_customer_id)
- Use Standard Fields: Map to standard Flywheel fields when possible for better integration
- Preserve Custom Data: Map unique data to custom properties to maintain all user information
- Review Mappings: Double-check field mappings before starting the import