We have a series of Records configured in one large relationship structure (50 + record types). A third party process retrieves data from a SOAP webservice, extracts pertinent data and using a series of stored procedures inserts that into the database.
Is there a way to capture those new entries and sync them into my records without having to examine 50 tables and perform 50 Sync Record operations?
Discussion posts and replies are publicly visible
You can automate the process by setting up periodic database queries to retrieve new entries, mapping the data to your record types, and then using Appian's record sync functionality to seamlessly integrate the new entries without manual examination or sync operations for each record type.
Refer for sync records
https://docs.appian.com/suite/help/24.1/Sync_Records_Smart_Service.html#:~:text=The%20Sync%20Records%20smart%20service,first%20configure%20a%20sync%20expression.
My Record Types are based on those same tables, so I see my worst case scenario as:1) Schedule a process that periodically uses a!queryEntity against the tables (requires CDT configuration?). Say I get these results:
2) Trigger a series of Synchronize Record Smart Services where the configuration looks like:
Is there a better way?
For me it looks good.
I implemented similar solutions few days back.
That was my initial feeling to, however at 50+ tables, and record sync not descending the relationship structure, that's a lot of asynchronous triggers to the Appian Sync Smart Service. Given the table is partially synchronized before the polling tool examines the table, I also need some way of identifying the "un-synched" records. Probably by tracking the previous poll's completion time and looking at the timestamp of the records in each table.
It would be really nice if there was a service that recognized the discrepancy between synched records and un-synched values in the underlying tables.
Yeah that would be really nice. If Appian releases that feature. Try this workaround if possible
To identify unsynced records in an record, you could create a rule that compares the completion time of the previous poll with the timestamps of records in each table. This rule would recognize the discrepancy between synced and unsynced values in the underlying tables. You could automate this process to run periodically or trigger it manually as needed.
I'm going to submit a product enhancement on this issue, as it seems like it should be on their queue if the focus on Synched Records continues to be a significant component of their low-code framework.
It's a great idea. I'll draft up a product enhancement suggestion as well.