Filtered Full Sync for Custom Integrations

Currently there is a class of data that is difficult to perform a delta sync or webhook update on using the Custom Integration API.

This class of data includes anything that has a one-to-many style relation (think an invoice and invoice lines) but only tracks changes to the parent entity, usually if the sub-entities are just considered part of the parent object. This also generally means that the sub-entities are not queryable on their own.

In practice this means that delta and webhooks syncs are not possible without storing all of the ids of the parent and sub-entities of every account that the integration is used for. It’s possible to do this, but a bit more complicated than would be ideal.

To fix this I was hoping that a ‘filtered full sync’ or a full sync by criteria could be implemented. Essentially a full sync could be performed for a subset of a datatype, generally based on the id of a parent entity, but presumably for any other field match. I was hoping that this might fairly straightforward given that the Custom Integration API already has to filter entities to update based on ID when performing a normal delta sync.