Set up Cross-doc sync tables

Learn how to set up Cross-doc sync tables to pull data in from another doc

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. This article will cover the basics of setting up and configuring your Cross-doc sync table.

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


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 highlighted note above for more info.

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


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. In the upper right hand corner of your table, click on the down arrow next to the Refresh button, and select Settings from the menu.

  2. Under the Sync tab, choose how or when the sync will be refreshed. You can choose from Manually, Daily (automatic), or Hourly (automatic).

  3. Next, click into the Advanced tab.

  4. In the first dropdown, 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. If you want to keep rows in your sync table, even if they get filtered out of your source table, toggle on the Keep un-synced rows toggle.

  7. To do an immediate sync, click Refresh.

That's it! Your Cross-doc sync table is now set up and ready to use. At this point, the table is a one-way sync of data from your source doc to your sync doc. But you also have the option to enable two-way sync. This will allow you to make edits to your source data via your sync table, thus keeping your data in sync across docs. Check out this article to learn all about two-way sync for Cross-doc.


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 this article 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 - with two-way sync, you can delete and edit rows from your sync table and have those changes reflected in your source table. You will first need to enable two-way sync, which you can learn all about here.

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?