ChatGPT for Nonprofits: Volunteer Recruitment Posts and Rota Messages

Coding Liquids tutorial cover featuring Sagnik Bhattacharya for ChatGPT for Nonprofits: Volunteer Recruitment Posts and Rota Messages.
Coding Liquids tutorial cover featuring Sagnik Bhattacharya for ChatGPT for Nonprofits: Volunteer Recruitment Posts and Rota Messages.

Chat GPT for nonprofits is most useful on two volunteer jobs. Give it a one-paragraph role card (tasks, hours, who the role suits, next step) and it drafts recruitment posts for each channel. Give it a rota template with placeholders such as [first name] and [start time], never real names or phone numbers, and it drafts the reminders.

It can't know your charity, so it will cheerfully promise "full training provided" or "flexible hours" because that is what volunteer adverts say. Every prompt below keeps the facts in your hands and tells ChatGPT to mark whatever it had to assume. Nothing personal goes in: volunteers appear as roles and placeholders, and your own spreadsheet or email tool does the merging afterwards.

Follow me on Instagram@sagnikteaches

Grant applications, donor appeals and impact reports need different prompts, such as those in charity appeals and social posts with AI that keep your voice. The job here is narrower: finding volunteers and keeping the rota full. The examples come from a small food bank open three mornings a week, and its figures are illustrative.

Connect on LinkedInSagnik Bhattacharya

Chat GPT for nonprofits: what it costs and what it should never see

For drafting adverts and message templates, the free plan is enough as long as no personal data goes in. If two or more people on your team will use it, ChatGPT Business is worth a look, because OpenAI's nonprofit programme discounts its Standard seats. OpenAI's help page gives $8 per user a month billed annually, or $10 billed monthly, for Standard seats, says Premium seats are not eligible for the discount, and says the discount doesn't apply to the API. For larger nonprofits it points to the sales team about up to 75% off Enterprise. OpenAI works with Goodstack to validate eligibility, so read OpenAI's page for nonprofits before you apply, and who qualifies and what to check first for the questions to ask.

Subscribe on YouTube@sagnikteaches
PlanList price (USD)What it means for a small nonprofit
ChatGPT Free$0Fine for templates and adverts if no personal data goes in; limits change, so check on the day
ChatGPT Plus$20 a monthAn individual plan for one person
ChatGPT Business, Standard seat, nonprofit rate$8 per user a month annual; $10 monthlyStarts from two users; eligibility is checked through OpenAI's partner
ChatGPT Business, Premium seatNot discountedOpenAI says Premium seats are not eligible
ChatGPT EnterpriseContact salesOpenAI says larger nonprofits can ask about up to 75% off

A two-seat team on the nonprofit rate pays 2 x $8 x 12 = $192 a year billed annually, or 2 x $10 x 12 = $240 billed monthly. Two Plus subscriptions would be $480 a year, though Plus is built for individuals and Business adds workspace controls. OpenAI doesn't train on Business workspace content by default, and personal plans let you switch training off in privacy settings, but the safer habit is the one these prompts assume: no volunteer names, numbers, emails, availability notes or welfare details in any chat. Donor records follow the same rule; what donor data must never be pasted in sets it out.

Role cards: the one paragraph every post is built from

Ask ChatGPT for "a post recruiting volunteers" and you tend to get the kind of vague advert every charity has seen. Ask it to build from a role card and the post has hours, tasks and a next step in it. One card per role, 90 words at most, written once and reused for every channel. The first prompt turns your rough notes into the card, and the instruction that matters most is the one about gaps.

Turn my rough notes into a volunteer role card of no more than 90 words. Use these headings: Role, What you'll do (three bullet points), When, Time commitment, Who it suits, What you don't need, Support you'll get, Next step. Use only my notes. If a heading has no information in my notes, write MISSING under it instead of filling it in. Anything in my notes with a question mark goes under CHECK at the end. Do not promise training, flexibility or progression unless I wrote it.

Notes: sorters at the food bank. Mon, Wed, Sat mornings 9-12. Need 4 a session. Sorting donated food, checking dates, packing boxes. On your feet most of the shift. Lifting up to 10kg? No experience needed but must be 16+. Shift lead shows you round the first time. Start with a taster shift. Email only please, no phone calls.

Sample output (illustrative):

ROLE: Food bank sorter
WHAT YOU'LL DO
- Sort donated food and check dates
- Pack boxes for collection
- Work with a shift lead and a small team
WHEN: Monday, Wednesday and Saturday mornings, 09:00-12:00
TIME COMMITMENT: MISSING
WHO IT SUITS: People aged 16 or over who are happy to be on their feet
WHAT YOU DON'T NEED: Experience
SUPPORT YOU'LL GET: A shift lead shows you round on your first shift
NEXT STEP: Come to a taster shift. Contact by email only.
CHECK: Lifting up to 10kg (your notes have a question mark)

The two flags are the useful part. "Time commitment" was missing because your notes never said how often a sorter should come, and you now have to decide: one shift a fortnight, or at least one a week? The lifting limit is a safety statement, so don't let it appear in an advert until someone who knows the building has confirmed it. A card with an honest gap is better than a smooth card with an invented answer.

Roles with extra responsibility need different things on the card, and the gaps they expose are different too. Here are three cards from the same food bank:

RoleWhat the card must sayThe gap a good prompt flags
SorterHours, tasks, standing, minimum age, who shows you roundHow often to come
DriverPick-up days, vehicle used, what is carried, what is coveredWhose vehicle and insurance, which you confirm with your insurer
Shift leadOpening and closing tasks, who they support, what they decideWhether any training or briefing comes first

Recruitment posts for four places volunteers look

Volunteers find you in four places: social media, a poster on a noticeboard, a newsletter from a local employer or school, and a friend of an existing volunteer. Each needs a different length and tone, which is exactly what ChatGPT is good at once the facts are fixed.

Using the role card below, write four versions: (1) a social media post under 70 words; (2) a poster with a headline of up to 8 words and three short lines; (3) a paragraph of up to 60 words for a local employer's or school's newsletter; (4) a message of under 50 words that an existing volunteer can forward to a friend. Plain, warm, no pressure. Every claim must come from the role card. Do not use "make a difference", "join our family" or "passionate". Put [address] and [contact email] where they belong and do not guess them.

[paste the role card, with TIME COMMITMENT filled in]

Sample output, two of the four versions (illustrative, with the time commitment set to "one shift a fortnight is fine"):

Social post: Sorters wanted at our food bank. We need four people on Monday, Wednesday and Saturday mornings, 09:00-12:00, to sort donated food, check dates and pack boxes. You'll be on your feet, and a shift lead shows you round on your first shift. No experience needed; one shift a fortnight is fine; you need to be 16 or over. Email [contact email] to book a taster shift. [address]

Forwardable message: Hi [first name], we're looking for sorters at the food bank: mornings, 09:00-12:00, no experience needed, and a shift lead shows you the ropes. If you'd like to try a taster shift, email [contact email].

For contrast, here is a typical draft from a request with no role card (illustrative), and why the card matters:

Without a card: Join our amazing team! We're looking for passionate volunteers to help make a difference in our community. No experience necessary, flexible hours, full training provided. Get involved today!

Count what it contains: no task, no day, no time, no way to respond, and three claims (flexible hours, full training, no experience) that nobody checked. Every phrase in it could be pasted onto any charity's page, which is why it persuades few people. The card version names the work and the morning, and it can be checked line by line.

Run the stranger test on every version before it goes out. Could someone who has never heard of you answer five questions from the post alone? What is the job, when is it, how often, do I need experience, and what do I do next? If any answer is missing, the post has failed, whatever it sounds like. Then check for the usual additions: a line about "flexible hours" or "full training" that was never in the card, and a mention of a certificate or reference you may not offer. For the setup that comes after someone says yes, a volunteer onboarding checklist for charities built with AI is the next step.

Plain-language and translated versions

If some of the people you want to reach read little English, or find long adverts hard going, ask for a plain-language version of the finished post: short sentences, no jargon, one action. ChatGPT is good at that, and you can read the result aloud to test it. Here is the sorter post rewritten that way (illustrative):

Help sort food at our food bank. Monday, Wednesday or Saturday mornings, 9 to 12. You check dates and pack boxes. You stand for most of the shift. You need to be 16 or over. No experience is needed. Email [contact email] to try a shift.

Compare it with the role card before it goes up. This version kept the facts but dropped "one shift a fortnight is fine", the line that tells a busy person the commitment is small, so put it back as its own short sentence. A translation is different. Draft it if you like, but have a fluent speaker check it before it goes out, and never rely on a machine translation for anything about safety, checks or who to contact.

Answering "I'd like to help": the first reply

The first reply decides whether an offer turns into a taster shift. Write it once as a template, with your real next steps in it, and reuse it.

Write a reply to someone who has emailed offering to volunteer, as a template with [first name] and [role]. Under 90 words, warm and plain. Give exactly these next steps and nothing else: 1) book a taster shift with [booking link]; 2) fill in our volunteer form at [form link]; 3) a short welcome chat with [coordinator role] on the day. Do not mention any checks, references or training that are not listed above. Do not promise a placement.

Hi [first name], thank you for offering to help as a [role]. Here's what happens next. First, book a taster shift here: [booking link]. Second, fill in our short volunteer form: [form link]. On the day, [coordinator role] will have a quick welcome chat with you before you start. If you have questions before then, just reply to this email. Thanks again, [your name]

That's sample output, and what's missing from it matters. There is no mention of checks, because ChatGPT can't know which ones your policy and insurer require. If the role involves children or vulnerable adults, add that step yourself, in your own wording. A smooth line such as "no checks needed" is the worst error a draft can contain. The same goes for the decision itself: ChatGPT drafts the reply, and a named person on your team decides who starts.

Rota messages from a spreadsheet, without pasting the spreadsheet

Your rota lives in a spreadsheet or rota system with columns such as first name, role, date, start time, meeting point, shift lead and swap contact. ChatGPT never needs to see it. You give it the column names and your rules, it writes six message templates once, and your own mail merge or rota tool fills in each volunteer's details when you send. The people in your rota stay in your system, and the writing happens in the chat.

Write six rota messages for volunteers at a food bank, as templates that use only these placeholders: [first name], [role], [date], [start time], [meeting point], [shift lead], [swap contact]. Under 60 words each, warm and plain, one clear action per message.
1. Reminder three days before.
2. Reminder the evening before, with where to meet.
3. A gap to fill: two places are open on [date]; ask people to reply if they can help.
4. A swap request: ask the volunteer to arrange a swap or tell [swap contact].
5. A kind check-in after a missed shift: no blame, ask whether anything has changed.
6. A thank-you after a first shift.
Include no real names, numbers or addresses. Do not guilt anyone.

Sample output, three of the six (illustrative):

Three days before: Hi [first name], a reminder that you're down as [role] on [date], starting at [start time]. If anything has changed, just reply and we'll sort it. Thank you! [your name]

Gap to fill: Hi [first name], we have two places open on [date] for [role]. If you can help, reply and I'll add you to the rota. If not, no problem at all. [your name]

Check-in after a missed shift: Hi [first name], we missed you on [date]. No worries at all; I just wanted to check everything is okay and that the days still suit you. Reply any time. [your name]

Two edits come up repeatedly. Gap messages drift towards "we're so short-staffed", which makes volunteers feel responsible for a shortage; give the date and the need and leave the pressure out. And the check-in should never be sent automatically to everyone who missed a shift. A person reads the rota first, because an absence may mean an emergency, and a template sent in the wrong week hurts more than no message. The six templates fit into the rota rhythm like this:

MessageWhen it is sentMerge fields it needs
Three-day reminderThree days before the shiftFirst name, role, date, start time
Evening-before reminderThe evening beforeFirst name, start time, meeting point, shift lead
Gap to fillWhen a place is open within a weekFirst name, role, date
Swap requestWhen a volunteer can't make a shiftFirst name, date, swap contact
Missed-shift check-inThe next day, after a person has read the rotaFirst name, date
First-shift thank-youThe same eveningFirst name, shift lead

If your volunteers sign up through a form and you want reminders triggered from it, a community centre volunteer form with AI sign-ups and rota reminders shows one way to wire it.

Before the first live send, test the merge on yourself. The classic failure is a reminder that arrives reading "Hi [first name], you're down as [role] on [date]" because a column header didn't match a placeholder. Add a dummy volunteer with your own email address, send the whole set to yourself, and read each one on a phone. It takes ten minutes and saves a week of apologising to the volunteers who received the broken version.

A worked example: a food bank that needs 24 places a week

Take a small food bank open on Monday, Wednesday and Saturday mornings. Each session needs eight volunteers: four sorters, two on front of house, one driver and one shift lead. The sums below are planning arithmetic for the example, not statistics, and the one-in-six cover rate is a placeholder for your own rota history.

ItemCalculationResult
Places to fill each week3 sessions x (4 + 2 + 1 + 1)24
Volunteers on the books24 places x 2 (each gives one shift a fortnight)48
Cover needed24 places, assuming one shift in six needs a replacement4 a week
Reminders sent24 three-day reminders + 24 evening-before reminders48
Other messages4 gap or swap messages + 2 check-ins6
Total messages48 + 654 a week

Two things follow. To keep 24 places filled you need roughly 48 names on the books, so the recruitment posts above have to keep running even when the rota looks full; volunteers drift away, and a post that stops is a rota that shrinks. And 54 messages a week is a lot of typing. At two minutes each by hand that is 108 minutes. With the templates, the 48 reminders go through one merge in about 15 minutes, and the six personal messages are sent by hand at two minutes each: 15 + 12 = 27 minutes, a saving of 81 minutes a week, or about 70 hours over a year. Those timings are assumptions to replace with your own.

Where ChatGPT slips on volunteer adverts and messages

The same few errors turn up in drafts, and they are quick to spot once you know them. Use this as a read-through list before anything is posted or merged.

SlipExampleFix
Invented benefits"Full training and a certificate provided"Delete unless the role card says it
Pressure language"We're desperate for help"State the date and the need; leave the pressure out
Exclusionary wording"Must be fit and healthy"Describe what the task involves physically and invite people to ask about adjustments
Vague hours"Flexible shifts"Name the actual sessions
Stock phrases"Make a difference"Say what the work does, such as "boxes packed for Saturday collection"
Safeguarding claims"All volunteers are fully vetted"Use only wording your own policy supports, in your words

Keep the cards and templates in one shared Project

Once you have a few role cards and the six templates, put them in a ChatGPT Project with a short instruction block: your charity's tone, the banned phrases from the table above, and the rule that anything missing from a card is marked MISSING. OpenAI's help page says a Project keeps related chats, files and instructions together and that sharing works on every plan. Edit access lets someone change instructions and files, while Chat access lets them view and use the project but not invite others; Business can also invite workspace groups. Shared projects use project-only memory automatically, so nothing from a colleague's other chats leaks in.

Give the volunteer coordinator Chat access and keep Edit for whoever owns the templates. That way a well-meaning change to "do not promise training" can't slip in unnoticed, and every message the team sends still follows the same rules.

What stays with a person, not a prompt

Some jobs are not drafting jobs at all, and a template makes them worse. Keep these with a named member of the team:

  • Deciding who is accepted, and running any safeguarding checks your policy and insurer require.
  • Any message about a volunteer's conduct, a complaint or a concern about someone's wellbeing.
  • Anything that mentions a named person's health or home circumstances, which shouldn't be typed into a chat in the first place.
  • Welfare check-ins after an incident on shift.

A sensible first trial is two weeks. In the first, write one role card, run the four-channel prompt and post it; in the second, build the six templates and send one real round of reminders with a merge. Then look at what you edited most and fix the prompt, not the output. For the wider set of admin prompts, ChatGPT prompts for nonprofit organisations: ten for admin and donors picks up where this tutorial stops.

Questions small nonprofits ask about ChatGPT and volunteers

Does OpenAI's nonprofit discount cover every ChatGPT plan?

No. OpenAI's help page says the discount applies to ChatGPT Business Standard seats, at $8 per user a month billed annually or $10 billed monthly, and that larger nonprofits can ask sales about Enterprise. Premium seats and the API are excluded, and OpenAI works with Goodstack to check eligibility. Read the current page before you plan around it.

Can we paste our volunteer list in to build the rota?

Don't. Names, phone numbers, emails and availability notes are personal data, and nothing in the prompts needs them. Keep the rota in your spreadsheet or rota system, give ChatGPT only the column names and your rules, and let your own mail merge fill in each volunteer's details afterwards.

Can ChatGPT choose which volunteer applicants to accept?

It shouldn't. Use it to draft the advert and the replies, and keep decisions about who is accepted, and any safeguarding checks your policy and insurer require, with named people on your team. A model can't vouch for anyone, and a draft that says no checks are needed is a draft to delete.

Should reminders go by email, text or a messaging app?

Ask volunteers at sign-up which channel they actually read, record it, and use that one. Whichever you choose, only message people who have agreed to hear from you that way and keep opting out simple. The templates in this tutorial work in any channel because they hold placeholders, not data.

Further reads

Sources: OpenAI Help, OpenAI for Nonprofits (checked October 2026); OpenAI pricing page (ChatGPT Business from two users); OpenAI help pages on Projects in ChatGPT. Role, rota and message figures are illustrative.

Want volunteer recruitment and rota messages set up safely?

On a 1:1 call we'll map how volunteers are found, rostered and reminded today, choose the step worth automating first, and set up templates and checks your team can run without pasting personal data.

Book a 1:1 call with me