User GuideSyncing Data
Scheduling Syncs
Configure automatic sync schedules
Scheduling Syncs
Configure when sync configurations run automatically using predefined presets or custom cron expressions.
Schedule Presets
SuitePortal provides predefined schedule options:
| Preset | Label | Cron Expression | Description |
|---|---|---|---|
manual | Manual Only | — | Run only when manually triggered |
every-15-min | Every 15 Minutes | */15 * * * * | Runs at :00, :15, :30, :45 |
every-30-min | Every 30 Minutes | */30 * * * * | Runs at :00, :30 |
hourly | Every Hour | 0 * * * * | Runs at the top of each hour |
every-6-hours | Every 6 Hours | 0 */6 * * * | Runs at 12:00 AM, 6:00 AM, 12:00 PM, 6:00 PM |
every-12-hours | Every 12 Hours | 0 */12 * * * | Runs at 12:00 AM and 12:00 PM |
daily | Daily | 0 0 * * * | Runs once per day at midnight UTC |
weekly | Weekly | 0 0 * * 1 | Runs Monday at midnight UTC |
custom | Custom | User-defined | Define your own cron expression |
Subscription Tier Limits
Minimum sync intervals vary by subscription tier:
| Tier | Minimum Interval |
|---|---|
| Basic | 60 minutes |
| Premium | 15 minutes |
| Enterprise | 5 minutes |
Attempting to set a schedule more frequent than your tier allows will result in an error.
Sync Frequency Types
| Frequency | Description |
|---|---|
manual | No automatic scheduling |
hourly | Legacy hourly schedule |
daily | Legacy daily schedule |
weekly | Legacy weekly schedule |
custom | Uses cron_expression field |
Setting a Schedule
Via Dashboard
- Navigate to Portal → Sync Configs
- Select a sync configuration
- Click Edit
- Under Schedule, select a preset or enter custom cron
- Click Save
Schedule Configuration Fields
| Field | Type | Description |
|---|---|---|
sync_frequency | enum | Frequency type |
cron_expression | string | Cron expression (for custom schedules) |
Custom Cron Expressions
For advanced scheduling, use a cron expression:
┌───────────── minute (0 - 59)
│ ┌───────────── hour (0 - 23)
│ │ ┌───────────── day of month (1 - 31)
│ │ │ ┌───────────── month (1 - 12)
│ │ │ │ ┌───────────── day of week (0 - 6) (Sunday = 0)
│ │ │ │ │
* * * * *Examples
| Expression | Description |
|---|---|
0 9 * * * | Every day at 9:00 AM UTC |
0 9 * * 1-5 | Weekdays at 9:00 AM UTC |
0 */2 * * * | Every 2 hours |
30 8 1 * * | 1st of each month at 8:30 AM UTC |
0 0 * * 0 | Every Sunday at midnight UTC |
Sync Triggers
Syncs can be triggered by:
| Source | Description |
|---|---|
scheduled | Automatic cron-based execution |
manual | User-initiated via dashboard |
api | External API call |
n8n | Workflow automation tool |
Execution Flow
When a scheduled sync triggers:
- Cron job fires at scheduled time
- System checks sync config status (must be
active) - Creates new
SyncRunrecord with statusrunning - NetSuite Map/Reduce script executes
- Data batches posted to
/api/ingest/{tenantId} SyncRunupdated with results
Monitoring Schedules
View upcoming and past sync runs:
- Navigate to Portal → Sync Configs
- Select a configuration
- View Run History tab
Sync Run Status
| Status | Description |
|---|---|
running | Currently executing |
completed | Finished successfully |
failed | Encountered an error |
cancelled | Manually stopped |
Pausing Syncs
To temporarily stop a sync:
- Navigate to Portal → Sync Configs
- Select the configuration
- Change Status to
paused - Click Save
The sync will not run until status is changed back to active.