What is outgoing sync?
Outgoing sync defines what information your system sends to the connected platform. The outgoing script runs when you start synchronization or update a local work item that's under sync. This script populates a replica object with the fields and values you want to share, such as summary, description, comments, attachments, and custom fields. You have complete control over what data leaves your system, including the ability to filter, transform, or exclude information based on conditions like priority, status, or project.
What is incoming sync?
Incoming sync defines how your system applies data received from the connected platform. The incoming script runs every time new data arrives from the remote side. It reads from the replica object that the other side sent and maps those values to your local work item fields. On the first sync, the incoming script creates a new work item locally, and on subsequent syncs it updates the existing work item.
Key differences between outgoing and incoming sync
The key difference is control and direction. Outgoing sync controls data flowing out of your system using the replica as output, while incoming sync controls data flowing into your system using the replica as input. Each side of the integration has both an outgoing and incoming script that operate independently. Your outgoing script and their incoming script work together when data moves from your system to theirs, and the reverse happens when data moves the other direction.
Autonomous control and the role of the replica
This autonomous architecture means neither side needs permission to change their scripts. You can modify what you send without coordinating with the receiving side, and they can change how they apply your data without your involvement. The replica serves as the contract between sides, keeping systems loosely coupled while maintaining synchronization.