Skip to content

icon picker
Getting Started with The Pack Builder

The pack builder aims to make the process of building coda`s packs a little bit simpler and none-coders friendly, by giving the user to define the building blocks needed in order to create some great packs

Concepts of pack building

What is a Pack?

A Pack is an extension that adds new powers to your doc.
What other platforms call plugins, add-ons, or extensions, in Coda called "Packs". A Pack extends the core building blocks of Coda, allowing users to build more powerful and integrated docs. Anyone can build a Pack, and they can use it in their own docs, share it with their team, or publish it to the world.

Different kind of packs ?

A Coda pack could be one of 4 types :
Packs can add new formulas for the Coda formula language. These formulas can do simple calculations, call a library, or pull in data from an external source.
Packs can add new actions, which are a special type of formula that powers buttons and automations. These actions typically make a change in an external application.
Column formats
Packs can add new column formats, which control how values are displayed within a table. They can simply reformat the data or enrich it with related information from an external source.
Pack tables
Packs can add Pack tables, which are a special type of table that automatically syncs in data from an outside source. These tables are often used to bring in records from other apps or productivity tools.

What are the building blocks?

A pack is built as a Lego, it has has building blocks, each block have a different structure and target, and if assembled correctly, the result could become as beautiful and productive as far as your imagination.
Block types
import statement is used to import code parts to be used in the pack
export statement is used to export the pack you are making to be used by coda
Formulas are one of the most basic building blocks in Coda; used to calculate values, filter tables, and so much more
Function - execute
The execute function is linked to a formula
Function - external
The external function is not linked to a specific formula, sometimes refers as helper function
The primary mechanism for passing data from the user or document into your Pack is via parameters. You define the parameters in your code and the user fills them with values when they use your Pack.
One of the key use cases for Packs is integrating Coda with other apps and services, which often involves some form of authentication. When building a Pack you specify the type of authentication required by the API and Coda handles the credentials exchange, token storage, and account management.
A column format is a custom column type that you can apply to any column in any Coda table. It changes how the values within that column are interpreted and displayed, while still allowing users to quickly edit the underlying value.
Coda automatically generates user documentation for your formulas based on the names and descriptions you assign

Parameters types?

The primary mechanism for passing data from the user or document into your Pack is via parameters. You define the parameters in your code and the user fills them with values when they use your Pack. The same parameter mechanism is used by formulas, actions, and sync tables. each parameter could also be define as Array (an ordered series or parameters ) and sparse Array (A sparse array is an array of data in which many elements have a value of zero)
Parameters types
Use the String parameter to pass a plain text value
Use the Number parameter type to pass a number
Use the Boolean parameter type to pass a boolean (true/false)
Use the Date parameter type to pass a date value to your formula
Use the Html parameter type to pass text values with formatting included. Coda will convert the formatting to an equivalent block of HTML markup, and pass it to the execute function as a JavaScript String.
Use the Image parameter type to pass an image
File type for files

How to use the pack builder

Step A: The Pack builder process

The simple way is to go directly to the here and follow the steps, but before i will share the process itself with a little demo, a little bit of programming is needed, depends on the complexity of the Pack.

Step B: Continue to the pack editor

Navigate to the Pack Editor
Paste the copied result to the code section
Define the key info in the Listing section
Link to better understand the process :
Build the pack
Use the pack , sell it , make it better and create more!

About the author

Roy Portnoy, B.Sc. in Information Systems Management from Israel,
loves to create smart solutions and Coda provides me a great solutions for stand alone or prototypes. this project was create as part the Coda`s Doctorate program, with Maria Marquis in mind, so she could finally create her first Pack :)
I would love to get feedbacks, requests or examples of the packs created at

Need some help with functionality

The project does not pretend it is perfect, it is only helps to create the bone structure of a pack, sometimes, it just won`t be enough, so more professional help needed. In the future I hope to create a database of programmers as service provider which could help for a fee, as of right now I will suggest to contact me (at ) or share the bone structure on the coda form for some great community help (at )

Support this project

It is unorthodox on the Coda community to add such option, and because of this reason, I would like to add it here. Making a document that is helpful and usable is not easy or fast, so if you found it helpful inspiring or simply something you wish to grow better and deeply, please consider by me a coffee at

Have you liked this document ? click here to notify me
Want to print your doc?
This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (
) instead.