Notes in a task

I’m also from Notion, and I am exploring Coda as a replacement, due to how much more powerful it is. I hit the same issue as those on this thread. I would also like Coda to add something similar to Notion, but there is a workaround that requires a few more steps that in Notion, but not much. The idea is to have a button to create a new project page, which will be linked to a row in a Projects table.

Here’s an example of how to do this : Project pages

The process is the following:

  • Create a project in the Projects table, and give it a name.
  • Click on the “Create project page” button, which will create a new page for the project, and display it.
  • In the newly created page, click on the dropdown at the top of the page and select the newly created project.
  • Click on the “Add page link to project table” button.

Once you’ve done this, things are set up so that the button in the Projects table turns into “Open projects page”, which will open the projects page (rather than create a new page). In the project page, the button previously called “Add page link to project table” has turned into a “Open project row” button, which displays the project details when clicked.

I hope that this helps.

PS: This is the first time that I am sharing a link to a Coda doc, I hope it works correctly…


hi @Eric_Rabbath ,

it works fine, very well done à mon avis.

what is the concrete usecase behind this logic?

best, christiaan

Hi @Christiaan_Huizer,

Thanks! The use case is that sometimes, you want to add a lot of free-form, unstructured information to a table row, which is currently limited in Coda. Expanding a text cell allows you to have some formatted text, but not whatever you want (e.g, tables, embedded files, collapsible lists, code blocks, etc.). Examples where this is useful are for example projects, or products, or clients.

Notion solves this quite elegantly by having each row of a table be a page, so that beyond the structured information, you can write anything you want inside the page.

It’s possible to do that in Coda by creating a canvas page, but I find it a bit clunky to associate the page with the row, so I tried to automate the process as much as possible with buttons.


thanks @Eric_Rabbath , the context is thus more note taking and linking related info over pages. I never considered using Coda this way, but I see your point and I guess what you want in this regard is very logical for many others. The solution is btw elegant, I like it.

@Eric_Rabbath this is awesome! Thank you for taking the time to share this clever (and elegant and simple) setup.

You mentioned the use-case for this being “sometimes, you want to add a lot of free-form, unstructured information to a table row.” Is there a specific sort of activity where you tend to use this sort of row-as-page setup a lot? And what role does this setup play in it? (Example: “For an art critique I like to store the image in the row and then write a long essay while including other pictures so I use this setup to do…”)

For anyone else watching this thread: Good news on this front!

We’ve been hearing your requests and have been researching this for a while. It has now become a project that we’re really excited about :partying_face: !

There is a good bit to it, so we don’t have an ETA at the moment, but keep an eye out for it later this year… :eyes: :eyes:

If you’d like to contribute to our efforts, feel free to reply with what you would use this row-as-page feature for and how the feature is uniquely positioned to support that activity :+1:


@Eric_Rabbath, I love the template!

I mentioned this post in our company chat and found out that we are looking to ship the ability to get the page link back from the duplicate page action. That could simplify this template even more. I don’t have a definite ETA, but hoping it’s soon.


Hi @Coda_Zac,

The most typical use case for me would be for projects, which can be very diverse and require very different supporting information, that would belong in a page rather than a database cell. Some examples would be:

  • New product development project: We work with different sub-contractors, and we need to track different submissions by sub-contractors. I would typically track this in a table specific to this project (sub-contractor, date of submission, comments).
  • Choosing a new supplier: When assessing a new supplier, I would typically create a table with their pricelist, and calculations to set our own sales prices.
  • Competitor research: We might analyze the competitor’s products and compare them to ours. This data might be best described in a table specific to this project (Competitor product, Competitor price, Our product, Our price, Comments).

The examples I gave mention mostly being able to add tables, because that’s what comes to mind first. But other formatting options only available in pages (collapsible lists, checklists, images) would also be useful, and having rows as pages seems to be the most natural way to solve that.

Beyond projects, I could also imagine needing such pages for clients for example. So if we are working with a distributor, we could have some information about the other brands he is selling.

That’s great news, it would indeed simplify the template. I’m looking forward to that!

In the below doc I could really use something like that.

In generic terms, this doc allows somebody to automatically create a template of steps necessary to organise an event.

There is an EventTemplate, where for each EventType (Wedding, Baptism) a list of generic tasks are maintained. When a couple signs up for a wedding or baptism, an entry is made into the Events table. In the Events table there is a button that will push a set of buttons that will copy each task into the Tasklist. So the end result is a set of tasks in the Tasklist for the wedding, and where necessary, the task will allow the person to send an email with boilerplate text copied from Eventtype.

This is all done, and works. But the next step that I want to do, is to add a “complex” event to the EventTemplate, for example a fete. In this example, each task would be another Event, for example white elephant activity, or jumping castle activity.

I I could include a link to a page in the row that contains the details of the tasks, then I could capture details of the the jumping castle activity:

  • Pictures of the different tables from different suppliers

  • Contact details of the suppliers,

  • And might just include a “recursive” view of the original set of tables, that will allow Tasks like “email supplier for quote”, “Email to successful supplier”

Next “sub” Event could be a pulled pork barbeque
On the page for that event, I would then add a special table to record the names and times of people helping with the BBQ over the two days it takes to BBQ all the pork butts.

I hope this helps.

Great document! Simple and effective.

1 Like


This is great news!

Here’s the universally applicable paradigm: any workflow comprised of units of long-form and/or rich-text documentation where each unit requires tabular or relational meta-data for automated or manual management. VIRTUALLY EVERY SINGLE INDUSTRY WOULD BENEFIT FROM THIS FUNCTIONALITY.

If the mission of Coda is to reimagine the workplace doc, then one thing that the current doc paradigm is sorely missing is the ability to holistically manage doc collections using structured meta-data (relational even better!:grinning:).

How many times have you tried to organize or manage a collection of long-form/rich-text documents? It usually involves creating a list someplace – a text doc, a spreadsheet, a database. Each doc must be manually linked to that list. And manually kept in sync with that list as the doc collection evolves. And if you add doc meta-data to the process, then EVERY PIECE OF META-DATA must also be MANUALLY LINKED AND MAINTAINED IN SYNC. This is completely untenable. Even someone with mad programming skills would find it incredibly difficult to code something that automates this.

The ability to effortlessly link and sync any Coda object (doc, page, etc) to a row (relational meta-data) would elegantly solve this problem.

There are many thousands of use cases for this functionality. Pick an industry and drill down. THIS IS A HUGE HOLE IN THE MARKETPLACE.


Dear @Coda_Zac,

What I should like to see for pages in general, the ability to control the page lay-out.
What do I mean with this,

  1. Imagine the page is divided in 6 equal zones, 2 horizontal and 3 vertical (portrait layout), as basic sample.

  2. In the background, there is a table that has for each such page, it’s name and 6 cells that “control” the content in each of the cells, to guarantee a standard lay-out for all of these pages.
    A) For the page layout Imagine just a simple Excel table with A1, A2, A3, B1, B2, B3.
    B) The “controller table” will be able to govern what and how each “section” is showing. Meaning
    the layout is in a consistent way.
    C) If we could make the it control if the menu’s are collapsed or expanded would be great

  3. Imagine, you have build a template, used it 100 times and the circumstance change and the template is updated. Now you will have also to update the lay-out of each of these 100 pages created, as there is missing some relevant information
    A) Through such a control table, you would be able to add the necessary updates and monitor the
    progress in updating the “old” pages.
    B) Although I do not understand the technology behind the scenes of Coda, I am quite sure that this info is available in one or the other form, it’s just not (yet) accessible :thinking:

  4. Like @Eric_Rabbath & @Ander are already addressing use cases for many businesses and as @Piet_Strydom mentioned also the more private events can be organized in such way.

The one that comes mostly in my mind is the “knowledge base” (KB). The biggest challenge is consistency of information, so users can fast orientate themselves and the builders can create a unified format all of the tool.

Even big players as Service Now do not offer this in their knowledge base tools. (As far as my knowledge goes)

Keep up with the great work, you are amazing Codans and Community Members.


This is great news! Thank you!

This post is relevant to my usecase for pages as rows.

One of the things excluded from doc is that I’d like to be able to put views of tables (like “How Would You Rate This Meeting?” tables) inside of each page.

This would allow me to historically look at the meeting ratings of all my docs (and perhaps compare them against other page related metrics like “How Long Was This Meeting?” and “How Many Tasks Were Marked Completed?”).

1 Like

Would this embedded page support all the features of regular Coda pages (text formatting, embedded objects, tables, …), or would it be a simplified version that would disable tables (and table-like objects like galleries, calendars)?

Notion allows nesting tables within pages to seemingly infinite depth, and considering tables in a layout of a row do not contribute towards the total object count, I doubt that the full feature set of pages will be enabled in these row “notes” field…

Thanks for the replies and insight @Eric_Rabbath @Piet_Strydom @Ander @Connor_McCormick @Jean_Pierre_Traets ! All fantastic points. We know this idea has a lot of potential and we want to get the tradeoffs and design choices right by studying different use-cases out there in the world.

@loucadufault I would actually turn that question back on you: what would your expectations be around functionality, and why? I’d say, worry less about what’s possible and focus more on what you would actually use this feature for :+1:

1 Like

I had another use case, but not a doc for it. Yet?

Genealogical research.

So each record in the table would be a person. But in formal genealogy, the information is very structured, with no room for “comments”.

While the structure is necessary, it would be great to be able to add a “page” for unstructured data. I could record memories about gramps, photos, and so the rest of the family.

So rather than a dry piece of research, it would come alive, and document history for the future.

1 Like

@Coda_Zac Subfolders and subpages is something that has helped to lessen the need for this feature, but one example use case:

Meeting notes & history. When working on a product, it’s useful to have a meeting process page, and store all meeting notes in a table. A rich, free form cell type that can contain whatever may have transpired in the meeting, from images, to videos, to markdown (real markdown please :wink: ), is useful instead of having to use subpages. Same for the meeting agenda, allowing the team to put anything they want into an agenda is very useful (and then the agenda can get recorded away in the meeting history table along with the notes, date, items discussed).

Another important use case is simply product consistency and user flow. It’s jarring whenever the editor in a cell is missing features that are available in a page editor, like including images. I see the challenge however in terms of where to draw the line, e.g. the / command and everything it enables.

1 Like

I think the intuitive expectation would be that all pages are equal and support the complete functionality set. However, I don’t think many users would be disappointed to see that tables (and table-like objects) are not supported in the embedded pages, as the use case for this would be quite small I would imagine.

Just having a section for text and simple objects would probably satisfy the vast majority of use cases (mine included). Tables in the embedded pages would be a nice-to-have, even if they are limited to not having embedded pages for their rows or some other limitation, but ultimately probably not all that used.

I will say though, if these embedded pages could be automatically created from a template (which Notion supports), then the value of supporting tables (and table-like objects) would drastically increase. It would make more sense to make use of tables in an embedded page if you did not need to recreate the table schema for each new page, but could instead just quickly populate a table created from the template.

My use case is for task management. Imagine a Coda doc with a table of tasks. Each task has a due date, category, etc, and a ‘Description’ text column describing how to do the task.

Currently that field can have low resolution bulleted text with links that will send the user out of the Coda doc. A page enables embed(), videos and gifs would allow the user to stay in-doc.

Going further, Coda controls and custom table views will allow each task to have custom functionality created for it. This would make the doc immensely powerful.