Photo by Headway on Unsplash

Setting up HR docs in Coda

How to organize data and data input in Coda

Christiaan Huizer
6 min readJust now

--

This past early summer, I began developing a People doc . This document serves as a central repository of information about each employee, including their department, role, start date, and potential end date.

The People Doc became the foundation for my HR data extraction process. I built a system of interconnected documents around it to handle various aspects of HR management like:

  • PTO (Paid Time off) : To track and manage part-time leave requests related to holidays and sick leave.
  • Chart doc: To outline the company’s hierarchy and reporting relationships.
  • Policies document: To store and organize company policies, such as those related to expense management.

All these documents are interconnected and ultimately feed information back into the central HR Hub. This creates a comprehensive and accessible source of truth for HR-related data, including holidays, expenses, complaints, and other relevant matters.

In what follows, I will delve deeper into specific challenges and solutions encountered while setting up this system.

related docs

The role of tables

I wrote earlier that in Coda, tables serve a dual purpose and here I add a third option:

  1. Data Storage and Retrieval: The default table view excels at this.
  2. Data Presentation: This includes timelines, cards, charts, etc.
  3. Data calculation: These tables are designed to perform specific calculations or data manipulations. They act as intermediaries, taking data from storage tables, processing it, and potentially feeding results back into other tables or visualizations.

To illustrate the power of calculation tables, let’s imagine we want to proactively celebrate employee birthdays. We start with a central table to store all important dates: birthdays, start dates, promotion dates, contract renewals, and so on.

Then, we create a dedicated “birthday calculation table.” This table pulls birthdate information from our main table and uses formulas (or even external tools like Packs or webhooks) to calculate the next working day for each employee’s birthday. This allows us to automatically notify their manager in advance.

Why are calculation tables so helpful?

  • Organization: They keep complex calculations separate, making your documents cleaner and easier to understand.
  • Efficiency: Once you’ve built a calculation, you can easily reuse it across different docs or for different purposes.
  • Flexibility: Updating or changing your calculations becomes a breeze, without impacting your core data or how it’s displayed.

By following the simple principle of “one table, one task,” especially for calculations, you’ll build a more reliable and adaptable data system in Coda. This approach is a game-changer for anyone who wants to do more with their data.

Entering data

Many people experience “table fear” (or perhaps more accurately, “data fear”) — a reluctance to interact with data, especially in tables or spreadsheets. They might feel intimidated by the structure, unsure how to manipulate information, or worried about making mistakes.

This aversion can hinder productivity and prevent people from fully utilizing the power of data. So, how can we overcome it?

There are two effective strategies:

  1. Provide modals and automation: Create pre-built modals with clear instructions and even automated actions (like buttons that finalize entries). This simplifies the process and reduces the perceived complexity of interacting with tables.
  2. Separate data entry from data management: For those with a stronger aversion, offer user-friendly forms for data input. These forms can exist outside the main data tables, making the experience more approachable. Behind the scenes, you can use formulas and automations to transfer and process the data correctly.

These approaches allows everyone to contribute valuable information without feeling overwhelmed or intimidated by the underlying data structure. By acknowledging and addressing “data fear,” we can empower people to embrace data-driven decision-making and unlock its potential.

Linking docs & sync pages

Coda offers two main ways to share information between documents: Cross-doc and Sync Pages.

  • Cross-doc: This feature lets you sync entire tables between documents. You can now bring in a full table and filter it directly in the document you’re working in. Two-way syncing is also available, allowing you to make changes in either document.
  • Sync Pages: This feature syncs entire pages, including text, images, and tables. It works like embedding, and while you currently need access to both documents to edit, the plan is to allow editing even without access to the original.

Challenges

Both tools have some quirks.

  • Cross-doc: Hiding data brought in via Cross-doc can be tricky due to how the search function works. This is something to consider when dealing with sensitive information. Filtering data in a Cross-doc table requires using the containsText() formula, which can be less intuitive than filtering within the original document. Last, column names change and thus differ from the names in the source doc.
  • Sync Pages: While the basic functionality works, there are some limitations. For example, interactive elements like filters created in the source document might not work in the synced page, unless you have access to both docs.

Managing confidential information and sharing

The HR department often handles sensitive data that needs to be kept confidential. To share necessary information with the rest of the organization while maintaining privacy, we use Coda’s Cross-doc tables and Sync Pages within our “HR Hub.”

Each Coda workspace includes a private folder named ‘My docs’. It’s a good practice to use this folder exclusively for personal documents that you don’t intend to share. This creates a clear separation and helps you easily identify which documents are private. By the way, you cannot rename this folder.

My docs

After setting up your private repository, managing shared documents becomes much easier. The structure I propose, with dedicated folders for team and organization-wide documents, streamlines organization and access control. This approach also reinforces the concept of a private workspace for personal files, which I mentioned earlier.

Team documents

Create separate folders for each team (e.g., Finance, Marketing, Sales) to store their specific documents, such as meeting notes and project plans. Remember to update folder permissions whenever team membership changes.

Organization-wide documents

These documents are accessible to everyone in the workspace. Use a clear folder name like “Main,” “All,” or “Org Hub” to store these shared resources. Consider locking these documents by default to prevent accidental edits. The Hub docs I talked earlier about are put in this folder.

consider a coda enterprise plan

Coda Enterprise Plan

For enhanced workspace organization, consider the Enterprise plan. It offers advanced admin tools, which are especially valuable for larger organizations (200+ employees). These tools provide greater control and oversight.

Key advantages of the Enterprise plan include:

  • Enhanced administration: More robust tools for managing your workspace.
  • Signed DPA: Ensures compliance with data protection regulations like GDPR.
  • Expanded pack access: Includes a wider range of integrations.
  • Hands-on support direct from Coda
  • Coda Brain is an upcoming AI platform designed to revolutionize how you work with information in Coda. While not yet released, it promises to be a powerful tool for finding insights and automating tasks.

Organizations utilizing the Enterprise plan may benefit from an internal dedicated Coda expert. This person would manage the workspace and assist teams in creating effective documents, requiring a blend of administrative and technical skills.

It’s important to note that the Enterprise plan doesn’t offer enhanced document-level permissions or extra features beyond those listed above.

I hope this article was informative and helpful. Did it help you to solve a problem you unlike would have solved other ways? What about a donation?

My name is Christiaan, and I regularly blog about Coda. While this article is free, my professional services (including consultations) are not, but I’m always happy to chat and explore potential solutions. You can find my free contributions in the Coda Community and on X. The Coda Community is a fantastic resource for free insights, especially when you share a sample doc.

--

--

Christiaan Huizer

I write about how to Coda . You find blogs for beginners and experienced makers. I publish about 1 / week. Welcome!