Guide
How to Choose a Sync Schedule for Connected Business Systems
How to set data freshness targets, choose between events, polling, and batches, and recover when updates arrive late or repeat.
Two connected systems can exchange the right fields and still disagree when an update arrives too late. A staff member may act on an old status even though both systems report successful jobs.
Set the sync schedule from the business deadline for each piece of data. Some updates belong in an event-driven path. Others can move on a timer or in a controlled batch. The design also needs proof that the destination caught up after delays, repeats, and outages.
Begin with the acceptable age of the data
List the decisions and actions that use each shared field. Ask how old the destination value may be before a person, report, notification, or automated step can make the wrong choice. Record that maximum age beside the business cutoff, responsible owner, and consequence of a late update.
Different fields on the same record may need different timing. A customer name correction may tolerate a longer delay than an account hold. A dashboard used for monthly planning can use a daily snapshot, while the queue that assigns today's work may need changes within minutes. Give each timing class a business reason instead of applying one interval to the entire connection.
Choose the response when the freshness limit is exceeded. The system may label the value stale, pause an automated action, use an approved manual process, or send the item to an owner for review. The choice should follow the consequence of acting on old data.
Separate a sync interval from a completion promise
A job that starts every five minutes does not guarantee that the destination is five minutes current. A change can wait for the next start, then spend more time in source reads, a queue, transformation, destination processing, retries, and reconciliation. Define freshness from the source change to the verified destination result. Show the oldest outstanding item and a verified completion watermark proving that every eligible change through a stated source time has a settled result. Include reconciliation status. One recent successful write cannot prove earlier changes arrived.
Match the trigger to what the source can prove
An event or webhook can announce a change soon after it happens. Confirm which changes produce events, what identifiers and versions the event includes, whether redelivery can occur, how long the provider retains undelivered events, and how gaps are recovered. For a signed webhook, verify the signature against the raw request body and enforce the provider's documented timestamp or nonce window. For another event channel, use its required authentication and replay controls. Record credential or signing-secret rotation.
An event may be a signal to read the current record instead of a complete copy. Classify a failed follow-up read. A missing record may represent a deletion, merge, authorization failure, temporary inconsistency, or unavailable service. Define the tombstone, merge reference, retry, and reconciliation evidence that distinguishes those states.
Polling works best with a provider-issued snapshot cursor. Without one, order by modification value plus a unique tie-breaker and document timestamp precision. Persist the source extraction cursor only after the page is durably staged or every item on it is recoverable. Use a controlled overlap and stable deduplication when records can change during pagination. Record how deletes, backdated corrections, and changes made while pages are read appear, then reconcile the cases the cursor cannot prove complete.
A scheduled batch fits work that has a real cutoff, such as a nightly export or an approved accounting close. Record when the source file or report becomes complete, how late replacements are named, and whether a corrected batch replaces the prior one or adds adjustments. Manual sync may remain appropriate for rare, high-consequence work when an owner must confirm readiness first.
One connection may use several paths. An event can move urgent statuses, a batch can refresh slower reference fields, and reconciliation can detect omissions. Give every path the same source-version and operation-identity rules. A repair must pass the same stale-write and duplicate checks as normal traffic. Keep the paths traceable through stable record and operation identifiers.
Ordering and corrections need explicit rules
The same record can change several times before an earlier update reaches the destination. Use a source version, sequence, or authoritative modification time where the source provides one. Compare it before applying a write and record how ties, missing versions, and clock differences are handled. Arrival order alone is unreliable across retries and parallel workers.
Decide how corrections, closures, merges, and deletions travel. A current-state read may show the latest value while hiding the steps between; an event stream may preserve each change while requiring the consumer to reject stale or repeated events. The business owner should approve whether intermediate states matter to downstream work, history, or audit requirements.
Apply one conflict rule across events, polling, batches, and reconciliation repairs. Field ownership defines who may change a value. Source version and operation identity decide whether a specific write is current or repeated. Record a conflict for owner review when the available evidence cannot settle that decision.
Retries must not repeat the business action
Suppose the destination completes a write and the response times out. The integration now has an unknown result. Use a provider-supported idempotency key or enforce uniqueness on a stable source operation identifier at the destination. The key represents one logical mutation and stays identical across retries of that mutation. A later mutation gets a new key. Where practical, bind the key to the operation type, source version, and normalized payload or payload hash, and reject conflicting reuse.
If the destination supports neither idempotency nor a reliable uniqueness rule, do not replay immediately. Read the authoritative destination over a defined consistency window. Set a deadline and keep the operation visibly unresolved until the result is found or an authorized owner records a manual disposition. The process must admit when the destination cannot prove whether the first attempt completed.
Classify errors before retrying. A short provider interruption may support delayed attempts. Invalid data, expired access, permission failures, and rejected business rules need correction or owner review. Cap attempts and spread them over time.
Move exhausted work to a visible queue. Continue newer work only when the ordering and dependency rules show that doing so is safe.
Plan for backlog before an outage creates one
Estimate how many changes can accumulate during the longest outage the business intends to tolerate. Confirm that the source retains enough history or that the integration stores an authorized durable event or recovery reference. Acknowledge an event according to the provider contract only after that recovery material is durably recorded, unless the provider supplies another verified recovery method.
Set the copy's retention period, encryption and access rules, and deletion owner. Record the processing rate needed to catch up while new changes continue arriving, along with provider rate limits and the effect on daily work.
Choose the recovery order. Some businesses need oldest changes first to preserve sequence. Others must restore holds, cancellations, or other high-consequence updates before routine changes. Preserve dependencies so a child record does not arrive before its required parent, and show work that cannot proceed safely.
Give each timing class its own row
Keep one row for each timing class rather than one row for the whole integration. For example, an account-hold row might require verification within two minutes, use a signed event, pause automated fulfillment when stale, and name the operations owner who reviews a missed deadline.
- Data or action and authoritative source
- Freshness limit and response when the value becomes stale
- Trigger and shared ordering or duplicate rule
- Recovery and unknown-result rule
- Destination proof and reconciliation cutoff
- Accountable business and support owners
A worked schedule for one fictional connection
Consider a fictional connection that copies approved work requests into an internal scheduling system. The source owns request status and customer identifiers. The scheduling system owns assignments. Neither system may overwrite fields owned by the other.
- A signed approval event arrives with source record 184 and version 6. The integration durably records the event, rejects any older version, and builds an operation key for applying version 6 to that record
- The scheduling system enforces uniqueness on that operation key. If its response times out, the integration reads for the key during the documented consistency window and leaves the operation unresolved when the deadline passes
- The request appears in the scheduling system within the ten-minute freshness limit. Its verified destination read settles version 6. The completion watermark advances only after all earlier eligible operations also have a verified result or approved terminal disposition
- Overnight reconciliation uses a closed source watermark and records both extraction times. It rechecks apparent differences after the allowed propagation period before sending them to review
Test late updates and catch-up behavior
Test representative and peak volumes in the approved environment. Record which system supplies each timestamp and the documented meaning of provider timestamps. Check clock skew and record the clock source or uncertainty. Use fixed test timestamps or a controllable application clock where supported, and locally measured monotonic durations for stages controlled by the integration. Do not alter production system clocks.
One test story can place a change on the polling boundary, change the same record again, and deliver a duplicate older version during pagination. Verify that the final value is correct, the extraction cursor can recover every staged item, and the duplicate produces no second business effect. Advance the completion watermark only after every eligible item through the cutoff has a verified destination result or an approved terminal disposition. Hold the watermark at the earliest unresolved item and show that blockage in the operating view.
Another can let a destination write time out, interrupt the connection, and build a backlog while new work arrives. Verify the unknown-result deadline, dependency rules, catch-up priority, completion watermark, and reconciliation against a shared cutoff. Add source-specific failures to the plan where their contracts and cursors require them.
After launch, review whether the timing still matches the work. A change in volume, provider limits, business hours, downstream rules, or the consequence of a stale value may require another acceptance run. Keep a tested rollback path available, while allowing only one path to own each write. Switch traffic after the revised timing and recovery behavior is verified.
