Please note: you’ll need a subscription to Airtable in order to add the Documint extension
Alright, alright, I have a bone to pick with Documint for their pretty shoddy documentation and I would like to try to remedy it with some notes of my own. As per my usual, I have sent them a message letting them know about broken links and misnaming of variables since many times documentation owners aren’t aware of every word of their stack and it can be difficult to keep track of. But after the third and then fourth mistake, combined with broken links, I was starting to get a bit fed up. I hope that this guide can save anyone else at least an hour of time and alleviate some stress.
Obtaining information from a linked record—within a linked record, within another linked record—took a bit of finagling with Documint’s clunky drag-and-drop UI, but with some work, it was easy and manageable!
The demo base I am using is a simple four table base that has ‘Summary’, ‘Species’, ‘Genus’, and ‘Family’ and categorizes three animals using linked records.
Integrating Airtable to Documint
After creating a profile in both Airtable and Documint (and making sure you have the paid subscription to Airtable) you’ll need to integrate the two softwares.
First, you’ll need to connect your Airtable base with your Documint template. You do this by creating a PAT (personal access token), you can check out Documint’s documentation on that here.
Next, you need to integrate the specific Airtable table data to your Documint template. Click the “Integrate” button and be sure to use the Generation Link option on the left hand side since I’ve been told it has more functionality.
It’s crucial to specify the level of nesting you want to achieve when creating your link in Documint:
Setting Up Airtable Columns: Adding Table_Id Information for Documint to go deeper bebe
Like the movie Inception, each linked table is a layer that Documint can delve into, provided you supply the correct table ID for your linked record column. You’ll do this by creating a formula column in the parent table (the one before the one you want to step down into).
You can obtain the table ID by copying the URL of the table you want to use:
The blue bold section is your Table_Id. Copy ‘tblFSjvvEuafBARKO’, create a formula column in your parent table, and past ‘tblFSjvvEuafBARKO’ -> WITH THE SINGLE TICKS otherwise Airtable will reject your table id as not a formula.
You’ll name this column – not the table name – but the COLUMN NAME of the linked record. For example, in my demo, I have table Family but in this table the linked record column name is ‘Family Name’ so our formula column needs to be named ‘Family Name Table_Id’:
You’ll need to do this for each parent layer as you go down. So, I have the ‘Species Name Table_Id’ in the ‘Summary Table of Animals’ table, the ‘Genus Name Table_Id’ in the ‘Species’ table, and lastly, the ‘Family Name Table_Id’ in the Genus table.
Alright, prepare yourself to be a bit frustrated with Documint’s clunky UI but it’ll all be worth it for it’s ease of use once it’s setup.
Here’s what I’ve started with. I’ll add a column in the row, and another row within the column before adding the logic.
I like to name the rows and columns based on what I am nesting INTO to keep track of it since it can get a bit confusing:
Please note that you need row -> column -> row -> column nesting because the Documint logic will have a nested loop, so the parent row loops through the top level, the next column loops through one layer down, and the next family column loops even one more layer down.
But that’s for the next step; implementing the logic.
Implementing the Logic
Click on the top layer, ‘Species Loop’, and then go to ‘edit logic’ (top left blue button):
Go to the ‘Repeat Loop’ tab, and you’ll want to add your linked record column name in snake case.
You’ll repeat this for the ‘Genus Loop’ and for the ‘Family Loop’:
Now, it’s time to add your text! You’ll want to add the variables associated with each table you’re nested in.
And there you have it!
(No animals were harmed or eaten in the process of making this document)
Hope this helps and happy programming.