How can we help?

Send data from Snowflake to Cordial

Overview

When Snowflake as a data source is enabled in your account, Cordial automatically queries one or multiple tables (also called views) in your Snowflake warehouse on a regular interval. Cordial automatically detects any new or updated customer records and updates those records in our system. This keeps your customer data in sync with Snowflake cloud data for precise segmentation and personalization, eliminating the need for a separate integration between your cloud warehouse and messaging platform.

Additional benefits

  • Refresh syncs used by one-time data jobs as well as incremental syncs using recurring data job automations to leverage real-time data.
  • Load contact and supplement data into Cordial.
  • Customize data refresh intervals.
  • Write transformation scripts to further modify data as it comes into Cordial.

Use cases

You can send data from Snowflake to Cordial via the UI by selecting Snowflake as a destination for:

Create a table in your Snowflake account

In your Snowflake account, create a table to store the customer data you want to utilize in in your Cordial account.

The table must contain a column UPDATED_AT that stores the last modified date for that row. Cordial will skip all rows where the UPDATED_AT value is older than the last query to that view, ensuring that only new or newly updated records are imported.

Geo attributes

Geo attributes should be represented as separate columns. For example, geo attribute homeaddress would be broken up into columns such as:

  • homeaddress.street_address
  • homeaddress.city
  • homeaddress.state
  • homeaddress.postal_code

Array attributes

Array attributes will updated as a whole unless additional syntax is included to add or remove an item from an array as follows:

  • Remove from array: { "remove": ["apple"] }
  • Add to array: { "add": ["apple"] }

Enable Snowflake as a data source

1. Navigate to Administration > Marketplace and select Enable on the Snowflake card.

2. Fill in the required information:

  • Snowflake account identifier (format should be [organization]-[identifier])
  • Warehouse name
  • Username
  • Password
  • Role name
  • Database name
  • Table or view name
  • Schema name

Connection parameters are case sensitive and should match the exact case of the named objects— warehouse, user, role, database, table/view, or schema—in Snowflake.

3. Click Test Connection. If it's successful, select Continue.

Send data from Snowflake to Cordial

1. Once you've successfully enabled Snowflake as a source, navigate to Data Jobs > Create New Data Job.

2. Select Edit in the Data Source pane.

3. Choose External under Data Source.

4. Choose Snowflake under Data Collection.

5. Choose the appropriate Container and specify the file name in the Path field.

Cordial will automatically query Snowflake at a specified interval, updating modified records and inserting any new records since the last sync. You can configure your data refresh interval to occur every 15 minutes, every 30 minutes, every hour, every week, or every month to optimize access to real-time data.

Sync types

Full refresh

  • Used in one-time data jobs.
  • Selects all records from the Snowflake table.
  • Query doesn't have WHERE and ORDER parts.

Incremental

  • Used in recurring data job automations.
  • Stores sequence: UPDATED_AT from the last imported row.
  • Uses UPDATED_AT to order and filter records.

Disable connection

To stop the sync, you can disable the connection by clicking Configure on the Snowflake Marketplace card and selecting the the Disable button. When the connection is re-enabled, the job will continue looking for all records that were inserted or updated since the last sync.

Comments

0 comments

Please sign in to leave a comment.