Set up Cross-doc sync tables

Learn how to set up Cross-doc in Coda to connect data between docs & keep them in sync.

Updated this week

Cross-doc allows you to easily pull in tables from other Coda docs so that you can annotate, review, or reference them as needed.

If you find yourself needing to use the same data in multiple documents and don't want to go through the hassle of manually copying and pasting it every time there is an update, Cross-doc provides a convenient solution.

Within this article you'll find...


What is Cross-doc?

Cross-doc creates a connection between two docs so data can be copied from the source to a secondary doc.

Think of the two tables as separate from each other, each living in their own doc, and Cross-doc as the connection that lets you pull data over from one to the other.

Cross-doc is best used when one doc sends data to many other docs. Some of our favorite ways to use Cross-doc are:

  • Pulling a product team roadmap into multiple project trackers

  • Pulling in customer data from a CRM into your own personal note-taking Coda doc

  • Distributing feedback for each of your direct reports from a base feedback doc

  • Pulling a company roster into several different docs across the organization.

Create a new Cross-doc table

If you have a table from one doc that you'd like to pull into a new doc, follow these instructions to get started!

Install the Cross-doc Pack

The first time you use Cross-doc in a doc, you'll need to install it as a Pack:

  1. Click Insert in the upper right-hand corner of your doc.

  2. Select Packs

  3. Search for Cross-doc in the Packs side panel, or select it from the list.

  4. Click Add to doc for free

HC_Cross-doc_1.gif

Create your sync table

When working with Cross-doc, it’s helpful to think of your original table and doc as your source doc and source table, and your new doc and table as the sync doc and sync table. Now that you've installed the Cross-doc Pack, it's time to actually create your sync table.

ℹ️ A note about source table filtering:

Before you create your sync table, it's important to consider the filtering on your source table. Certain types of source table filters will affect your sync table, whereas others won't.

  • Any collaborative filters on your source table will affect your sync table. This includes the filter builder and collaborative controls. So if your source table has a collaborative filter, your sync table will be filtered accordingly. Any rows that are filtered out of your source table will not be included in your sync table.

  • Any personal filters on your source table will not affect your sync table. This includes the filter bar and personal controls. If your source table is filtered by one of these, the filtering will not be reflected in your sync table.

  1. Select the source doc that holds the table you’d like to pull into your sync doc.

  2. Select that source table in your source doc that you'd like to pull into your sync doc.

    1. Remember that filters on your source table may or may not apply to your sync table. See the section above for more info.

  3. Drag and drop it into the desired location in your sync doc where you'd like it to appear.

HC_Cross-doc_2.gif

Choose columns to show

By default, all visible columns from your source table are synced into your Cross-doc sync table. You can then hide or unhide columns in your sync table as needed.

If you want to ensure that any columns that might be added to your source table are also added to your sync table, toggle on the Add newly found columns option in your sync table settings (see below).

Adjust your Cross-doc sync table settings

Now that your sync table is set up, you can adjust your table's sync settings.

  1. Navigate to your table Options

  2. Click Cross-doc Table

  3. In the Sync menu, select your desired sync refresh schedule.

  4. In the Settings menu, select the number of rows you would like to sync in from the source table.

  5. If you want newly added columns in your source table to be automatically synced into your sync table, toggle on the Add newly found columns setting.

  6. To do an immediate sync, click Sync now.

HC_Cross-doc_4.gif

Enable two-way sync for Cross-doc

When you enable two-way sync in your Cross-doc table, you can make edits directly to your sync table, and have those edits reflected in the source table. This includes editing existing rows, deleting rows, or adding new rows. You can choose to either have edits pushed automatically or require a manual button push.

To enable two-way sync, follow these steps:

  1. In the upper right hand corner of your table, click on the down arrow (v icon) next to Refresh. Select Settings.

  2. Switch on the two-way sync toggle.

  3. Choose how you want updates to be sent, via the Send edits immediately option.

    1. If this setting is toggled off, then edits in the sync table will only be pushed to the source table when someone clicks the Send edits button or at the next table refresh. If this setting is toggled on, edits made in the sync table will be reflected in the source data as soon as you’re done editing. This setting does not apply to adding or deleting rows - see note below.

ℹ️ Note that this Send edits immediately setting only applies to edits to existing rows; it does not apply to adding new rows or deleting entire rows. If you add or delete rows from your sync table, you will always have to push the Send edits button or wait until the next table refresh - regardless of what you've selected for this setting.

Now your two-way sync is ready to go!

  • To make edits to existing rows in your sync table, just click into a cell and start typing. If you’ve selected automatic updates in the settings, any edits you make to existing rows will be pushed to the source table as soon as you click out of a cell. If you’ve opted to have updates sent manually, you’ll need to push the Send edits button in the upper right corner of your table (or wait until the next table refresh) to push these edits back to the source table.

  • To delete a row, simply select the row and hit the delete key on your keyboard. The row will immediately disappear from the sync table. In order for this update to be reflected in the source table, you will need to push the Send edits button in the upper right corner of the sync table (or wait until the next scheduled table sync)

  • To add a new row, click on the +New row button at the bottom of the table (or use any of the other methods available to add rows), then edit the new row as desired. Once the new row has been filled in, click on the Send edits button to send this new row to the source table. Note that you must always push the Send edits button (or wait until the next scheduled table sync) for this update to be reflected in the source table.

To learn more about two-way sync in Pack tables, head over to this article.

FAQs

Why are rows that used to be in my Cross-doc sync table now missing?

If you find that you’re missing data in your sync table, it’s possible that the source table may have been filtered resulting in this missing data. If the source table is filtered, that row data will not continue to be synced over to your Cross-doc table.

In your Cross-doc sync table settings, you can toggle on Keep un-synced rows to avoid losing any other data if that row happens to be filtered out on the next sync.

As a best practice, keep your source table un-filtered and then apply filters to your Cross-doc sync tables as desired. That way all row data from your source table will always be available in your sync tables 👍

My source table has more rows than my sync table. Why aren’t all my rows being synced in?

Check your sync table settings to see how many rows are set to sync in. You can adjust this row count for your sync table from 100, 1000, or 10,000.

Can I update the data in the source table from my Cross-doc sync table?

Yes! With two-way sync, you can make edits directly in your sync table and have those reflected in your source table. Check out the section on two-way sync above to learn more.

Will my source table's hidden columns and rows get transferred to my sync table?

No. Cross-doc takes a "what you see is what you get" approach. This helps you keep various elements private intentionally as you bring data over from one doc to another.

Can I edit or delete rows in my Cross-doc sync table?

Yes - if you've enabled two-way sync, you're able to add new rows, edit rows, or delete rows in your sync table, and these changes will be reflected in your source table. Learn more in the above section on two-way sync.

You can also add new columns, group, sort, and filter, as well as change the layout. These new additions will only be visible in your sync table. They will not be added to the source table.

Can I use a Packs sync table as a source table?

Yes! For example, if you have a Packs sync table you’d like to bring into another doc, but you want to hide your credentials, cross-doc is the solution 👍

Will my Cross-doc table sync in real-time?

At this time, instant or real-time syncs are not supported. You can choose from manual, daily, or hourly refresh intervals to meet your needs.

Why aren’t the new columns I’ve added in my source table automatically appearing in my sync table?

While we will keep updating your row data, columns and column names hold constant from the initial sync table setup.

If you’ve added new columns to your source table that you’d like to bring in, new columns can be added to your sync table via the Row column.

What is the "Row" column?

When you look at the columns in your Cross-doc sync table, you will notice a column titled Row. The Row column shows a list of objects representing each row in your source table.

This is all of the data we sync through for the table. If you hover over a Row chip in this column, you'll find any additional columns that were added to your source table or deleted after the initial sync. You will only see the visible columns from the source table here. For data privacy we don't sync any hidden columns.

Where are my button columns?

Cross-doc does not currently support buttons from the source doc, so we remove them from your sync table.

Most of my data is syncing fine but one column is blank - why is that?

This is most likely caused by renaming a column in the source table. Each column in the synced table used a formula and is based on the column name in the source table. When the name is changed, it breaks the formula.

To fix it, open the column’s formula and replace the old column name with the new one.

Where have my conditional formatting, groups, sorting, and scales gone?

Cross-doc only pulls through the raw data from your source table. Anything that lives at the table level such as conditional formatting, groups, sorts and some column types (such as scales) will not appear.

You can reformat all of this in the sync table to match the source table 🎨

Can other users see the same list of docs and tables I have to add from when they install the Cross-doc Pack?

The doc list and tables you see in the right hand menu are unique and private to you. No one else can see that list, they will only see the docs they have access to.


One of the perks of Cross-doc is that you can add a source table from a private doc without giving anyone access to that doc, and other users you share your sync doc with can see this sync table version fine.

How can I delete a column from my sync table?

If the column has been synced into your sync table from your source table, you won't be able to delete it. Instead, you can hide the column in your sync table to remove it from view.


Related resources

Did this answer your question?