Platform Features min read Advanced

Bulk Operations and Import/Export

Master bulk data management to save hours on repetitive tasks and seamlessly migrate content in and out of Selgora.

By george.olah@code24.ro Sep 29, 2025 6 views

Bulk Operations and Import/Export

When you're managing hundreds of students, dozens of courses, or migrating from another platform, doing things one-by-one isn't realistic. Selgora's bulk operations and import/export features turn hours of work into minutes. Here's how to leverage these powerful tools.

When Bulk Operations Save the Day

Real scenarios where bulk operations are essential:

  • Migrating from another platform with 1000+ students
  • Updating prices across 50 products simultaneously
  • Applying tags to hundreds of contacts at once
  • Exporting data for tax reporting
  • Backing up your entire business
  • Moving content between courses

Emma migrated her 5,000-student cooking school from Teachable in just 2 hours using bulk import. What would have taken weeks manually was done before lunch.

Understanding Data Formats

CSV (Comma-Separated Values)

Most common format for bulk operations:

email,first_name,last_name,tags
john@example.com,John,Smith,"vip,premium"
sarah@example.com,Sarah,Johnson,"basic,newsletter"

When to use: Contacts, simple data, spreadsheet editing

JSON (JavaScript Object Notation)

Complex data structures:

{
  "course": "Advanced Photography",
  "modules": [
    {
      "title": "Camera Basics",
      "lessons": ["Aperture", "Shutter Speed", "ISO"]
    }
  ]
}

When to use: Course structures, complex relationships, API integrations

XML

Some integrations require:

<students>
  <student>
    <email>john@example.com</email>
    <courses>Photography,Editing</courses>
  </student>
</students>

When to use: Enterprise systems, specific platform exports

Bulk Import Operations

Importing Contacts

Step 1: Prepare Your Data

Required fields:

  • Email (mandatory)
  • First Name (recommended)
  • Last Name (optional)
  • Tags (optional)
  • Custom Fields (optional)

Step 2: Format Your CSV

email,first_name,last_name,tags,joined_date,lifetime_value
alice@email.com,Alice,Cooper,"premium,early-bird",2024-01-15,497
bob@email.com,Bob,Dylan,"basic",2024-02-20,97

Step 3: Import Process

  1. Navigate to Contacts → Import
  2. Upload your CSV file
  3. Map fields:
    • CSV Column → Selgora Field
    • email → Email Address
    • first_name → First Name
  4. Handle duplicates:
    • Skip existing
    • Update existing
    • Create duplicates
  5. Review and confirm

Importing Course Content

Preparing Course Structure

{
  "course_name": "Digital Marketing Mastery",
  "description": "Complete digital marketing course",
  "price": 497,
  "modules": [
    {
      "name": "Module 1: Foundations",
      "order": 1,
      "lessons": [
        {
          "title": "Introduction to Digital Marketing",
          "content": "Lesson content here...",
          "video_url": "https://vimeo.com/123456",
          "duration": 15
        }
      ]
    }
  ]
}

Import Process

  1. Go to Courses → Bulk Import
  2. Choose format (JSON/CSV)
  3. Upload file
  4. Map content types
  5. Set import options:
    • Create new course
    • Add to existing course
    • Replace existing content
  6. Preview and import

Importing Historical Data

When migrating platforms:

Sales History:

date,customer_email,product,amount,status
2024-01-15,customer@email.com,Course A,97,completed
2024-01-16,buyer@email.com,Course B,197,completed

Important: Historical imports don't trigger automations or payments

Bulk Export Operations

Exporting Contacts

Full Export

  1. Navigate to Contacts → Export
  2. Select "All Contacts"
  3. Choose fields to export
  4. Select format (CSV/JSON)
  5. Download file

Filtered Export

Export specific segments:

  • By tags
  • By purchase history
  • By engagement level
  • By date range
  • By custom criteria

Example: Export VIP customers who purchased in last 90 days

Exporting Course Analytics

Get comprehensive data:

student_email,course,progress,last_activity,quiz_average,time_spent
student@email.com,Photography,78%,2024-03-15,85%,12.5 hours

Uses:

  • Progress reports
  • Engagement analysis
  • Certificate eligibility
  • Intervention planning

Financial Exports

For accounting and taxes:

date,type,customer,product,amount,fees,net
2024-03-01,sale,John Smith,Course A,97,2.91,94.09
2024-03-02,refund,Jane Doe,Course B,-197,0,-197

Bulk Update Operations

Mass Price Changes

Update multiple product prices:

  1. Export current prices
  2. Modify in spreadsheet
  3. Re-import with new prices
product_id,old_price,new_price,change_date
course_001,97,127,2024-04-01
course_002,197,247,2024-04-01

Bulk Tag Management

Add/remove tags for multiple contacts:

Add Tags:

  • Select contacts (filter/search)
  • Actions → Add Tags
  • Enter tags: "webinar-attended, interested"
  • Apply to selected

Remove Tags:

  • Similar process
  • Actions → Remove Tags

Mass Email Updates

Update email preferences:

email,marketing_consent,newsletter,promotions
user@email.com,yes,yes,no

Advanced Bulk Operations

Conditional Bulk Actions

IF-THEN operations:

IF student completed Module 1 THEN add tag "module1-complete" AND unlock Module 2 AND send congratulations email

Scheduled Bulk Operations

Set up recurring exports/updates:

  • Daily: Export new signups
  • Weekly: Update engagement scores
  • Monthly: Financial reconciliation
  • Quarterly: Full backup

Bulk Content Updates

Find and replace across all content:

  • Old company name → New company name
  • Old URL → New URL
  • Outdated information → Current information

Data Mapping and Transformation

Field Mapping

Match fields between systems:

Source → Destination

  • subscriber_email → email
  • fname → first_name
  • subscription_status → tags
  • total_paid → lifetime_value

Data Transformation

Clean data during import:

Text Formatting:

  • Trim whitespace
  • Capitalize names
  • Lowercase emails
  • Remove special characters

Date Formatting:

  • MM/DD/YYYY → YYYY-MM-DD
  • Text dates → Date objects
  • Timezone conversion

Value Mapping:

  • "1" → "active"
  • "0" → "inactive"
  • Empty → "unknown"

Migration Strategies

From Other Platforms

Teachable/Thinkific:

  1. Export students as CSV
  2. Export course structure
  3. Download video content
  4. Map custom fields
  5. Import in stages
  6. Verify and test

ConvertKit/Mailchimp:

  1. Export subscribers
  2. Export tags/segments
  3. Export automation flows
  4. Map custom fields
  5. Import with consent status

Kajabi:

  1. Export everything possible
  2. Manual recreation needed for:
    • Landing pages
    • Pipelines
    • Some automations
  3. Focus on core content first

Staging Approach

Don't import everything at once:

Week 1: Core content and structure Week 2: Active students/customers Week 3: Historical data Week 4: Automations and workflows

Error Handling

Common Import Errors

Duplicate Email:

  • Solution: Choose handling strategy upfront
  • Skip, update, or allow duplicates

Invalid Data Format:

  • Solution: Validate before import
  • Check date formats, email validity

Missing Required Fields:

  • Solution: Add default values
  • Or fix in source data

File Too Large:

  • Solution: Split into smaller files
  • Import in batches

Import Rollback

If something goes wrong:

  1. Stop import immediately
  2. Note last successful row
  3. Export current state
  4. Fix issues
  5. Resume from last good row

Best Practices

Before Import

✅ Backup existing data ✅ Test with small sample ✅ Validate data format ✅ Check field mappings ✅ Inform team of maintenance

During Import

✅ Monitor progress ✅ Watch for errors ✅ Keep source file unchanged ✅ Document any modifications ✅ Test functionality

After Import

✅ Verify data accuracy ✅ Check automation triggers ✅ Test user experience ✅ Monitor for issues ✅ Keep import records

Automation with Bulk Operations

API Integration

Automate bulk operations via API:

import requests
import csv

# Read CSV file
with open('contacts.csv', 'r') as file:
    reader = csv.DictReader(file)
    for row in reader:
        # API call to create contact
        response = requests.post(
            'https://api.selgora.com/contacts',
            json=row,
            headers={'Authorization': 'Bearer YOUR_API_KEY'}
        )

Zapier/Make.com Integration

Trigger bulk operations:

  • New spreadsheet row → Import contact
  • Tag added → Export segment
  • Course completed → Bulk certificate generation

Your Bulk Operations Checklist

Daily Operations

□ Check scheduled exports □ Monitor import queues □ Review error logs

Weekly Tasks

□ Backup critical data □ Clean duplicate records □ Update bulk templates

Monthly Maintenance

□ Full data export □ Data quality audit □ Archive old exports □ Update documentation

Remember This

Bulk operations are power tools. Like any power tool, they can cause damage if used carelessly but save enormous time when used correctly.

Always test with a small sample first. It's easier to fix 10 wrong records than 10,000.

Document your bulk operations. Future you (or your team) will thank you when you need to repeat or troubleshoot.

The time invested in learning bulk operations pays dividends. What takes hours manually takes minutes in bulk.

Start with simple bulk exports to get comfortable, then gradually work up to complex imports and transformations. Your efficiency will skyrocket!

Was this article helpful?

Your feedback helps us improve our content

Table of Contents

Need Help?

Can't find what you're looking for? Our support team is ready to assist you.

Contact Support