In Sync Studio, you create and manage pipelines for entities—such as Account, Contact, Lead, etc.—that define how data flows through Syncari. Some synapses like Salesforce, Marketo, and HubSpot allow you to create pipelines automatically, but you'll likely need to customize those pipelines for your use case. Some of the primary activities you'll do for pipelines in Sync studio include:
- Map relationships between objects in connected synapses—like Account, Contact, Lead, etc.— to Syncari entities (e.g., Account, Contact, Lead) configured by you. With your data in the unified data model, you configure how that data is checked and stored to create the unified record—the golden record.
- Define what data to bring into Syncari and how to process it before unifying it with the Syncari unified record. You can add Syncari Functions and Actions to add granular details to how Syncari processes the incoming data to create the unified record.
- Define how Syncari publishes the unified record to connected synapses—the destinations. You can include logic through Functions and Actions before sending data to the destinations.
Open an Entity Pipeline
➡️ To open an entity pipeline (see Navigating Entity Pipelines):
- In Sync Studio, double-click the entity.
or - In Sync Studio, select the entity, and then click Edit Pipeline.
If you still need to familiarize yourself with the interface, see About Entity Pipelines for a quick UI tour.
Create Entity Pipelines
When creating pipelines, you configure and connect three types of nodes: source nodes, the Syncari node, and destination nodes. Pipelines include functions and actions that define the rules that guide your sync to enrich, augment, normalize, transform, and enforce data authority.
Entity pipelines are powerful and completely configurable. You'll create each pipeline differently depending on your use case. These steps will get you started, but you'll want to explore more about functions, actions, field pipelines, etc., as you work on your pipelines.
➡️ To create pipelines manually:
- Click Sync Studio in the left nav area.
Sync Studio shows the Syncari unified data model on the canvas. - Open the entity pipeline. Do one of the following:
- Double-click the entity.
- Select the entity and click Edit Pipeline in the panel on the right.
- In the entity pipeline panel on the right side of the canvas, select Synapse Entities, drag the synapse you want to use as a source node to the left of the Syncari node and connect them.
- Select the synapse node, and then click Configure Node in the entity pipeline panel.
- In the panel's Entity list, choose the synapse entity you want to connect to the Syncari entity.
- Under Type, select Source since the synapse will supply data to the Syncari unified data model.
You can schedule the sync cycle and use filters to query the source. See Sync Scheduling for more information. - Click Save.
- Repeat the steps to drag a destination entity to the right side of the Syncari node.
- Optionally use Allow Deletes From setting to control how deletions are synced from a source to a destination. Select the synapses that are allowed to delete records at the destination. Leave this setting blank to prevent deletions from all sources different from the destination synapse.
- Click Save.
- Open the Configure panel for that node (select the synapse on the canvas, and then click Configure Node). Select the entity to connect to, and for Type, select Destination.
Your pipeline should look something like this: - Use the advanced features in the entity pipeline to build your own. See About Entity Pipelines for more information.
Destination Node Configuration
The destination node provides some options that determine how changes are pushed from Syncari into end system
When this option is selected, data is synced to Destination only if there are changes in Syncari. Only the fields that are mapped to the changed fields in Syncari are synced to the destination.
This is especially useful when the source entity and destination entity are from different synapses and the source entity does not have a watermark field. Example, lets say a database synapse like MS SQL is the source and hubspot is the destination. When the source pulls all records every sync cycle, and if there are changes in the end system, we do not want old changes from MS SQL to override new data in Hubspot.
There are couple of cases to consider when enabling this option -
- Destination side changes to a field (using functions like Set Value) would not be written out to destination if there are no changes in Syncari.
- Any failed Sync on destination would not be retried in subsequent Sync Cycles unless there are changes in Syncari for that record.
Without this configuration being enabled, Syncari pushes all records to destination every time.
Sync Studio Canvas
The Sync Studio canvas is comprised of nodes that have edges and are connected by lines. You'll build connections by dragging and dropping nodes and joining the edges of those nodes with a line. See the definitions below to make sure we're on the same page.
- The canvas is the visual working area where you define node relationships.
- Nodes are the individual objects on the canvas that represent synapses, functions, or actions.
- Edges define the sides of each node.
- Lines are the arrows that connect nodes. Lines show the passage of data through the nodes.
Note: Be sure to pay close attention to the direction of the arrows you use to connect your nodes.
Working with the Canvas
The canvas is a drag-and-drop interface. The most important thing to remember is to keep the source synapses and processes to the left of the Syncari node and the destination synapses and processes to the right.
As you select items, you can move them around or delete them. Selected arrows turn darker gray, while selected nodes show connection points. Watch this gif to get a feel for working on the canvas.
Note: Use the crosshairs cursor [✛] to click and drag an arrow. If you need to delete a line, you can hover over the line and when it turns blue, click it, then press your backspace or delete key on your keyboard.
Example Source Node Configuration
Let's say your business objective is to sync Account records from Salesforce to Syncari.
To achieve this use case, this data pipeline must specify the Salesforce Account object as a data source for the Syncari Account entity.
Therefore, when an Account record is created or updated in the Salesforce Account object, the sync cycle will recognize the changes on that record in the source entity, and replicate that change of the record in the Syncari Account Entity.
Example Destination Node Configuration
Let's say your business objective is to sync Account records from Syncari to the Account object in Salesforce.
To achieve this use case, this data pipeline must specify the Salesforce Account entity as a data destination for the Syncari Account entity.
When an Account record is created or updated in the Syncari Account entity, the sync cycle will recognize the changes on that record in the Syncari Account entity and replicate that change of the record and then sync that record to the destination entity.
Pipeline Segments after Destination Node
You can attach nodes after the Destination nodes as shown below. These can be any Function or Action nodes that are allowed in the Entity Pipeline, but the last or terminating node must be an Action node.
Segments after the destination node are processed only for records that have been written to the destination. That is any record that has been either created/updated/deleted or merged in the destination. Records are processed, regardless of whether writes were successful or not.
Additional conditions are available in Decision function when they are attached after the destination node as shown below.