Search documentation...

K

Schedule Sync with Sequences

Overview

Sequences allow you to execute a series of related syncs in a predefined order. Sequences are particularly useful when you have dependencies between syncs. For example, you may have two syncs:

  1. Sync A creates a set of new contacts in your CRM
  2. Sync B adds the new contacts to their associated accounts

Without sequences, you would have to schedule the two syncs individually to give the first enough time to finish before the second starts. It would be difficult to guarantee correct behavior, since sometimes syncs take longer than expected for various reasons. Another potential workaround could involve using an external orchestrator such as Airflow or Dagster to trigger syncs through the Hightouch API.

Sequences make orchestration a first-class feature in Hightouch so you can control how and when data is activated to your destinations. You can schedule sequences to run on a variety of schedules (such as triggered by dbt Cloud runs or cron schedules), just as you would with syncs, and sequences can also be initiated manually as needed.

Example

Here are four syncs with dependencies. The table of staff members needs to be updated first, followed by staff permissions. Separately, a table of customer prospects needs to be updated. The final sync updates staff member assignments to customer prospects.

To represent this sequence of syncs, below we see a sequence that executes these four syncs in order:

  • The first sync is configured to terminate the sequence if it fatally errors or has too many rejected rows
  • The second and third syncs only terminate the sequence if they fatally error
  • The fourth sync doesn't check for errors, so the sequence will complete successfully even if this sync fails.

Setting up a sequence

To create a new sequence, select “Sequences” on the sidebar, then click the “Add sequence” button on the sequences page.

Add syncs to the sequence

Select the “Add syncs” button to choose syncs for the new sequence. You can include as many syncs as you want, and you can add more later as needed.

Configuring sync order and error handling

Once syncs have been added to the sequence, they can be re-ordered using the up / down arrows.

Each sync's error handling behavior can be configured using the “Terminate” drop-down menu.

Set your sequence schedule

On the final page, you can give your sequence a name and define its execution schedule.

Once you save your new sequence, it will be visible on the main Sequences page.

Manage your sequence

You can click a sequence to go to its details page. Here you can see the sequence's run history, disable or enable it, execute it manually, or update its configuration or schedule.

Clicking on one of the sequence runs will show its details in a pop-up, including the execution time and final state of each sync run belonging to the sequence run.

    Need help?

    Our team is relentlessly focused on your success. We're ready to jump on a call to help unblock you.

    • Connection issues with your data warehouse?
    • Confusing API responses from destination systems?
    • Unsupported destination objects or modes?
    • Help with complex SQL queries?

    Feature Requests?

    If you see something that's missing from our app, let us know and we'll work with you to build it!

    We want to hear your suggestions for new sources, destinations, and other features that would help you activate your data.

On this page

OverviewExampleSetting up a sequenceAdd syncs to the sequenceConfiguring sync order and error handlingSet your sequence scheduleManage your sequence

Was this page helpful?