Articles in this section

Create a sync from an application's objects

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.

  1. Go to Home home-icon.png, select Create, and then select Sync.
    create-sync.png
  2. 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.

  3. Select Next to open the Create sync wizard.
  4. Choose an application with an object as a source and connect to it (see Create a data ingestion sync).
  5. Set the schema drift policy (see Configure a schema drift policy).
    schema-drift-policy.png
  6. 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.
  7. Select each saved search, object, or export you want to sync, or select the checkbox in the header row to select all.
    netsuite-saved-searches.png
  8. 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.
    schema-drift-policy-field-level.png
  9. Select an object's name to configure its modes and field mappings.
    configure-saved-search-options.png


    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 key-icon.png 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 mask.png in a field to prevent sending sensitive values, such as PII, to the destination. See Mask sensitive fields during a sync.
  10. 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:

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.

Learn more