Photo by Glenn Carstens-Peters on Unsplash

How to Coda with JSON — Extra

Bringing data in and distributing it over rows

  • The single dot → get values is related to a named level — . —
  • The double dot → get all the values regardless of level — . . — and the logic behind is that you first relate to something and by repeating this something you say basically give me everything. This logic you see again below in the screenshot. A formal statement is: “recursive descent.”
an overview of the main functions
  • The dollar sign $ → says start at the beginning, thus at the root.
  • The astrerix * → start at any of the top level items, the wildcard
  • The squared brackets [] → we need these to indicate which value we need for which column.

Distribution over rows

Once we see that we can ask for all values in a Key Value pair, we can also find a way to isolate value per value since values live in Arrays. Maybe you recall that an Array is like a list in Coda and is defined by the square brackets [ ] . We need this logic in our function. Below you see how we get the values in the columns of our choosing via the web hook automation.

adding values to columns

Advantage 01.

The result of this JSON manipulation is a table that via a web hook directly gets filled out with the data as specified per column. There is no delay and based on the new row, you can automate further like sending emails, notifications launching calculations etc. This is one of the main differences with a pack that needs extra tricks to get the ‘new row’ action.

Advantage 02.

There is an other advantage that is a bit harder to grasp when you stay in the realm of personal data. This is an advantage related to processing numbers as outcome of an evaluation. I created a test form and the data arrived into Coda via the pack and every tea — a column value — got a proper evaluation. But this is not how product related information lives in Coda. Products are items in a row. More about this issue in this blog:

Advantage 03

With a web hook you link only to a specific form, with a pack to the account and from there you select the form you need. This means that all your clients have access to all your forms in Paperform since there is no split on folder level (the Paperform API key is valid for all forms unlike the Coda web hook API key that is only valid for one web hook). The web hook is the safer option.

How to bring JSON into Coda via a Web Hook?

We wrote for quite a bit how to manipulate data in Coda, but first of all is the question: “how to get the data into Coda”? Well here I hesitated a bit because I bypassed the Coda security settings. Coda requires a bearer authentication, this means a way to enter your web hook API key in the settings of the software you want to ‘talk to’. In my case Paperform only offered an open Web Hook, meaning this field was not present. However you can bypass this by adding a bit of code to the URL generated by Coda, it goes like below.

manipulate the coda API key by adding ?access_token=

Coda comes with a set of building blocksーlike pages for infinite depth, tables that talk to each other, and buttons that take action inside or outside your docーso anyone can make a doc as powerful as an app (source).

Not to forget: the Coda Community provides great insights for free once you add a sample doc.

Christiaan on “How to Coda with JSON — Extra”



I use Coda mainly for (HR) planning & (budget) calculations. Follow me to learn how to Coda with numbers. I blog at least once per week.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Christiaan Huizer

I use Coda mainly for (HR) planning & (budget) calculations. Follow me to learn how to Coda with numbers. I blog at least once per week.