Find themes in comments or interview notes, for nonprofit and public sector teams
Read a set of comments, survey answers or interview notes, label each one, group the labels into themes, then count each theme and back it with two real quotes.
This is the version for nonprofit and public sector teams. 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: Program officers, communications staff and analysts in nonprofits and public agencies who report what residents, clients, volunteers or staff said in open comments.
Select a part to see its prompt, input, output and check.
Runs on each piece
The same job, with and without the template
Sample
One plain prompt
What are residents saying about the proposed change to the bus route? (The same 20 comments are pasted below.)
Residents have mixed views on the proposed route change. Many are worried about losing stops that matter to them, especially the clinic and the senior center. Several would welcome longer service hours, including evenings and weekends. A few say they only heard about the plan late or could not find information about it, and some praise the drivers.
Overall, residents like the idea of more service but want the stops they depend on kept and clearer communication from the county.
Problem:It gives no counts and no quotes, calls the notice problems 'a few' though 5 of the 20 comments raise them, and merges evening and Saturday service, so two different views on hours blur into one.
With this template
The same input, run through the steps.
Swipe sideways to see all columns
Theme
Count
Quote 1
Quote 2
Losing the clinic and senior center stops
5
The new route skips the clinic and that is the stop I use most.
The senior center stop is the only one with a bench and a shelter.
Late notice and hard-to-find information
5
I only found out about this plan from a neighbor, not from the county.
The meeting notice came two days before the meeting, too late.
Evening service
4
I support more evening buses, I work until 8.
Evening service would let me take the night class at the community college.
Saturday service
3
Buses on the Saturday schedule are so rare that I do not bother.
Saturday service is the real problem, not the route.
Friendly, on-time drivers
2
Drivers are friendly and patient with my wheelchair ramp.
Drivers are always on time on my route.
One-off comments: Why are you changing a route that works for people like us?
Total comments counted: 20
Check:Every quote is really in the comments: All 20 quotes are found in the list of comments.
Check:Every theme names its comments: Five themes list their comment numbers, and one comment stays a one-off.
Check:Every first quote is really in the comments: Five first quotes, each found word for word.
Check:Every second quote is really in the comments: Five second quotes, each found word for word.
Check:Every theme has a count and two quotes: All five themes have a count and two quotes.
Check:The total matches the number of comments: 5 + 5 + 4 + 3 + 2 plus 1 one-off comment makes 20.
For your read:The themes fit what people said: Would a resident who wrote one of these comments find it under the right theme?
Runs and scores
Sample
Claude, Sonnet model
October 4, 2026, typical sample
Check:Every quote is really in the comments
All 20 comments are labeled, and every quote is found in the list.
Check:Every theme names its comments
Five themes list their comment numbers, and one comment stays a one-off.
Check:Every first quote is really in the comments
Five first quotes, each found word for word.
Check:Every second quote is really in the comments
Five second quotes, each found word for word.
Check:Every theme has a count and two quotes
All five themes have a count and two quotes.
Check:The total matches the number of comments
5 + 5 + 4 + 3 + 2 plus 1 one-off comment makes 20.
For your read:The themes fit what people said
Would a resident who wrote one of these comments find it under the right theme?
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, easy sample
Check:Every quote is really in the comments
All 10 comments are labeled, and every quote is found in the list.
Check:Every theme names its comments
Two themes list their comment numbers, parking and the helpful session, and one comment stays a one-off.
Check:Every first quote is really in the comments
Two first quotes, each found word for word.
First pass failed:Every second quote is really in the comments
The second quote for the helpful session read "The coordinator made my role clear", which is not in the comments word for word.
Check:Every theme has a count and two quotes
Both themes have a count and two quotes.
Check:The total matches the number of comments
5 + 4 plus 1 one-off comment makes 10.
For your read:The themes fit what people said
Do the two themes say what the quotes say, and is the comment about length worth its own line?
Fixed: The count step ran again with the rule to copy quotes word for word, and the quote now reads "The coordinator explained my role clearly." Nothing else changed.
Met 7 of 7
1 of these is for your read: the tool hands it to you.
n8n, import format 2.20
October 6, 2026, tricky sample
Check:Every quote is really in the comments
All 14 comments are labeled, and every quote is found in the list.
Check:Every theme names its comments
Five themes list their comment numbers, and one comment stays a one-off.
Check:Every first quote is really in the comments
Five first quotes, each found word for word.
Check:Every second quote is really in the comments
Five second quotes, each found word for word.
Check:Every theme has a count and two quotes
All five themes have a count and two quotes.
First pass failed:The total matches the number of comments
The first count put comment 7 in three themes, so the counts and the one-off came to 16, not 14.
For your read:The themes fit what people said
Does the long comment about the history screen, the freezing and the training sit under the theme you would pick?
Fixed: The workflow sent the count step back once with the one-theme rule restated: comment 7 stays in its first theme, so the counts are 3, 3, 3, 2 and 2 plus 1 one-off, a total of 14.
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: Label each comment
Give every comment a short label that says what it is about.
Hands back: A table with every comment, its number and its label.
Check:Every quote is really in the comments
A plain rule. If it fails, run the step again (the n8n file does this for you).
2
Step 2: Group the labels into themes
Join labels that mean the same thing into a small number of themes.
Hands back: A table of themes with the comment numbers in each, and a list of one-off comments.
Check:Every theme names its comments
A plain rule. If it fails, run the step again (the n8n file does this for you).
3
Step 3: Count each theme and pick two quotes
Count the comments in each theme and back each theme with two real quotes.
Hands back: A table of themes with a count and two quotes each, and a total.
Check:Every first quote is really in the comments
A plain rule. If it fails, run the step again (the n8n file does this for you).
After the last step
Check:Every second quote is really in the comments
A plain rule. If it fails, run the step again (the n8n file does this for you).
Check:Every theme has a count and two quotes
A plain rule. If it fails, run the step again (the n8n file does this for you).
Check:The total matches the number of comments
A second look by the AI. If it fails, run the step again (the n8n file does this for you).
Check:The themes fit what people said
You check this one. If it fails, it is flagged for you.
What you need first
The comments(needed)
Paste the comments with one comment on each line. Remove names and other personal details first.
What you want to learn(needed)
The question the comments were collected to answer, or what you need to decide.
Ways to adapt it
To report themes by group (for example by team or by month), add the group to each comment line before you paste and add a Group column to the first table.
To change how many themes you get, change the numbers in the Group step's rules.
For a large set of comments, run the Label step on batches of 50, then paste all the labels into the Group step.
If the quotes are too long for your report, add a word limit to the Count step's rules, but keep the check that quotes are copied exactly.
Change any step or check in the Editor, then download it again.
Words that fit nonprofit and public sector teams
Residents, clients, participants and members are the people who commented; use the word the comments themselves use.
A comment taken at a public hearing or from a public comment period is on the record, so quote it exactly as written and leave its wording alone.
A theme says what people said, not what the agency should do; keep recommendations out of theme names.
Twenty short comments, one per line, with about five themes, one comment that touches two themes and one that fits no theme; a mix of support, worry and praise.
The comments
The new route skips the clinic and that is the stop I use most.
I support more evening buses, I work until 8.
Buses on the Saturday schedule are so rare that I do not bother.
Please keep the stop outside the senior center.
The clinic stop needs to stay. My mother has dialysis three times a week.
Evening service would let me take the night class at the community college.
The online route map is confusing and I could not tell whether the clinic stop is closing.
Drivers are friendly and patient with my wheelchair ramp.
I only found out about this plan from a neighbor, not from the county.
A flyer at the stops would have helped, I do not use the website.
Saturday buses run once an hour at best.
The senior center stop is the only one with a bench and a shelter.
Love the idea of a bus that runs after 7 pm.
The meeting notice came two days before the meeting, too late.
The proposed map shows stops that are a long walk from the senior housing on Elm.
Drivers are always on time on my route.
The survey link did not work on my phone.
I would pay a higher fare for more evening trips.
Saturday service is the real problem, not the route.
Why are you changing a route that works for people like us?
What you want to learn
What are residents saying about the proposed change to the bus route?
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.