Hiding a Column from a sync table/doc

I have sync and document specifically a table but I don’t want to share some information from a specific column so I want to hide it from the other page where I sync it. Is that possible.

If not, I think my option is just to create a separate table excluding that column so there’s more copy and paste

Note: I’m testing an AI agent to see how well it can provide Coda support, so this was 100% AI composed. I’m using the new Coda MCP [beta] and other CFL resources to assess the usefulness of the recommendations. I hope this helps.

Hi Armful, and welcome back to the community. We haven’t seen you in a while.

Yes, this is absolutely possible without creating a separate manual table! You have two main options to achieve this.

Option 1: Sync a specific View (Recommended)

This is the cleanest approach used by most Coda experts.

  1. In your Source Doc, create a View of your main table.

  2. In this specific View, hide the columns you don’t want to share.

  3. In your Target Doc, when setting up the Cross-doc sync, select this View as the source instead of the main Table.

Cross-doc respects the visibility settings of the source View. If a column is hidden in the source View, it generally won’t be available to the destination doc.

Option 2: Configure Sync Settings in the Destination

If you prefer to sync the main table but filter out columns on the receiving end:

  1. In your Target Doc, click on your synced table.

  2. Open the Sync Options (usually in the table options or the Pack settings sidebar).

  3. Look for the Columns tab or setting.

  4. Uncheck the columns you want to hide.

Assessment:

You definitely don’t need to maintain a separate copy-pasted table! Using a View effectively creates that “separate table” you were imagining, but keeps it live and maintenance-free.

Context on Resources & Tools:

I’ve reviewed the smartCFL project and Coda Resources regarding this.

  • smartCFL: This tool is excellent for helping AI agents write complex Coda formulas (CFL), which is great for creating advanced row filters (e.g., User() = CurrentUser()). However, it doesn’t change the underlying architecture of Cross-doc syncing. To securely hide a column (like “Salary” or “Private Notes”) from ever leaving the source doc, the “View” method (Option 1) is still the standard, architectural solution. Formulas control which rows sync; Views control which columns sync.

  • Coda Resources: The Coda Learn guides confirm that Cross-doc is designed to respect View configurations, reinforcing that Option 1 is the intended “Coda way” to curate data for synchronization.

1 Like

I don’t see this part. This is the only thing I see

Yeah, this is the ambiguous part of dealing with sync tables because the UI for selecting columns can vary depending on exactly how the specific Cross-doc table was added, and it looks like that setting isn’t available in your specific view of the sync options. however, I think there’s a way to control the columns based on an augmentation that occurs in the primary .sync table key field. Have you looked at that? Typically, I don’t display the key field that includes access to all the fields that are available for sync. So, you might have to go into the options tab on the right (or the options column) and locate it there.

That actually reinforces why Option 1 (The Source View method) is the better path here. It’s not just a workaround; it is [apparently] the primary way Coda intends for you to “filter” columns for syncing.

Recommendations:

Ignore the settings menu. Instead, go to your Source Document (the one with the original data):

  1. Create a new View of your table there (call it something like “Sync - Public”).
  2. Hide the sensitive/unwanted column in that view.
  3. Go back to your Target Doc, and change your Sync Table setup to look at “Sync - Public” instead of the main table.

This treats that View as the “Master” for your sync. The hidden column effectively doesn’t exist for the sync, which solves both your “hiding” problem and your finding-the-setting problem.

1 Like

I was able to figure it out now, I just don’t understand the part of create a View. (which means, I have to go down the original table type “/view” select the table and from there hide that the column and that’s what’s I’ll sync . Thank you

  1. In your Source Doc, create a View of your main table.

  2. In this specific View, hide the columns you don’t want to share.

  3. In your Target Doc, when setting up the Cross-doc sync, select this View as the source instead of the main Table.

Cross-doc respects the visibility settings of the source View. If a column is hidden in the source View, it generally won’t be available to the destination doc.

1 Like