Scheduling
42feeds provides a powerful scheduling system to automate your product feed workflows. You can schedule both imports (fetching fresh data from external sources) and exports (generating channel-specific feeds).
Overview
The Schedule page (/schedule) is your central hub for managing all automated tasks. From here you can:
- View all scheduled imports and exports
- Filter by type (All, Imports, Exports)
- See active vs. paused schedules at a glance
- Monitor last run times
- Manually trigger any schedule with "Run Now"
Scheduled Imports
Scheduled imports automatically fetch product data from external sources at regular intervals.
Supported Source Types
| Source Type | Description |
|---|---|
| URL (CSV/TSV) | Direct link to a CSV or TSV file hosted anywhere on the web |
| Google Sheets | Public Google Sheets document (automatically converts to CSV for import) |
Creating an Import Schedule
- Navigate to Schedule from the sidebar
- Click New Import
- Fill in the required fields:
- Name: A descriptive name (e.g., "Daily Product Updates")
- Description: Optional notes about this schedule
- Source Type: Choose URL or Google Sheets
- Source URL: The full URL to your data source
- Frequency: How often to run (Hourly, Daily, Weekly, Monthly)
- Time (UTC): When to execute (not applicable for hourly)
- Day of Week/Month: For weekly or monthly schedules
Frequency Options
| Frequency | Configuration | Example Display |
|---|---|---|
| Hourly | Runs every hour | "Every hour" |
| Daily | Specify time in UTC | "Daily at 06:00 UTC" |
| Weekly | Specify day and time | "Weekly on Monday at 06:00 UTC" |
| Monthly | Specify day of month and time | "Monthly on day 1 at 06:00 UTC" |
How Imports Work
When a scheduled import runs:
- The system fetches data from the source URL
- For Google Sheets, the URL is automatically converted to a CSV export URL
- The data is parsed and validated
- A new feed is created with the imported data
- The feed is stored in your project with a timestamp
- Import logs record the result (success/failure, rows imported)
Error Handling
If an import fails, the system creates a Quality Alert with details:
- HTTP errors: When the source URL is unreachable (includes status code)
- Parse errors: When the data format is invalid or empty
Failed imports are logged and don't affect your existing feeds.
Scheduled Exports
Scheduled exports automatically generate channel-specific feeds at regular intervals, ensuring your advertising channels always have fresh data.
Creating an Export Schedule
- Navigate to Schedule from the sidebar
- Click New Export
- Fill in the required fields:
- Name: A descriptive name (e.g., Daily Google Shopping Export)
- Description: Optional notes
- Frequency: How often to generate the export
- Time (UTC): When to execute
- Day of Week/Month: For weekly or monthly schedules
Export schedules are linked to:
- A specific feed as the data source
- A channel type (e.g., Google Shopping, Meta, etc.)
- Optional mapping template for field transformations
- Custom field mappings for channel requirements
Managing Schedules
Schedule Actions
Each schedule card provides these controls:
| Action | Description |
|---|---|
| Run Now | Manually trigger the schedule immediately |
| Pause/Activate | Toggle the schedule on or off without deleting |
| Delete | Permanently remove the schedule |
Status Indicators
- Active (green badge): Schedule is running on its defined frequency
- Paused (gray badge): Schedule exists but won't run automatically
Last Run Information
Each schedule displays when it last ran with a relative timestamp (e.g., "2 hours ago").
Dashboard Integration
The home dashboard includes a Next Scheduled widget showing your upcoming 4 tasks. This displays both imports and exports sorted by next run time, giving you visibility into what's coming up.
Import Logs
Every scheduled import creates a log entry tracking:
- Status: Running, Success, or Failed
- Started At: When the import began
- Completed At: When it finished
- Rows Imported: Number of items processed (on success)
- Error Message: Details if the import failed
- Feed ID: Link to the created feed (on success)
Database Schema
Scheduled Imports Table
scheduled_imports (
id UUID PRIMARY KEY,
user_id UUID NOT NULL,
project_id UUID,
name TEXT NOT NULL,
description TEXT,
source_type TEXT NOT NULL, -- 'url' or 'google_sheets'
source_url TEXT NOT NULL,
schedule_frequency TEXT NOT NULL, -- 'hourly', 'daily', 'weekly', 'monthly'
schedule_time TIME DEFAULT '00:00:00',
schedule_day_of_week INTEGER, -- 0-6 (0 = Sunday)
schedule_day_of_month INTEGER, -- 1-31
is_active BOOLEAN DEFAULT true,
last_run_at TIMESTAMPTZ,
next_run_at TIMESTAMPTZ,
created_at TIMESTAMPTZ,
updated_at TIMESTAMPTZ
)
Scheduled Exports Table
scheduled_exports (
id UUID PRIMARY KEY,
user_id UUID NOT NULL,
project_id UUID,
name TEXT NOT NULL,
description TEXT,
export_id UUID, -- Reference to feed_exports
template_id UUID, -- Reference to mapping_templates
feed_id UUID, -- Reference to feeds
channel_type TEXT NOT NULL,
field_mappings JSONB DEFAULT '{}',
schedule_frequency TEXT NOT NULL,
schedule_time TIME DEFAULT '00:00:00',
schedule_day_of_week INTEGER,
schedule_day_of_month INTEGER,
is_active BOOLEAN DEFAULT true,
last_run_at TIMESTAMPTZ,
next_run_at TIMESTAMPTZ,
created_at TIMESTAMPTZ,
updated_at TIMESTAMPTZ
)
Best Practices
- Name schedules descriptively: Use names like "Daily Shopify Inventory Update" rather than "Schedule 1"
- Stagger timing: If you have multiple schedules, offset their times to avoid resource conflicts
- Use appropriate frequencies:
- Hourly for rapidly changing inventory/pricing
- Daily for most product catalogs
- Weekly for slow-moving catalogs
- Monitor alerts: Check Quality Alerts regularly for failed imports
- Test with Run Now: Before relying on a schedule, use "Run Now" to verify it works
Troubleshooting
Import Not Running
- Check if the schedule is Active (not Paused)
- Verify the source URL is accessible
- For Google Sheets, ensure the sheet is publicly viewable
- Check Quality Alerts for error details
No Data Imported
- Verify the CSV has headers in the first row
- Check that the file isn't empty
- Ensure the URL returns CSV/TSV content (not an HTML page)
Wrong Time Execution
- All times are in UTC. Convert your local time accordingly
- For weekly schedules, Sunday = 0, Saturday = 6
Related Features
- Import Logs
- Quality Alerts
- Feed Management
- Export Templates
- Configure Scheduled Import and Export Tutorial - Step-by-step guide to setting up automated import and export schedules