I want to implement a solution where changes in a row from Doc A are synced to Doc B through Zapier. For that I have the following setup:
- In Doc A and Doc B there’s the
Datatable in each. These I want to sync.
- Since Zapier can only trigger on new rows, in
Doc AI have a dedicated
Editstable where I copy rows from
Datawhenever they change (via automation or with button, doesn’t matter).
- Zapier is set up to listen on new rows in
Doc A / Editstable and upsert those rows into
Doc B / Datatable
- The key for the upsert operation is the column
Both edited rows (that have rows in
Doc B / Data with matching
ID) and newly added rows (that don’t have matching rows in
Doc B / Data yet) are correctly upserted.
Existing rows are updated correctly, but newly added rows that have multiple entries in
Doc A / Editstable are inserted without overwriting each other. I.e., if I add a row to
Doc A / Dataand then edit it, it will appear in
Doc B / Dataas two separate rows. See in the video below.
It seems like when Zapier does batch upsert on multiple rows, it does not take into account the rows it has already upserted in previous iterations of the same batch.
Additionally, Zapier seems to fetch rows from
Doc Ain reverse order. This leads to a problem where when upsert operation is applied, the former edit overwrites latter edits to the same row, and data is lost.
Additionally there seems to be some lag with either Zapier or Coda API: as you can see in the video below, sometimes it takes to perform the second manual sync to fetch the last lagging row.
Need some assistance with this please. I’m doing this for a client.