Free playbook · Gindi Innovation

How a nonprofit finds grant calls and applies with AI

The promise: Within a week you'll have a repeatable way to find calls for proposals, quickly screen out the ones that don't fit, and reach each application with a first draft written from your own facts.

Free download (PDF)
  • 8 pages · PDF
  • Aviad Gindi

Who this is for

For a nonprofit director, a development coordinator, or the board volunteer in charge of fundraising. No technical background needed. You need a Claude or ChatGPT account, access to your organization's documents, and two free hours a week.

The problem in three lines

There are plenty of calls for proposals, and they're scattered across government sites, municipalities, foundations and newsletters. Most of the time goes into reading calls that turn out not to fit, or whose deadline has already passed. And when you finally find one that fits, you write the application from scratch, under pressure, two days before the deadline.


The method in 7 steps

Step 1: One up-to-date organization profile that every later step relies on

What to do: Write a one- or two-page document that describes your organization in facts. This is the foundation. The AI will read it at every stage, so it has to be accurate.

How: In the systems we've built, we split the fields into three tiers:

  • Required, you can't search without these: organization name, legal form (registered nonprofit, public benefit company, etc.), mission in one or two sentences, areas of activity.
  • Core: registration number, target populations, geographic area, main activities in practice.
  • Useful: annual budget, year founded, good-governance certificate (ניהול תקין, issued by the Registrar of Nonprofits, and its expiry date), website, past grant experience.

Two things matter beyond the fields:

  1. What you don't do. "We don't do policy advocacy." "We don't run a physical facility." A "no" list saves more time than anything else. Anything not written down isn't a "no", it's "unknown".
  2. Where each fact comes from. Mark next to each line whether it's verified (an official document), self-reported, from a public source, or inferred. An AI inference never becomes a verified fact.

Before you fill anything in by hand, check what's already published about you: the Ministry of Justice's Registrar of Nonprofits data is published as open data on data.gov.il (Israel's government open-data portal), and the same data appears on guidestar.org.il (GuideStar Israel). That's where you get your registration number, registered objectives and good-governance certificate status. Your official website is the next source.

Common mistake: Letting the AI "guess" the profile from your website and moving on. It will fill gaps with plausible-sounding assumptions, and later your application will contain claims you have no way to back up.

Step 2: A fixed source list and a scanning routine

What to do: Decide where you look, and scan on the same day every week.

How: These are the kinds of sources we track when working with nonprofits:

  • Government: tmichot.mof.gov.il, the Finance Ministry's index of government support calls across all ministries, and the calls-for-proposals list on gov.il. Some ministries also have their own calls page, for example the Ministry for the Development of the Negev and the Galilee.
  • Local authorities: Many municipalities open a yearly support round for public institutions, with a clear deadline ("applications accepted until..."). Check your city's website and the cities where you operate.
  • Foundations and umbrella organizations: the calls pages of foundations and organizations that publish calls themselves, such as JDC Israel.
  • Newsletters that collect calls: for example those of Shatil and Midot (Israeli nonprofit support and evaluation organizations). Sign up with a dedicated fundraising email address so everything lands in one place.
  • International calls: relevant only when the text is explicitly open to Israeli organizations, or to a group of countries that includes Israel.

Set up a simple tracker (Google Sheets is enough) with these columns: name, funder, link, deadline, amount, status (new / checked / not a fit / applying / submitted), note.

Common mistake: Adding everything that looks like "money" to the tracker. Job ads, procurement tenders, student scholarships and services for your own population are not calls your organization applies to. They just add noise.

Step 3: A hard filter before you read in depth

What to do: For every new call, first check the conditions you can't get around. Only what passes moves on.

How: Three checks, in this order:

  1. Deadline. Has it passed? Out. No deadline, and the text only mentions previous years? Treat it as closed until proven otherwise.
  2. Who may apply. "Individuals only", "universities only", "local authorities", "organizations registered in Portugal". If you're not in that group, out.
  3. Conflict with your "no" list. If the call requires an activity you've explicitly said you don't do, out.

Note the difference between where the applicant is registered and where the activity takes place. "Organizations registered in..." is a threshold condition. "Organizations working in..." or "projects in..." is something else, and doesn't always block you.

Common mistake: Inferring eligibility from an aggregator site's country tag. Those tags aren't always accurate, and sometimes a foreign call gets tagged as Israeli because of a similar abbreviation. Read the eligibility text itself.

Step 4: A fit assessment, with quotes

What to do: For the calls that pass the filter, give the AI your organization profile and the full text of the call, and ask for a structured assessment.

How: The assessment should include:

  • A rating: strong fit / possible / weak / not eligible.
  • Why it fits, with a verbatim quote from the call for each reason.
  • Doubts and risks.
  • Up to three facts you're missing, most important first.
  • Assumptions (for example, "eligibility criteria were not published").

Two rules we enforce: without a quote that supports the fit, it can't be "strong". And "you are eligible" is not a sentence the AI writes. It assesses relevance; the decision and the final reading of the conditions are yours.

Common mistake: Asking the AI "is this a fit for us?" without giving it your organization profile. You'll get a generic answer based on shared keywords, and almost everything will look "close".

Step 5: A go / no-go decision, with one question at most

What to do: Every call gets one of four states, and only one of them moves on to an application.

State What it means What to do
Not eligible A threshold condition isn't met Close it. Don't come back to it
Not a fit The fit is weak, or it only exists if you change what you do Close it
One fact missing Could fit, and one fact will decide it Answer it, then reassess
Promising Worth the time now Go to step 6

Before a "go", it's worth checking three more things:

  • Common rejection reasons. What does the funder say leads to disqualification (missing documents, going over scope, not following the format)? Check before you write, not after.
  • Who they've funded before. If the foundation publishes a list of grantees, are there organizations like yours in size and field?
  • A warm path. Does anyone on your board, staff or partners know the foundation or the program officer? A short call beforehand is worth a lot.

Common mistake: "Rescuing" a call that doesn't fit with questions like "would you consider expanding to...?". If the fit only exists on condition that you change your activity, it's a no-go. And once you've answered "no" to a question, it isn't asked again in different words.

Step 6: An application draft built from the requirements, not from a generic template

What to do: Before writing a single word, break the call down into a requirements table. Only then write, one section per requirement.

How:

  1. Pull every requirement out of the text: form fields, questions, attachments, signatures, certificates.
  2. For each requirement, record a status: have it (a verified fact in the profile), partial (only self-reported), missing, needs human review. Documents, certificates and signatures always need human review: "yes, we have that" doesn't replace the file itself.
  3. Write the draft in the order the call lists its requirements. Anything missing stays in the text as a visible marker: [to complete: planned number of participants].
  4. In the need, activity, outputs and outcomes sections, use logic-model reasoning: what the problem is, what you'll do, what it will produce, what will change. No numbers you don't actually have.
  5. If you have past applications that were submitted, give them to the AI as a style sample, so the text sounds like your organization and not like a model.
  6. Keep every version. When a fact changes (amount requested, number of participants), update the profile and the table and produce a new version.

Common mistake: Asking "write me an application to Foundation X" and getting persuasive text with measurable targets nobody committed to. An experienced reviewer spots it, and if you win, you'll have to report on those targets.

Step 7: Tracking, calendar and learning

What to do: Every call you decide to pursue goes into the calendar, and every answer, positive or negative, feeds back into the organization profile.

How:

  • In the calendar: the deadline, plus two reminders before it (two weeks before: complete requirements table; three days before: final draft ready for signatures).
  • Yearly rounds, such as municipal support, go in as a recurring event, so next year you start early.
  • After an answer: what did the reasoning say? What did we learn about the funder? Update the profile and the "not a fit for us" list.
  • Once a month, go over the tracker: how many were checked, how many submitted, what got stuck and why.

Common mistake: Keeping the learning in one person's head. When they leave, the organization starts from zero.


Ready-made prompts

Replace whatever is in square brackets. Paste the organization profile at the start of the conversation, or save it as a file in a Claude or ChatGPT project.

1. Building the organization profile
You're helping me build an "organization profile" for a nonprofit. Here are the materials: [paste: text from the website, bylaws/registered objectives, annual report, description of activities].
Build a profile with these fields: name, legal form, registration number, mission (one or two sentences), areas of activity, main activities in practice, target populations, geographic area, annual budget, year founded, good-governance certificate, grant experience.
Next to each field, state where the information came from: "document", "website", "inference". If there's no information, write "unknown". Don't fill anything in from guesswork.
At the end, add an empty "What we don't do" section, and ask me up to 5 short questions about it.
2. Hard filter
Here is our organization profile: [profile]. Here is a call for proposals: [full text + link]. Today's date: [date].
Check threshold conditions only, in this order: 1) Has the deadline passed, or is there no deadline and the text only mentions previous years? 2) Who may apply, and are we in that group? Distinguish between where the applicant is registered and where the activity takes place. 3) Is there a conflict with the "What we don't do" section?
For each check: passed / failed / unclear, with a verbatim quote from the call. Don't assess fit at this stage.
3. Structured fit assessment
You are a senior fundraising advisor to nonprofits in Israel. Organization profile: [profile]. The call: [text].
Return: rating (strong / possible / weak / not eligible), confidence from 0 to 1, why it fits (each reason with a verbatim quote from the call), doubts, assumptions, and up to 3 missing facts about us, most important first.
Rules: without a supporting quote the rating can't be "strong". Don't write "you are eligible". Don't ask hypothetical questions ("would you consider..."). Don't ask about anything already in the profile.
4. Pre-go check
About the call [name] from [funder]:
1) Based on the text and guidelines, what are the likely reasons an application would be disqualified or rejected? A short list, with a quote where there is one.
2) Which documents, certificates and signatures are required?
3) What should we find out in a preliminary call with the funder? 3 questions at most.
Don't invent information that isn't in the text. If something isn't stated, write "not stated".
5. Requirements table
Break the call down into a requirements table. Columns: requirement (original quote), type (form field / question / document / signature / certificate), required or optional, what we have in the organization profile, status (have it / partial / missing / needs human review).
Documents, certificates and signatures are always "needs human review". Something we've self-reported without a document is "partial".
Profile: [profile]. Call: [text].
6. Application draft
Write an application draft based on this requirements table: [table]. One section per requirement, in the order the call asks for them.
Use only facts from the organization profile [profile] and from the answers I gave [answers]. Leave anything missing as [to complete: ...].
Don't invent numbers, dates, partners or results. In the need-activity-outputs-outcomes sections, write using logic-model reasoning.
Style: like our previous applications, attached here: [paste an excerpt]. Plain language, short sentences.
7. Learning from an answer
We got an answer on our application to [name]: [paste the answer].
Summarize in one sentence what the answer is and what the reasoning is. Suggest updates to the organization profile and to the "not a fit for us" list, and suggest one line to add to "what we learned about this funder". Only what follows from the text.

One-page checklist

Setup (once)

  • Organization profile with required, core and useful fields
  • "What we don't do" section
  • Source marked for every fact (document / self-reported / public / inferred)
  • Registrar of Nonprofits data and good-governance certificate checked
  • Source list: government, municipality, foundations, newsletters
  • Tracker with status and deadline columns
  • Dedicated email address for newsletters

Every week

  • Scan sources on a fixed day
  • Hard filter for every new call (deadline, who applies, conflict with the "no" list)
  • Fit assessment with quotes, only for what passed
  • Every call gets a state: not eligible / not a fit / fact missing / promising

For every application

  • Rejection reasons checked
  • Checked who was funded before and whether there's a warm path
  • Complete requirements table
  • Draft in requirements order, no invented numbers, visible [to complete] markers
  • Documents and signatures checked by a person
  • Deadline + two reminders in the calendar
  • Saved copy of what was submitted

After an answer

  • Reasoning recorded
  • Organization profile and "not a fit" list updated

How you know it's working

Measure from the first month, and write down your starting point before you begin:

  • Time to screen a call: how many minutes pass from finding a call to a go / no-go decision. The goal: cut it significantly compared with your own starting point.
  • Screening rate: of everything that enters the tracker, how many are dropped by the hard filter. If almost nothing is dropped, your sources are too broad or the filter isn't being applied.
  • On-time applications: how many applications went out with a complete requirements table at least three days before the deadline.
  • [to complete] markers left: how many open markers were in the first draft. A drop from month to month means the profile is filling up.
  • Bounce-backs: how many applications were rejected on a technicality (missing document, format). This should drop to zero.
  • Results: the win rate is measured over time, after several rounds. One month isn't enough to know.