Skip to content
ChangelogBook a demoSign up

Schedule syncs in the UI

A sync's schedule controls when it runs. You set it on the sync's Schedule tab, as the last step of configuration.

AudienceData teams configuring a sync
PrerequisitesA saved sync.

To set a schedule, open the sync and go to its Schedule tab, then choose a Schedule type.

The Schedule tab of a sync in Hightouch

Schedule types

Choose the schedule type that matches how the sync should be triggered:

Schedule typeUse when
ManualYou trigger each run yourself, or an orchestrator or the API does. Required for syncs in a sequence.
IntervalYou want a recurring cadence and exact run times don't matter, such as every hour.
Custom recurrenceYou need specific days and local times, such as Mondays at 9 AM.
Cron expressionYou need a precise or complex schedule, written as cron and evaluated in UTC.
dbt CloudThe sync should run after a dbt Cloud job finishes.
FivetranThe sync should run after a Fivetran job finishes.

Times you set in the UI run in your local timezone. Cron expressions are evaluated in UTC.

Manual runs

A Manual sync runs only when something triggers it. Click Run on the sync's page to start a run.

Running a sync manually in Hightouch

Choose Manual for any sync you trigger from outside Hightouch:

Interval schedules

Run the sync every n minutes, hours, days, or weeks.

Configuring an interval schedule in Hightouch

An interval run starts approximately one interval after the previous run, so the start time can drift after a manual run or a background delay. If you need stable start times, use custom recurrence instead.

Custom recurrence schedules

Run the sync on specific days and times in your local timezone. Click Add recurrence to add each day and time.

Configuring a custom recurrence schedule in Hightouch

The schedule above runs at midnight on weekdays and at 8 AM on weekends.

Set when a schedule starts and ends

Scheduling a start and/or end time is only available on Business tier plans.

For interval and custom recurrence schedules, you can set when the schedule takes effect (immediately or a future date and time) and when it stops (indefinitely or a future date and time).

Setting a schedule's start and end times in Hightouch

Cron expression schedules

Schedule the sync with a cron expression when you need precise control. Use five fields, not six: the smallest interval Hightouch supports is one minute, not one second.

Cron expressionRuns
* * * * *Every minute
0 12 * * *Every day at noon
0 12 1 * *The first day of every month at noon
0 12 L * *The last day of every month at noon
0 12 * 12 1,2Every Monday and Tuesday at noon, in December only

Use a cron expression generator to build an expression that fits your needs.

Cron expressions are evaluated in UTC.

Hightouch doesn't support these non-standard cron characters: W, LW, L-2, L-3, and #.

dbt Cloud

Run the sync when a dbt Cloud job finishes. See trigger a sync with dbt Cloud for setup. Scheduling with dbt Cloud requires a paid dbt plan.

Fivetran

Run the sync when a Fivetran job finishes. See trigger a sync with Fivetran for setup.

Verify the schedule

After you save, the sync's page shows its schedule and the next scheduled run. Confirm the next run time matches what you expect, remembering that UI times are local and cron is UTC. To confirm the sync itself works, click Run and check the result in the live debugger.

Tips and troubleshooting

Daylight Saving Time (DST)

Daylight Saving Time affects schedules differently depending on the schedule type:

  • Cron expression schedules are evaluated in UTC, so the UTC run time stays fixed while the local wall-clock time shifts by one hour when DST starts or ends.
  • Custom recurrence schedules run at the local time shown in the UI, so they follow the wall-clock time through DST changes.

For DST-sensitive schedules, choose one of these approaches:

  • Define your SLA in UTC and keep the schedule fixed.
  • Accept a one-hour local-time shift, and monitor the sync around DST transitions.
  • For a strict local time year-round (for example, 7:00 AM local), use an external timezone-aware scheduler and trigger the sync with the REST API. Common options include Airflow, Dagster, Prefect, a cloud scheduler, or your own application scheduler.

Disabled syncs continue to run

If you disable a sync but it still has recent runs, check whether it belongs to a sequence. A sync's schedule and its sequences run independently, so a disabled sync still runs as part of a sequence. Set any sync you use in a sequence to the Manual schedule type.

A disabled sync also runs if you trigger it manually or an external service such as Airflow triggers it.

Ready to get started?

Jump right in or a book a demo. Your first destination is always free.

Book a demoSign upBook a demo

Need help?

Our team is relentlessly focused on your success. Don't hesitate to reach out!

Feature requests?

We'd love to hear your suggestions for integrations and other features.

Privacy PolicyTerms of Service