Advance use of templates

Hello fellow friends,

I’m requiring some Coda magician here. I think i saw once a post relating this matter, but I wanted to ask if you have a better way to achieve this:


  1. You handle your projects from one, maybe bunch of docs, where you handle work in progress, consultancy results, functionalities and so. In those documents, your team update their work results, their ongoing tasks, customers information…

  2. You want to share part of that work with the world. Maybe you want to create some documents explaining part of your results (such as products and functionalities), maybe you want to create separate docs with information relating to each customer.

  3. Then, you are going to need a template where you prepare the format for that use (project information for customer, public page for product…). It is going to have crossdoc tables, but since when you use that template, you need to filter in origin data so no information from other (customer, product, project…) is exposed, that filter in origin is not possible at template design time

If you create the template, and it has quite amount of tables, with its layouts, you have two options after using the template:

  1. Delete each table and recreate it after filtering in origin with the selected project, customer, product… so the biggest part of work at template design time (tables, layouts…) is lost and creating template is rendered almost useless effort
  2. Or… you have a solution I remember seen once, I think by @Paul_Danyliuk , which involved some non trivial operations so you could change that underlying cross doc connection, and you need to repeat it for each single table in doc.

One way or another, if your template involve an amount of tables it is a comparable effort to the one taken into creating such template

Is there any other way, now templates are deployed, so we have better way to change cross doc origin filters applying to that template upon its use?


There’s only two ways:

  1. You don’t use Cross-doc but instead set up an if-this-then-that automation with Zapier or Integromat to pick up on new/edited rows and upsert relevant rows in different docs. Here’s an old video where “row updated” trigger was not yet available (with Zapier):

    [Video] Sync data changes from one doc to multiple docs (e.g., admin → individual users' docs)

    Here’s a newer one (with Integromat, longer):
    How I build: The 1-on-1 Playground doc — Part 2/3 - YouTube

  2. Make a setup in your templates doc where you can swap the views. That tricky tutorial that you saw is here:

    [Video] Swap a cross-doc table in a doc (e.g. duplicate a doc and share with a different client)

    You can also automate the creation of such per-client views like I did here (at ~3:12:00):


Thanks Paul you are the truly coda Champion around!

I will soon try out that Integromat alternative, and by the way, you have a new subscriber

Sounds good alternative, since lots of tables are in play (and I don’t have yet budget to hire you for such spin-off half hobby projects for my business :wink:

It’s fun that this thread got bumped for me today.

I was just finalizing my work on a Custom Pack that would enable exactly this! It is basically Cross-doc but:

  • Tables can have their URL changed without having to reimport anything
  • There’s row-level security — meaning you could set up just one view and share portions of it with all the clients you need
  • There’s also a way to combine multiple source tables into one.

Expect a video soon!


Oh my, yet again @Paul_Danyliuk bringing joy and gifts to the community. I’ll be awaiting your video, it sounds awesome :smiley:

Here it is:

1 Like