The Self-Writing Doc: How to build reports that write themselves

icon picker
The Self-Writing Doc: How to build reports that write themselves

Automatically turn data into dynamic reports and docs that look like a human wrote them.
How often have you found yourself writing the same report over and over?
Maybe it’s a sales report that you update every week with the latest sales numbers. Or an invoice that you send to all your clients. Writing these reports typically involves updating charts in a spreadsheet, tweaking a slide deck, or copying and pasting across documents.
Wouldn’t it be great if the reports wrote themselves, without you having to touch them?
With Coda, you can build reports that write themselves. As the underlying data changes, the report dynamically adjusts to tell the story of the new set of data as if a human wrote it. Some call it , but I call it a self-writing doc.
Sound too good to be true? Try it out for yourself!

Your turn: Try updating the score and see what happens

Update the score of the game below and watch the sentence below dynamically change to match 👇
Hint: try making the scores equal, off by one, and then off by a lot. Notice how the language changes in each scenario to reflect the magnitude of the win.

Home team score


Home team:

Away team score


Away team:
Blue Jays

@Blue Jays
barely won
with a final score of

Pretty cool, right? 👏
Now check out this report entirely generated from data: . As the data changes, the words in the report adjust to accurately tell the story of the games.

The secret sauce: Canvas formulas

The magic happens with Coda’s canvas formulas. Canvas formulas are like Excel formulas, but you can put them anywhere in a Coda doc, including next to words in a sentence. Think of them as little logic nuggets that you can use to build dynamic words, phrases, sentences, paragraphs, and eventually entire reports. The best part is that it’s easy to add canvas formulas — just type the equal sign anywhere on the canvas.
For a deeper dive on building canvas formulas, see .

What is Natural Language Generation?

Using technology to dynamically build written text is called (”NLG”). The idea behind NLG is that you can form words, sentences, and even pages of text from an underlying data set. When the data changes, so will the text.
NLG can be extremely powerful, especially if you find yourself constantly writing reports or articles that have a similar structure. In this example we built a baseball game report, but you could also use it to build a marketing analytics report, sales performance email, consulting report, or invoice (just to name a few).

Ready to see build a self-writing doc? Head to

Want to print your doc?
This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (
) instead.