For consultantsTemplates

Pull key facts into a table, for consultants

Pull the facts you name out of a text into a table, one row for each item, copying every value as written, quoting where each came from, and marking every fact the text does not give as Not stated.

This is the version for consultants. The steps and checks are the same as in the general template; each prompt carries one added line about your setting, and the examples are from your kind of work.

Sample results: runs and scores on this page are illustrations while testing is set up. How we test

  • Who it is for: Independent consultants and small-firm partners who read a client's contracts, quotes, plans and emails and need the facts side by side in one table.
  • Time: 10 minutes

Download it, in the format you use

  • Prompt chain

    Copy each step into ChatGPT or Claude, one after another.

  • Checklist

    Follow the steps and check off the checks by hand.

  • Claude skill

    A folder Claude loads, so it follows the steps by itself.

  • n8n file

    Import into n8n and connect your own AI account.

Using a download:How to use this in n8nHow to install a Claude skill

How it runs

Select a part to see its prompt, input, output and check.

The same job, with and without the template

Sample

One plain prompt

Pull the cost, renewal date, notice period and contact for each contract in this email into a table. Use only the email. (The same email is pasted below.)

Swipe sideways to see all columns

ContractCostRenewal dateNotice periodContact
Cleaning2,400 dollars a month (28,800 dollars a year)April 1 to March 31 next year60 days' noticeNot stated
Security monitoring9,600 dollars a yearRenews every January 160 days' noticePriya, priya@example.com
IT support1,850 dollars a month (22,200 dollars a year)Renews each July 190 days' written noticeMarcus, 555-0172
Problem:It adds yearly totals that are not in the email (28,800 and 22,200 dollars) and gives the security contract the cleaning contract's 60 days' notice, so one gap is filled by a guess.

With this template

The same input, run through the steps.

Swipe sideways to see all columns

ItemCostRenewal dateNotice periodContact
Cleaning2,400 dollars a monthruns from April 1 to March 31 next year60 days' noticeNot stated
Security monitoring9,600 dollars a year, paid in advancerenews every January 1Not statedPriya at priya@example.com
IT support1,850 dollars a monthrenews each July 1write 90 days before to stop itMarcus at the IT desk on 555-0172

Not stated: Cleaning, contact. Security monitoring, notice period.

  • Check:Every passage is quoted word for word from the text: Three passages, one for each contract, each quoted word for word from the text.
  • Check:Every quote is word for word from the text: Twelve rows, one for each contract and fact; each quote is word for word from the text, and the two gaps say None found.
  • Check:Every number in the table is in the text: Every number in the table (2,400, 1, 31, 60, 9,600, 1,850, 90, 555 and 0172) is in the text.
  • Check:Every value is exactly as the text writes it: All twelve values are as the text writes them, and the two Not stated rows have no answer in the text.
  • Check:The table ends with a Not stated line: The last line starts with Not stated: and names the two gaps.
  • Check:The table matches the items and the facts: Three rows, one for each contract, and four fact columns in the order asked; every cell matches the facts table.
  • For your read:You check the cells against the text: Will you check the IT notice period against the email and ask the client who looks after the cleaning contract?

Runs and scores

Sample

Claude, Sonnet model

October 4, 2026, typical sample

  • Check:Every passage is quoted word for word from the text

    Three passages, one for each contract, each quoted word for word from the text.

  • Check:Every quote is word for word from the text

    Twelve rows, one for each contract and fact; each quote is word for word from the text, and the two gaps say None found.

  • Check:Every number in the table is in the text

    Every number in the table (2,400, 1, 31, 60, 9,600, 1,850, 90, 555 and 0172) is in the text.

  • Check:Every value is exactly as the text writes it

    All twelve values are as the text writes them, and the two Not stated rows have no answer in the text.

  • Check:The table ends with a Not stated line

    The last line starts with Not stated: and names the two gaps.

  • Check:The table matches the items and the facts

    Three rows, one for each contract, and four fact columns in the order asked; every cell matches the facts table.

  • For your read:You check the cells against the text

    Will you check the IT notice period against the email and ask the client who looks after the cleaning contract?

Fixed: Nothing needed fixing: every check passed on the first pass.

Met 7 of 7

1 of these is for your read: the tool hands it to you.

ChatGPT, GPT model

October 5, 2026, tricky sample

  • Check:Every passage is quoted word for word from the text

    Three passages, one for each phase, each quoted word for word from the text.

  • First pass failed:Every quote is word for word from the text

    The quote for the start of Phase two read begins on November 16, which is not in the text word for word.

  • Check:Every number in the table is in the text

    Every number in the table (12,000, 6, 5, 18,000 and 16) is in the text.

  • Failed:Every value is exactly as the text writes it

    The pilot's end date reads November 6; the text corrects it to November 13.

  • Check:The table ends with a Not stated line

    The last line starts with Not stated: and names the five gaps.

  • Check:The table matches the items and the facts

    Three rows, one for each phase, and four fact columns in the order asked (cost, end date, start date, region); every cell matches the facts table.

  • For your read:You check the cells against the text

    Will you check the pilot's end date against the update at the end of the text?

Fixed: The facts step ran again once and quoted the start of Phase two word for word, which cleared the first failure. It still used November 6 for the pilot's end date, so the values check failed again and the run stopped there and flagged it for you.

Met 6 of 7

  • Not met:Every value is exactly as the text writes it: The pilot's end date still reads November 6; the text corrects it to November 13.

1 of these is for your read: the tool hands it to you.

n8n, import format 2.20

October 6, 2026, easy sample

  • Check:Every passage is quoted word for word from the text

    Two passages, one for each interview, each quoted word for word from the text.

  • Check:Every quote is word for word from the text

    Six rows, one for each interview and fact; each quote is word for word from the text, and no row says None found.

  • Check:Every number in the table is in the text

    Every number in the table (6, 10, 7 and 2) is in the text.

  • Check:Every value is exactly as the text writes it

    All six values are as the text writes them, and no row is marked Not stated.

  • Check:The table ends with a Not stated line

    The last line reads Not stated: none.

  • Check:The table matches the items and the facts

    Two rows, one for each interview, and three fact columns in the order asked; every cell matches the facts table.

  • For your read:You check the cells against the text

    Will you check the dates and times against the email before you put them in a calendar?

Fixed: Nothing needed fixing: every check passed on the first pass.

Met 7 of 7

1 of these is for your read: the tool hands it to you.

The steps, and the check on each

  1. Step 1: List every item

    Find each item the text is about and quote the words that introduce it, before any fact is pulled out.

    Hands back: A table with one row for each item and the passage that names it.

    Check:Every passage is quoted word for word from the text

    A plain rule. If it fails, run the step again (the n8n file does this for you).

  2. Step 2: Pull each fact for each item

    For every item and every fact the reader named, copy the value as written and quote the words it came from.

    Hands back: A table with one row for each item and fact, a value copied as written and the quote it came from, or Not stated.

    Check:Every quote is word for word from the text

    A plain rule. If it fails, run the step again (the n8n file does this for you).

  3. Step 3: Lay out the table

    Turn the rows into one table with a row for each item and a column for each fact, without changing a value.

    Hands back: One table with a row for each item and a column for each fact, and a line listing what the text does not say.

    Check:Every number in the table is in the text

    A plain rule. If it fails, run the step again (the n8n file does this for you).

After the last step

  • Check:Every value is exactly as the text writes it

    A second look by the AI. If it fails, run the step again (the n8n file does this for you).

  • Check:The table ends with a Not stated line

    A plain rule. If it fails, run the step again (the n8n file does this for you).

  • Check:The table matches the items and the facts

    A second look by the AI. If it fails, run the step again (the n8n file does this for you).

  • Check:You check the cells against the text

    You check this one. If it fails, it is flagged for you.

What you need first

  • The text to read(needed)

    Paste the text as it stands. Every value in the table will come from these words and no others.

  • The facts to pull out(needed)

    List them in the order you want the columns, separated by commas.

  • What each row is(needed)

    Name the thing the facts are about. There will be one row for each.

Ways to adapt it

  • The middle step keeps a long table with one row for each item and fact, and a quote beside each value. Keep it if you want to check a cell, or paste it into a spreadsheet and sort it.
  • A value is copied as written, so "free" stays "free" and "from 2 pm" stays "from 2 pm". To get one format, such as numbers only, do that as a second pass after you have checked the table.
  • If a text gives two versions of one fact, the template uses the latest one. To keep both, say so in the second step's rules and in its check.
  • For a long text, run it one section at a time and join the tables, so every item gets a row.
  • A cell marked Not stated may still be true; it only means this text does not say.

Change any step or check in the Editor, then download it again.

Words that fit consultants

  • Not stated means this document is silent, not that the answer is no. Ask the client before you fill the cell in your report.
  • A value is copied as the client wrote it, so "60 days' notice" stays as written and is not turned into a number of weeks.
  • Where the client corrects an earlier line, the table uses the latest version and quotes it.
  • Monthly and yearly costs stay as written. Work out any total yourself, after the table is checked.
Try it with a sampleSample

Three contracts and four facts each; two facts are never stated (a contact for the cleaning contract and a notice period for the security contract), and the costs are given by the month and by the year.

The text to read
Here are our three service contracts. Cleaning with the facilities company runs from April 1 to March 31 next year and costs 2,400 dollars a month. Either side can end it with 60 days' notice. Security monitoring renews every January 1 and costs 9,600 dollars a year, paid in advance. Our account manager there is Priya at priya@example.com. IT support costs 1,850 dollars a month and renews each July 1. We must write 90 days before to stop it. Call Marcus at the IT desk on 555-0172 for anything urgent.
The facts to pull out
cost, renewal date, notice period, contact
What each row is
each contract

The scoring guide

Sample

One criterion for each check, marked met or not met. (The guides in Quality rate a whole piece of work on three levels.) Under each one is how the three sample runs scored.

Download the scoring guide (Markdown)

  • Every passage is quoted word for word from the text

    A plain rule

    Meets:Every passage in the table is found word for word in the text.
    Does not meet:A passage has been reworded, or is not found word for word in the text.
    Claude:Met
    ChatGPT:Met
    n8n:Met
  • Every quote is word for word from the text

    A plain rule

    Meets:Every quote beside a value is found word for word in the text, or the row says None found.
    Does not meet:A quote has been reworded or is not in the text word for word.
    Claude:Met
    ChatGPT:Met
    n8n:Met
  • Every number in the table is in the text

    A plain rule

    Meets:Every number in the table is also in the text.
    Does not meet:A number in the table is not in the text, such as an end time or a total that was worked out.
    Claude:Met
    ChatGPT:Met
    n8n:Met
  • Every value is exactly as the text writes it

    A second look by the AI

    Meets:Every value is written as the text writes it, the latest version is used where the text corrects itself, and a row marked Not stated has no answer in the text.
    Does not meet:A value has been rounded, reworded or reformatted, an old figure is used after a correction, or a gap has been filled from another row.
    Claude:Met
    ChatGPT:Not met
    n8n:Met
  • The table ends with a Not stated line

    A plain rule

    Meets:The table ends with a line that starts Not stated: and lists each gap, or says none.
    Does not meet:The line is missing, or it leaves out a gap that is in the table.
    Claude:Met
    ChatGPT:Met
    n8n:Met
  • The table matches the items and the facts

    A second look by the AI

    Meets:The table has one row for each item and one column for each fact in the order asked, and every cell matches the facts table.
    Does not meet:A row or column is missing, added or out of order, or a cell differs from the facts table.
    Claude:Met
    ChatGPT:Met
    n8n:Met
  • You check the cells against the text

    You check this one

    Meets:You checked three cells against the text and decided what to do about each Not stated cell.
    Does not meet:The table is passed on without a cell being checked against the text, or a Not stated cell is read as if the fact were false.
    Claude:For your read
    ChatGPT:For your read
    n8n:For your read

Claude: met 7 of 7 (including 1 for your read)

ChatGPT: met 6 of 7 (including 1 for your read)

n8n: met 7 of 7 (including 1 for your read)

Learn from this template

The facts step hands the table step rows in one fixed shape: item, fact, value and the words it came from. Because the shape is fixed, the table step can lay the rows out without changing a value, and a rule can check every cell.

Where to see it: step 2 (Pull each fact for each item); step 3 (Lay out the table).

Read the guide: Hand-offs

Which one fits?

Related templates

All for Consultants

Analyze

Write

Review

Last run
October 6, 2026: n8n, import format 2.20 (sample run)
Tools and versions
Claude, Sonnet model; ChatGPT, GPT model; n8n, import format 2.20
What was checked
The files, against each tool’s import format, and 3 sample runs, each check’s finding recorded.
Version
1.0
What changed
First release.

Report a problem with this templateHow we test