Configure any object-mode source—including NetSuite, Salesforce, Stripe, and more—as the starting point for your Celigo sync. With features like automatic object discovery, metadata-driven data types, and field-level control over primary keys, masking, and ingestion modes, object mode provides the fastest path to data ingestion. By directly reading the application's metadata, Celigo allows you to select objects (or NetSuite saved searches) without needing to build an export first.
This article details the setup steps for every object-mode source. 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 supported source objects
The following instructions cover how to set up a sync using object-mode applications (such as NetSuite, Salesforce, and Stripe).
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 an application with an object as a 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 Objects (for NetSuite, select NetSuite saved searches) for a fast, user-friendly setup with automated schema mapping for supported applications.
- Select each saved search, object, or export you want to sync, or select the checkbox in the header row to select all.
- Optionally, 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 an 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).
Note
Delta identifies changed records by comparing each source record's last-modified timestamp with the previous sync's extract time. Only records updated after that timestamp are included in the run
-
Select an Ingestion mode (Replace, Append, or Merge).
Note
Replace permanently deletes existing records in the destination table and overwrites them with incoming data.
- 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 is 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.