Skip to content
Draft - Airtable FactChecking Tutorial

icon picker
Madison's super dope fact-checking template and tutorial

Featuring even more Taylor Swift GIFs.


Hello and welcome to your Accuracy Era

My name’s Madison and I’ll be your host this evening.
On this page, I’ll explain how to use the super dope fact-checking template I created on Airtable and go over some general principles that I believe any good fact-checking system needs.
Side note: If you’re looking for my FOIA organization tutorial, go here instead:

On this page I will:
Explain why you need a fact-checking system and go over some general principles for any process you adopt
Go through an example fact-check with my Airtable template to teach you how to use it
Drop a crazy amount of Taylor Swift references that’ll make you cringe, and tons more that you don’t even pick up on

You (pictured above) after completing this tutorial

You’ll need:
A story to fact-check (or at least the general understanding of what that process might look like - you can always follow along with I’m using)
An Airtable account (can be the free version and you don’t need to already know how to do anything with it)
Patience. Fact-checking sucks no matter how you do it, but if you get through this I guarantee you will feel MUCH better the night before publication. You might even actually sleep!

Still need some convincing?

Watch the video to the right or read the next section to get the top reasons why I <3 this fact-checking system, and you will too.

Okay let’s do this...

1,2,3.. LGB!!!

Fact-checking 101 ​I cry a lot but I am so productive... it’s a (fact-check)

Okay give it to me straight – why should I give a shit about fact-checking this much?

Because if you don’t fact-check you could seriously risk the credibility of your story, your career and bring shame upon the journalism industry at large, further eroding the public’s trust in the fourth estate.

Well that’s dramatic.... maybe you should consider calming down a bit??

Okay fine. So when should I use this? Like for every single story?

This process can be used to check stories of any length/complexity but I made it particularly to use on those large investigative projects that are just a total pain in the pass to fact-check. The ones you report out for months (or even years!) and then the time comes to finally sit down and write your draft and it’s a nightmare to try and find + keep track of SO much source material.
Basically - fact-checking is always going to suck. This process might make it suck less though.

Okay I guess I’m on board for the idea of this... but you’re whole Airtable system looks like a serial killer’s stalker wall. How do I just make a simple version?

I fully support you doing this in any format that makes sense. I used to do this all on paper and killed so many trees in the process but it brought great happiness to my old man editors who didn’t have to squint at a screen to see a source document. (To any of my old editor’s reading this right now - that def wasn't about you. That was a comment on my other, wayyyyyy older editors.)

Here’s what I think any good fact-checking system needs to succeed:

The actual Airtable tutorial steps ​I got a list of (facts) and your’s is in red underlined

Before we get into it, some super quick housekeeping.

And finally, here are some quick tips on using this page

I’ve created videos for all of the tutorial steps - but I’m no master video editor. Use them to follow along with the steps if you want, but it isn’t necessary and don’t expect too much.
Whenever you see a little arrow next to a heading, that means you can collapse/expand the instructions underneath
See the for troubleshooting tips and more details on all the in the Airtable base

Step 0: Get your draft into Airtable ​It won’t start up ‘till you touch, touch, touch (import)

The first thing we need to do is get your draft out of Google Docs or Word or wherever it is and get it into a format that will play nicely with Airtable. To do so, we need to make a few quick tweaks to the Google Doc so it’ll play nicely in a spreadsheet format.
There’s a techy way we can do this that is pretty quick, but if you don’t want to mess around with all that and just want to get it done – you can always just copy/paste from your draft into Airtable. It’ll take some time but you’ll know you did it right the first time at least, which is doep and... Keep it Simple, Stupid.
But for those of us who just can’t keep it simple – we can do some “Replace All” text commands to your draft and turn it into a messy spreadsheet relatively quick.
Tutorial video is on the side, detailed instructions below.

0A) Copy and paste your draft into a text editor

0B) Use “Replace All” to separate out sentence

Press Command-F to search text, then check the box in the upper right corner next to “Replace”
In the spot for the text to search type a period then press the magnifying dropdown and select Insert Pattern. Then select White Space.
I’m not totally sure what I’m even doing here but my hope is that this captures any spaces followed by periods, aka the end of one sentence and the start of another, and a sentence at the end of the paragraph where it ends with a period then a line break. So far it’s worked but if there’s some massive hole in this logic please lmk.
In the spot for what to replace the text with insert this text:
Then select insert pattern then line break
The whole thing should look like the image below:
2024ot-06-03 - 20-25 - CleanShot - TextEdit- MH_Fact_Check.txt.jpg
Click the All button in the top right
Clean up any weird stragglers that got chopped off in the conversion (For example, mine created a new line in the middle of St. louis because of the period, so I deleted that line break by hand
Select File > Save, name it and save it as a .txt file
Example Screenshot
2024ot-06-03 - 20-29 - CleanShot - TextEdit- Save.jpg

0C) Upload it to Google Sheet to check it out

Create a new Google Sheet
Select File > Import from the menu bar
Select the Upload tab and drag and locate the txt file you just created
On the next screen make the following selections from the drop-down menus
Import Locations
Replace current sheet
Separator Type
Select: Custom
Type in <
Select Import Data
Optional: Create a new row at the very top and put Story Lines in cell A1 (or whatever you want, it really doesn’t matter)
Select File > Download> CSV

0D) Make a copy of the template Airtable base and import your story lines

Open up the link to the
Select Copy Base in the upper lefthand side
Congratulations, you have your very own Airtable Fact-checking base - Yay!
Next let’s get your CSV of story lines into the main table - “Draft Story Lines”
Note: If you did not go the CSV route, look at the video at the top of this section to see how to get your story lines into the system through an Airtable form.
Back on the main Airtable base, make sure you are on the Data tab.
Then Select the arrow on the title of the Draft Story Lines tab
Select Import Data then CSV
Upload the CSV you downloaded of your story lines
Near the bottom of the pop up window after you select Upload, click on Map Fields
At the top, you should match the Draft Story Lines field on the left with the Story_Lines field we created in Google Sheets (in hindsight we def did not need to add in a header row in Google Sheet, but oh well, it’s too late to go back now)
In the bottom right corner, select Other settings and click the Exclude first row in import option on
Select Import

And Huzzah!!!! You now have all of your story lines in Airtable!!! I hope you feel accomplished because that was a pain in the ass. But also because it’s only going to get more painful from here, so let this win be your motivation to power through.

Step 1: Categorize your sentences (if you want) + Assign facts I got a blank space baby, and I’ll write some (facts)

Okay now it’s really go time. Before we get into it, here is a very high-level overview of what we are going to do with this fact check:

1A) Categorize

On your Airtable base, select Interfaces from the menu at the top.
This should take you to a dashboard page, but if it drops you somewhere random, don’t worry about it. Either way, click on the arrows on the yellow bar along the lefthand side to expand the side menu. Then select Round 1: Draft Story Lines, which should bring up a drop down menu. Select 1) Add Lines + Facts.
Now you should see a list of all your draft story lines down the center/left part of the page, with the details of one of the sentence records showing on the righthand side. This is where we’re going to spend some time.
The first thing you are asked to do is categorize your Draft Story Line. This is totally optional but recommended. For each different record type in this tutorial (story lines, facts and sources) you’ll have two built-in category options. For me, it really depends on what the story is for how I use these. Sometimes I use them as main categories and subcategories (i.e. “Data” for the first tier and “Payments data” for the second) or I use one for a topic category and the other for a location (i.e. “City response” and “Section 3”). The point of this is to:
A) Group your sentences/facts in a way that will make it easier to work on similar areas of the fact-check at once and
B) Allow you to quickly find facts/sentences after they have been moved around so many times in your draft that your initial order you imported them in doesn’t make sense to you anymore
To select categories or add new ones, use the drop down menus.

1B) Then we’re going to assign the facts.

This is a biggie – really the crux of the whole system. The gist of it is that we are going to look at each of the Draft Story Lines and write all of the sentences that need to be true in order to make the Draft Story Line true. We do this for everything explicitly said as well as anything implied by the Draft Story Line. However, at this point we are not considering the context of where this Draft Story Line is placed in the draft. We’ll get to that later.
The point of all of this is to create a very thorough database of simple and clear facts that can stand alone. Then, you can use the database as way to quickly fact check your final draft or any other stories that come later. Don’t worry about fact checking these statements right now, that’ll come in the next step. For now, just write it as you see it.

There are technical instructions on how to add new records on the Airtable interface. So to work through the conept, let’s look at an example from our fake AI generated article on (who had a fabulous time ruining everything).
The first story line of this article is:
“Rebekah Harkness, the heiress known for her extravagant lifestyle and societal impact, passed away leaving a legacy both celebrated and controversial.”
Now, we write all of the sentences that are needed to make this true. Write these in the simplest possible way that makes sense to you and try to keep it to one fact per sentence. For example, here are the facts I came up with for this this sentence:
Rebekah Harkness was an heiress.
Rebekah Harkness was known for her extravagant lifestyle.
Rebekah Harkness was known for her societal impact.
Rebekah Harkness died.
When Rebekah Harkness died, she left behind a celebrated legacy.
When Rebekah Harkness died, she left behind a controversial legacy.
Once you’re done with your first Draft Story Line (or the example), check the box next to Are all facts assigned? at the end of the page and move on to the next sentence.
Good News: It gets easier as you go. You can resuse facts from previous sentences – taht’s the point to a lot of this. So you don’t need to make new records for a fact that you have already created for a previous sentence. For example, pretend we are fact checking the second sentence of our example article:
“Born in St. Louis, Harkness rose from middle-class roots to marry Bill Harkness, heir to the Standard Oil fortune, propelling her into the elite echelons of American society.”
I would probably want to include the fact statemnt “Rebekah Harkness was an heriess” to support this statement, as opposed to writing a new one that says the same thing. To link to an existing record in Airtable, click + Add Record button and then use the search bar to find the existing fact and link to it.

When you’re done with all the the facts, move on to Step 3.

Step 2: Back those facts up ​The (findings) are terrible and cruel but honey most of them are true

Now it’s the real grind. Settle in, this will take some time.
Once you have assigned facts for all of your Draft Story Lines, go back to the yellow sidebar on the left side and select 2) Back those facts up (still under Round 1). Now, we’re going to work down this list the same way we did with Step 1.

2A) Categorize the fact (if you want)

This is the same deal as the Draft Story Lines - use these however you want or not at all. For my purposes, I usually focus on categorizing the facts more than story lines or sources because your facts database is really what everything comes back to.

2B) Select existing sources or add new ones

Going back to our example, let’s look at the first fact statement we wrote.
Fact: Rebekah Harkness was an heiress.
Now, I’m going to go find all my sources for this fact.
I found multiple news articles to back up this fact, so I am going to create a new record for each of those and make notes about where exactly to look in the next step. What’s nice about this is that once you are done, you’ll be able to look backward and see all of the facts that are attributed to each fact (which ideally will be more like FOIA responses and data analyses than socialite/heiress news clips, but you get the point). This is dope because you can see
A) If you have a disproportionate amount of facts relying on one source and
B) Act efficiently to fix things and identify which facts need to be re-checked if one of your sources falls through
Note: Hypothetically I was actually reporting on this I would ideally have some better sources. So don’t judge me for the quality of this.

2C) Write your notes/concerns

Step 3) Fix what you got wrong ​I can fix (it) no really I can...

We’re soooo close to being done!
Now it’s time to go back and fix any sentences that relied on facts that you changed during Step 2.
When you’re totally done with Step 2, select Step 3) Fix what you got wrong from the sidebar.

3A) Fix the sentences


Round 2) Pat yourself on the back... and eventually do the final draft. ​Is it over now?

You did it! For real - this is the hard part and you’re done. Have some wine, you fucking deserve it.
Then.... come back and get going on the final draft.

Final Draft

I’m not going to go through the whole process on this one, but Round 2 is essentially the same thing as Round 1, just faster and easier. When you have an absolute final draft (locked from any edits from that one editor who just wants to pop in and make a few tiny little edits at 11pm before you publish the next day), you can go through the same process to import lines into the Final Story Lines table and go through the process.

There are two big differences to keep in mind with this round

1) This should go much faster

Wrapping Up and FAQ ​You’re on your own kid

Okay I know ya’ll have got to be super sick of me by this point so I wont keep going. But a couple things you need to know:

That’s all for me folks! I’m gonna go do an ice bath to recover from the sympathy stress pains I experienced just going through a make-believe fact check with you. You should have some (more) wine. You deserve it.

I guess I’m going to go be a normal adult now and not build super niche Taylor Swift-themed journalism tech techniques. Sounds lame though.
Want to print your doc?
This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (
) instead.