Celigo sync allows you to quickly ingest data using NetSuite saved searches or Salesforce objects, which offer the fastest out-of-the-box configuration. For custom or complex extraction needs across any source application, you can sync via Exports as well (see Create a sync from an application's exports).
Sync NetSuite saved searches or Salesforce objects
The following instructions cover setting up syncs specifically for NetSuite and Salesforce.
To create a sync, you need to configure your source data, select your target destination, and set a run schedule.
- Go to Home
, select Create, and then select Sync.
-
Choose the integration that will hold the sync. Choose one with the same destination as your new sync, or select Create integration to create a new one (see Create or open an integration).
Note
An integration can only contain syncs that share the same destination application.
- Select Next to open the Create sync wizard.
- Choose NetSuite or Salesforce as your source and connect to it (see Create a data ingestion sync).
- Set the schema drift policy (see Configure a schema drift policy).
- At the top of the page, select NetSuite saved searches or Objects for a fast, user-friendly setup with automated schema mapping for supported applications. Select Exports when you need maximum flexibility to extract custom or precise source data.
- Select each saved search, object, or export you want to sync, or select the checkbox in the header row to select all.
- Optionally, for saved searches and objects, select the Schema drift policy column to add a object-level policy override. For exports, select Actions > Schema drift policy. For more information, see Configure a schema drift policy.
-
Select a saved search's or object's name to configure its modes and field mappings.
The sync automatically uses application metadata to determine Data type values and flag calculated fields. Because calculated fields are derived automatically, they cannot be edited inline. From here, you can do the following:- For NetSuite saved searches, enter the Destination table name for the table that will store the exported data.
- Select an Extract mode (All or Delta, with a date field for Delta) and Ingestion mode (Replace, Append, or Merge).
- Choose the fields you want to include with each sync.
-
Select Primary key
to set the primary key, or mark additional fields for a composite key.
Note
When merging tables, every source object requires at least one primary key. If you normalize a child object (preserving the array), you must set a primary key at each normalized array level for its destination table. If the child object is flattened, a primary key can be assigned at any level of the hierarchy.
- Select Mask
in a field to prevent sending sensitive values, such as PII, to the destination. See Mask sensitive fields during a sync.
- Once you've configured your source settings and mapped your fields, select Next to save your progress and set up your destination. See the following:
- Create a sync to Snowflake
- Create a sync to NetSuite Analytics Warehouse (NSAW)
-
Create a sync to Google BigQuery
Note
If your sync in built within an existing integration that is already scoped to target NSAW or Snowflake, Celigo will select that destination automatically.
Mask sensitive fields during a sync
Masking lets you protect sensitive source data, such as social security numbers or email addresses, before it's loaded into your destination. Celigo sync masks a field by hashing its value, so the data remains consistent and joinable across your destination tables, but is no longer human-readable.
How masking works
- Celigo sync hashes masked values using SHA-256 and encodes them in hexadecimal format. Hashing produces the same output for the same input, so masked values can still be used for joins across destination tables, or to identify when the same source value appears in multiple rows, without exposing the original value.
- Masking happens within Celigo, before data is loaded. Values are never sent to the destination unmasked and then hashed there.
- When you mask a field, its destination data type changes to string, even if the source field's original data type was numeric.
What can't be masked
- Fields marked as a primary key can't be masked.
- Array and object fields can't be masked directly.