Hello!
I'm wanting to create a Synced Record Type for Salesforce objects for use within Appian. I successfully created the connected system for Salesforce, but when I go to create an Integration using the Salesforce Connected System, I'm unable to get pagination to work correctly. The SOQL response shows the "nextRecordsUrl" and the first batch of records. However, after playing with the expression rule for the Record Type, I'm still unable to get the Integration to know that it should query the "nextRecordsUrl" instead of attempting the same SOQL query. Essentially, I can't get pagination to work.
Has anybody had success building out a Synced Record Type for Salesforce records without building out a custom HTTP Integration, but instead relying on the standard Connected System? Any help is appreciated!
Discussion posts and replies are publicly visible
AFAIK, Salesforce Connected System doesn't auto-handle nextRecordsUrl for custom SOQL in Synced Record Types.You must manually loop through nextRecordsUrl in your expression rule or use a custom HTTP integration. The built-in operation handles pagination automatically but limits SOQL flexibility.OrUse service-backed records with custom a!pagingInfo() pagination instead.
Thank you! I've always built a custom HTTP integration either with REST or SOQL + a!pagingInfo() in the expression rule to handle batching. I haven't built on Appian in a bit and I was surprised when I attempted to use the SOQL Query operation in the default Salesforce Connected System to build a service backed record and it didn't handle the nextRecordsUrl when given either the URI or a fully qualified URL... Neither work, even when the value is passed back "correctly" into the Integration/Record Type.
Since Salesforce is a default and highly marketed Connected System, one would think it should work with minimal configuration.
Am I doing something wrong with this or is this the expected functionality?
You’re not doing anything wrong.The Salesforce Connected System doesn’t support nextRecordsUrl for Synced Record Types.Your custom HTTP integration + a!pagingInfo() approach is the correct solution. The default connector doesn’t handle pagination despite being heavily marketed.