Getting end users to work with multiple cross-doc tables

Example Project

I have a doc that multiple managers are working out of to manage our company contacts and projects. The doc has grown too large to use optimally so I have split everything into master docs and then created department docs that only sync portions of docs. For instance, I have a master contacts and projects doc that includes all projects, but I have an electrical department doc that only syncs electrical projects from that master doc.

The issue I am facing with the cross-doc is the delay when syncing multiple cross docs. In the example project, I have a synced cross doc for contacts and projects. In order to request a project, a manager has to select the contact. However, if it is a new contact, it is now takes a few more steps for the manager to get that contact. When they were working out of the master doc, they could just add the new contact and it would immediately show up in the dropdown. Now if they add it, it will take up to 1 hour to become available, or they will have to manually force sync the table. I’m looking for a workaround that can make this process a little smoother for them. Any ideas?


Hi @Tim_Sherrod the community has figured out how to do this by using hidden formulas to force syncing. Its not ‘instant’ but keeps things updated within a few minutes which is way more usable than an hour. I am using this for a client and as long as its disclosed that they need to wait a few minutes for everything to sync up, they have been very happy. Good luck!

Thanks @Johg_Ananda. I am actually trying to get it to work for me now to see if that would be sufficient. I think it might be, and it is nice to know your clients have been content with it. I tried following instructions but am failing to get the button to force a sync. In the example below, do you know if the “Projects” table I have listed would be my synced table in all three places?

I also have a table that is used for adding content to the source table, so not sure if I should actually be referencing that one.

Projects = the cross-doc synced table
All Projects = source table

RunActions(Projects._StartSync(),Crossdoc::_SyncTableTable([Read-write access to All Projects (],Projects),Projects._FinishSync())

You have to use the automation / row-based change feature to do it. Its kind of hacky but required for now. Do you have that implemented?

Yeah, I tried but it doesn’t run when I test it. I have the button set up on the table that sends sends the information to the source doc for creating a new row. The timestamp is just Modified On() formula.

OK so you only need one row in the table to intiate the sync. Then you need to create a canvas button below, which responds to the automation. The canvas button presses the table button. Yes its confusing, but effective.

I really appreciate your feedback here @Johg_Ananda. I think I am still missing something, hopefully simple. So the Project Sync Request table is its own table with just two columns and the button in that table should perform a sync action against the cross-doc I want to sync. I need to push the “Cross-Doc Sync” button through an automation that pushes the “Request Sync” button that does so based upon the timestamp. And that Canvas “Request Sync” button will push the table button, “Cross-Doc Sync.” Is that correct? What would trigger the timestamp to update?

Well I think I can use this to modify the row, so I wonder if I just have my main formula set up wrong and it is failing.

The button the user presses needs to do its function AND, using RunActions() modify the timestamp on Project Sync Request table. Then the automation detects that and pushes the button in that table’s row, which pushes the canvas button. Do you have that working?

I got it working! I had to create a new connection for the source doc. The other one was trying to sync but sending an error and freezing the sync. Good to go now. Thanks again! This was a tad technical for me to fill in some of the blanks. Thanks again @Johg_Ananda!

No sweat @Tim_Sherrod - these ‘failures’ you had is called the ‘learning process’ :slight_smile: great job!!