Local sponsor and raffle prize ask sheet: a Google Sheet of nearby businesses' public inboxes and phones, with who asked, what for and when to follow up
What you get: one Google Sheet for your school fair, charity run, Christmas market or club event with one row per local business you might ask for help: its website, the shared inbox (info@, hello@, events@...) and phone it publishes on its own site, a ready wa.me link where it has one, what you are asking for (cash sponsor, raffle prize, in-kind), who is asking, the date you asked, a Next step column (ask now / call or visit / follow up today / thank them / done) and the date to follow up. A totals tab adds up what has been promised so the committee sees in one look how far you are from the target. Formulas are below. The example rows are made up.
The finished sheet
asks tab (example rows are made up)
| Business | Domain | Inbox | Phone | Ask | Asked by | Asked on | Answer | Promised | Next step | Follow up |
|---|---|---|---|---|---|---|---|---|---|---|
| Example Bakery | example-bakery.co.uk | hello@example-bakery.co.uk | +440000000001 | raffle prize | Anna | 2026-10-20 | wait | 2026-10-27 | ||
| Sample Garage | sample-garage.co.uk | info@sample-garage.co.uk | +440000000002 | cash sponsor | Raj | 2026-10-12 | follow up today | 2026-10-19 | ||
| Demo Toy Shop | demo-toys.co.uk | +440000000003 | raffle prize | call or visit | ||||||
| Test Florist | test-florist.co.uk | shop@test-florist.co.uk | in-kind | Anna | 2026-10-10 | yes | 40 | thank them |
totals tab
| Ask | Asked | Yes | Promised | Target | Still needed |
|---|---|---|---|---|---|
| cash sponsor | 6 | 2 | 250 | 500 | 250 |
| raffle prize | 14 | 5 | 180 | 300 | 120 |
| in-kind | 3 | 1 | 40 | 100 | 60 |
Who this is for
- Parent-teacher associations and school fair committees asking local shops for raffle and tombola prizes.
- Charity run, sports club and community event organisers looking for a few local sponsors.
- Volunteers who share the asking and keep asking the same business twice, or forget to say thank you.
The hard part is rarely the list of names; it is finding how each business wants to be contacted, splitting the asks between volunteers and remembering who to chase. This sheet keeps all of that in one place.
Step 1: list the businesses (tab list)
Columns: A business, B website, C ask (cash sponsor, raffle prize or in-kind), D asked by. Start with places your families and members already use: the shops on the high street, the café by the school gate, last year's sponsors. A short list of businesses with a real link to your event gets more yes answers than a long list of strangers.
In E2, turn the websites into domains:
=ARRAYFORMULA(IF(B2:B="",,LOWER(REGEXREPLACE(REGEXREPLACE(TRIM(B2:B),"^(https?://)?(www\.)?",""),"[/?#].*$",""))))
That turns https://www.Example-Bakery.co.uk/about into example-bakery.co.uk, the same form the scraper writes in its domain field, so it is the key the formulas join on. Businesses with no website go straight to call or visit.
Step 2: get each business's public inbox and phone (tab scrape)
With the contact scraper
Open the Website Contact Scraper: Emails, Phones & WhatsApp on the Apify Store, paste column E into Websites or domains (plain list) and use this input (JSON tab):
{
"urls": ["example-bakery.co.uk", "sample-garage.co.uk", "demo-toys.co.uk"],
"maxPagesPerSite": 4,
"defaultCountry": "GB",
"checkEmailMx": true,
"includePersonalEmails": false,
"includePersonProfiles": false
}
- Set
defaultCountryto your own country (GB, IN, US, DE...) so local phone numbers without a country code are read correctly. - Keep
includePersonalEmailsandincludePersonProfilesoff. Addresses that identify one person are dropped and only counted; for a sponsor ask the shop's shared inbox or phone is the right door anyway. - Four pages per site (homepage plus the most contact-like pages) is the default and is usually enough. You pay only for pages actually fetched; sites skipped because of robots.txt or their terms are not charged.
- Already have the businesses from a Google Maps scrape on Apify? Put that run's dataset ID in Enrich an Apify dataset (
datasetId) instead of the plain list. The scraper reads each item's website, visits each site once and copies the business name and address intosourceItems.
When the run finishes, export the dataset as CSV, then in your sheet use File → Import → Upload, "Insert new sheet", and name the tab scrape. Do not rename the headers. Apify flattens lists into numbered columns such as emails/0/email, emails/0/mxValid, phones/0/phone and socials/whatsapp/0/url; the formulas find them by header name, so column order does not matter.
Free, without the scraper
Make a scrape tab with the headers domain, status, emails/0/email, phones/0/phone and socials/whatsapp/0/url, open each business's contact page and type what you see, with ok in status. Slower, but the same formulas work.
Step 3: the asks tab
A2 and B2 come from the list tab (=list!A2, =list!E2); E2 and F2 too (=list!C2, =list!D2). For the contact columns use this one pattern, changing only the header in quotes:
=IFERROR(INDEX(scrape!$A:$ZZ,
MATCH($B2, INDEX(scrape!$A:$ZZ, 0, MATCH("domain", scrape!$1:$1, 0)), 0),
MATCH("emails/0/email", scrape!$1:$1, 0)), "")
| Column | Header in quotes | What it shows |
|---|---|---|
| C Inbox | emails/0/email | first shared inbox found on the site |
| D Phone | phones/0/phone | in international format, for example +44... |
| L WhatsApp (optional) | socials/whatsapp/0/url | the click-to-chat link the business publishes |
| M Status (optional) | status | ok, or why the site was skipped |
Columns G to I are typed by the volunteer: Asked on (a date), Answer (yes, no or blank) and Promised (the cash amount, or your estimate of the prize's value, as a number).
Next step in J2:
=IF(A2="","", IF(H2="yes", IF(N2="", "thank them", "done"), IF(H2="no", "done", IF(G2="", IF(AND(C2="", D2=""), "call or visit", "ask now"), IF(TODAY()-G2>=7, "follow up today", "wait")))))
Follow up in K2: =IF(OR(G2="", H2<>""), "", G2+7). Add column N Thanked on and type the date when you send the thank-you; the row then shows done. Seven days is a starting point: small shops are busy, so one polite reminder after a week is usually enough, and two is the most.
To give each volunteer their own list, use a filter view on column F (Asked by), or in a new tab: =FILTER(asks!A2:K, asks!F2:F="Anna", asks!J2:J<>"done").
Step 4: the totals tab
- A2 to A4:
cash sponsor,raffle prize,in-kind - B2 Asked:
=COUNTIFS(asks!E:E, A2, asks!G:G, "<>") - C2 Yes:
=COUNTIFS(asks!E:E, A2, asks!H:H, "yes") - D2 Promised:
=SUMIFS(asks!I:I, asks!E:E, A2, asks!H:H, "yes") - E2 Target: type your committee's goal
- F2 Still needed:
=MAX(0, E2-D2)
What the status values mean
| status | Meaning | What to do |
|---|---|---|
ok | Site read | Use the inbox or phone found |
blocked-by-robots | The site asks bots not to crawl | Open its contact page yourself, or call or visit |
blocked-by-terms | The site's terms forbid scraping (clause quoted in error) | Same |
blocked-by-tos-list | The "website" is a platform page such as Facebook | Visit the shop or use the platform's own message button |
blocked-by-site, rate-limited, failed | HTTP 401/403/429, too many requests, or unreachable | Retry later, or call or visit |
The ask that gets a yes
One short, personal message per business, from a named volunteer, about one event. For example:
Subject: Raffle prize for the Greenfield School winter fair, Sat 5 Dec Hello, I'm Anna, a parent at Greenfield School and on the fair committee. Our winter fair raises money for new library books, and many of our families shop with you. Would you donate a raffle prize? Any size helps, and we will thank you by name on the prize table, in the fair programme and in the newsletter to families. If yes, I can collect it any day before 3 Dec. If now is not a good time, just reply "no" and I won't write again. Thank you, Anna (Greenfield School PTA), 07xxx xxxxxx
- Say what the money is for, what you offer back (thanks by name, a logo on the banner) and a collection date. Only offer what you will really do.
- Give a plain way to say no, and honour it: mark the row no so nobody asks again.
- For a business with no inbox, a short visit at a quiet time works better than a cold call.
- Thank everyone who says yes after the event, with the total raised. That is what makes next year's ask easy.
Before you write to anyone
- Rules differ by country. In Germany, for example, UWG section 7(2) no. 2 treats advertising by email without the addressee's prior express consent as an unreasonable nuisance, and that applies to businesses as well as consumers. Whether a sponsor request counts as advertising depends on the case, so in consent-first countries the safer route is a visit or a phone call. Elsewhere, check the local rules.
- Shared inboxes can still reach a person. Work emails and numbers of identifiable people are personal data under the GDPR and India's DPDP Act 2023. Keep the sheet to what the event needs, share it only with the committee, and delete it or archive it after the event.
- In India, unsolicited commercial calls and SMS are restricted under TRAI rules; WhatsApp has its own business messaging policies.
General information, not legal advice.
Check before you send
- Every business on the list has a real link to your event or your families.
- Each row has one volunteer in Asked by, so nobody gets two asks.
- Domains in column B match the businesses' real websites (spot-check five).
- Your message names the event, the date, the cause and a way to say no.
- Rows marked no stay no.
Partner programme opening soon
Partner programme opening soon: join the free waitlist. Planned terms are 50% of each referred sale (75% once you have 5+ paying customers), single level, paid through Gumroad only from revenue received.
Sources
- Contact scraper input and output fields (
urls,datasetId,maxPagesPerSite,defaultCountry,checkEmailMx,includePersonalEmails,includePersonProfiles;domain,status,emails,phones,socials,sourceItems): Apify Store page (input schema and README) - Gesetz gegen den unlauteren Wettbewerb (UWG), section 7: gesetze-im-internet.de/uwg_2004/__7.html
- Digital Personal Data Protection Act, 2023 (India): meity.gov.in
Related
- Trade fair exhibitor contact sheet
- Clean an Apify contact scrape into a call sheet
- Get a business website's WhatsApp and social links
Unadhi Guides are free, independent explainers. We correct errors as soon as we find them: write to mininglife7@gmail.com.