2 way sync with webhook working fin when pressing button, almost fine with automation

Hi everyone,
I am trying to create a centralized todo list in sync with todo lists in project management documents.
So eventually I would have a todo list doc for the team to use and see in all todos in a single docs, and several project documents with todos and other stuffs…

So I am working with the CodaExpert_webhook pack for that.
The tables are for now quite simple and based on the todo list template from coda


I have added a few columns:

  1. a button that performs the sync with the webhook pack
  2. an ID that concatenates the project id and the row ID
  3. a delete button because I will need to control deletion to update the centralized todo list as well
  4. a checkbox used for the deletion so that the centralized todo list will know which rows to delete during the deletion sync

I also have a setup page where I store the webhook urls and token for both the project document and the centralized todo list, and the project name and id.

So, pressing the sync button in the table is working just fine and instantly calls the webhook on the centralized todo list:

  1. It adds or modifies the project table with the name, id, webhook url and token
  2. adds or modifies the todo


here you can see the tables in the centralized todo list (I have deleted the content of the webhook url and token)

Then I have made an automation that would press the sync button whenever a row is changed on the project todo list. Everything works fin BUT the webhook url and token remains empty. And even when I sync manually, which will adds the webhook data, they will be erased whenever the automation is triggered…

do you have any suggestion?
Is it a bug or am I doing something wrong?

thanks

Hello @utkucha ,

I don’t think there is a bug, at least not in the CodaExpert_webhook pack, we have got similar setups up and running. But it is impossible to help you if you don’t make and share a couple of sample docs, because how can we possibly see what is going wrong in your doc of we can’t check the formulas you have used.

You are stating that you eventually want to sync between ‘several docs’, which is doable but gets very complicated in a hurry, as every doc that has a connected table needs to be synced by the doc where the change takes place. I personally don’t like sync buttons, because if someone forgets to push it, your syncs are not complete any longer.

For a 2 way sync between 2 docs, you need 2 automations in each doc with each automation updating one table. For a 2 way sync between 3 docs, you need the same, but the automation that gets triggered by a row change needs to update 2 docs (generate 2 webhooks), for syncs between 4 docs you need to update 3 docs for every change, and so on.

So, please be advised that your goals are complex and require a lot of Coda experience and perseverance to bring them to a good end.

Good luck with your project,
Greetings, Joost

1 Like

Hello @joost_mineur,
thank you for your reply

I tried to duplicate the 2 docs to I can share them here but can not find a way to change the webhook url. For now the project document I have created is pushing the tasks in my previous centralized todolist, not the one I have created to share to you.

While I figure out how to do this, a few clarifications:

  • I am not working in a hurry :slight_smile:
  • the button solution is to separate the sync logic from the automation by itself. I could have put all the script in the automation formula. In the final version, the sync button will be hidden, and only used by the automation (for more clarification I have put the columns to be hidden with a gray background)
  • I think my explanations were not very clear for the sync. I will only have one centralized todolist. All the project docs will have the webhook url and token to this doc, while sending their own url and token in the automation. So I have one automation per project document, which I intend to save as a template, and one automation in the centralized todo list for syncing back a task with its project doc if the change is performed in the centralized todo list (e.g. you check the task as done)
  • I have been an active user of Coda for years (since the alpha or beta, not sure) on a daily basis for a lot of complex stuff so I am not afraid :slight_smile:

let me see if I can find a way to duplicate these 2 docs and have them work (I don’t know why the webhook seems to be linked to the original doc…)

thanks again

Utku

Hello Utku

Glad to hear you are an experienced user, you will need your experience with this project for sure. Copying docs with webhook automations is kind of hard to do, because the copied tables have new ID’s and require new URL and token.

When you manage to share something I will try to find some time to take a look.

Greetings, Joost

Hey there!

It might also interest you to check out the 2 way sync pack I’ve created

It allows for an automatic 2 way sync between tables. You simply provide the pack the doc url, table ids, etc of the two tables you want synced and the pack will handle all the column mapping automatically

hi Scott
I need to take a look to your pack. Since I want to create this system not for me but less experienced user I want to make it really simple. Right now I am afraid that finding the webhook url and token of a doc will cause some friction…

However, I found how to fix my problem and I have a simple 2 ways sync system that is working nicely. Even with deleting (I have used a delete button I have created for the occasion, while I lock the page for row deletion)
So, my problem was quite simple: the textfields that had the webhook url and token I was using in the webhook were setup as personal, not collaborative. So it was working fine when I was pressing the sync button, but the automation was not finding any data in those fields, hence the empty columns in the destination document…

Not sure if it’s something that can be interesting for people, but I can share my docs, whenever I can find a way to resolve this webhook url duplication issue

Thank you :slight_smile:

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.