5. Create a sync

Now that you have created a connection for your endpoint, you can create a sync.

  1. Go to 'New Sync' to begin

  2. Creating a sync is a four step process with sub-steps depending on your selections. The steps appear vertically in expanders as you progress. The progress does not save, so you can start over by clicking 'New Sync' again.

  3. The sidebar contains a summarised version of these docs in the bottom left of the screen for guidance at each step.

  1. Set branching mode. Omnata has the option of deploying syncs with Git-style branching. For more information, go to Branching. If you are unsure about this, just use the default, 'No'.

  2. Select your target app from the list of installed plugins.

  3. Select the connection that you configured previously.

  4. Choose the sync direction. Omnata can sync data both Inbound to Snowflake and Outbound from Snowflake, but a sync only operates in one direction.

  5. Configure the source.

For inbound syncs: the source will be objects in the connected app or database. You will select the objects to sync from the list.

For outbound syncs: the source will be Snowflake tables and views. You must grant the Omnata app access to source table(s).

Use the following commands to grant access to a source table:

grant usage on database <database_name> to application {app_database};
grant usage on schema <database_name>.<schema_name> to application {app_database};
grant select on table <database_name>.<schema_name>.<table_name> to application {app_database};

You will need the MANAGE_GRANTS privilege to run these commands. If you do not have this privilege, you can:

  • Have an ACCOUNTADMIN to grant you access to the table(s).

  • Have an ACCOUNTADMIN grant you the MANAGE_GRANTS privilege.

  1. Configure the sync. This is where you choose the sync behaviour. The exact behaviours that are supported are determined by the plugin. For inbound syncs, you will set how the selected objects are stored in the destination Snowflake table. Once the sync is running, inbound data is stored in the application database OMNATA_SYNC_ENGINE. The schemas INBOUND_RAW and INBOUND_NORMALIZED will contain raw and normalized data, respectively. There is a table for each stream (object) with the naming convention <sync-name>_main>. For outbound syncs, you will create a mapping between your Snowflake table and the fields in the target app.

  2. Deploy the sync. Set the schedule to run the sync on or make the sync depend on another sync. To deploy with dbt, read dbt.

  3. Hit 'Start sync' and it will run automatically. You can view the status, history and make changes to your sync by going to "Home" in the left menu and selecting your sync in the dropdown.

Last updated