Skip to main content
Plays can process records in batches—either in real-time when changes are detected, or on a predefined schedule. This page explains how to configure schedules, change detection modes, enrolment rules, and health monitoring.
The minimum sync interval depends on the model type—it may be as short as 5 minutes, 30 minutes, or up to 1 day. If you select an interval shorter than the allowed minimum or the model was already refreshed during that period, the sync will be skipped.

Schedule types

Configure when and how your play triggers:
TypeDescription
ManualEnrol records manually via the Enroll manually button
Real-timeTrigger your play instantly when changes are detected
IntervalSchedule your play to run on a set interval (e.g., once per hour)
CronSchedule your play using a cron expression for precise timing
DependencySchedule after another play finishes running
Real-time triggers are currently only available for HubSpot and Salesforce integrations.
When using Interval scheduling, you can select a frequency (e.g., every 12 hours). All syncs are scheduled in UTC.

Conditions

Use Filters to control which records are eligible to trigger the play. Only records matching your filter conditions will be enrolled.
SQL, segment, occurrence, and related model conditions are not supported. OR within groups and AND between multiple groups are also not available.

Changes mode

The Changes section controls which types of data changes trigger the play. The available options depend on your schedule type.

For Real-time schedules

Real-time schedules receive records as they are created or updated in the source system. This means Cargo knows exactly what action occurred—whether a record was just created or updated.
ModeBehavior
Created records onlyOnly newly created records that match the conditions will be enrolled
Created and updated recordsBoth created and updated records that match the conditions will be enrolled
In real-time mode, created means the record was literally just created in the source system.

For Interval, Cron, and Dependency schedules

Scheduled syncs work by comparing snapshots—Cargo fetches all matching records and compares them to the previous sync to detect changes. This is fundamentally different from real-time mode.
ModeBehavior
New records onlyOnly new records that match the conditions will be enrolled in the play
New and updated recordsNew and updated records that match the conditions will be enrolled in the play
FullProcess all matching records, regardless of whether they’ve changed
CustomAdvanced mode for custom change detection logic
“New” vs “Created” an important distinctionIn scheduled mode, a new record is any record that appears in the sync that wasn’t there during the previous sync. This includes:
  • Records that were just created in the source system
  • Existing records that now match your filter conditions (when they didn’t before)
  • Records that were restored or undeleted
In real-time mode, Cargo only knows when a record is created or updated—it cannot detect when an existing record starts matching your filter for the first time.

Enrolment rules

Control how the play handles records that trigger multiple times:
RuleBehavior
Always enrolEnrol the record into a new play run every time the trigger fires for that record
Enrol onceOnly enrol each record once, even if the trigger fires multiple times for the same record
If is not currently enrolledOnly enrol a record if it’s not already in an active run, preventing concurrent runs

Health monitoring

Monitor the health of your play runs and set up alerts:
  • Batch Health threshold — Set the percentage of runs that need to be successful for a batch to be considered healthy (0-100%)
  • Health alert — Configure a Slack notification to be alerted when a batch falls below your health threshold