When working with a synced Record Type in Appian, I understand that data sync keeps the record data up to date in Appian's cache. However, two things are unclear to me:
- Which smart services automatically trigger a sync when data is written, and which ones require manual intervention?
- If a developer configures a scheduled sync (full or incremental) when setting up the Record Type, does that eliminate the need to worry about which smart services auto-sync or not?
According to Appian's documentation, what is the correct understanding of how these sync mechanisms work together?
Answer
This is one of the most common points of confusion especially the assumption that a scheduled sync covers all data changes. It does not, and understanding why requires knowing how the three sync mechanisms work independently.
Mechanism 1 — Smart Services That Automatically Sync
Only the following smart services automatically sync changed data. These are specifically the Write Records and Write to Data Store Entity smart services. When either of these is used in a process model, Appian immediately detects the change and syncs the affected rows in the Record Type, no additional configuration needed.
Mechanism 2 — Smart Services That Do NOT Automatically Sync
Appian will not automatically sync updates made using other smart services, plug-ins, or external systems. For example, the following will not automatically trigger a sync: the Query Database smart service, the Execute Stored Procedure smart service, a Call Integration smart service to update data in any web service other than Salesforce, and manual edits using tools like phpMyAdmin or MySQL Workbench.
When using any of these, the Record Type data remains stale until a sync is explicitly triggered.
Mechanism 3 — Scheduled Sync (Full or Incremental)
A scheduled sync is designed to capture data changed by external systems or directly in the source — not as a replacement for smart service syncs. If a developer uses Execute Stored Procedure in a process model and has a daily full sync configured, the record data will remain stale from the moment the stored procedure runs until midnight when the scheduled sync fires. That can mean hours of outdated data in the application.
To sync these types of data changes, schedule full or incremental syncs, or use the Sync Records smart service. The key word is "or", the scheduled sync is a safety net for external and infrequent changes, not an immediate substitute.
The Right Fix When Your Smart Service Doesn't Auto-Sync
Add a Sync Records smart service node immediately after the non-syncing node in your process model. This explicitly triggers a sync of the affected records by their identifiers right after the data change occurs — keeping the Record Type current without waiting for a scheduled sync.
So to wrap up,
Write Records smart service --> Syncs Immediatly? ✅ Yes
Write to Data Store Entity --> Syncs Immediatly? ✅ Yes
Execute Stored Procedure --> Syncs Immediatly? ❌ No --> solution: Add Sync Records node after
Call Integration (non-Salesforce) --> Syncs Immediatly? ❌ No --> solution: Add Sync Records node after
Direct DB edit (phpMyAdmin, etc.) --> Syncs Immediatly? ❌ No --> solution: Schedule full/incremental sync
Scheduled sync configured --> Syncs Immediatly? ⚠️ Eventual not immediate --> solution: Use Sync Records for in-Appian writes
Official Documentation:
Configure Sync Options: https://docs.appian.com/suite/help/26.3/records-data-sync.html
Write Records Smart Service: https://docs.appian.com/suite/help/25.4/Write_Records_Smart_Service.html
Sync Records Smart Service: https://docs.appian.com/suite/help/26.1/Sync_Records_Smart_Service.html