---
title: "Daily AI grant alerts checked for eligibility and emailed"
kind: "Kit"
category: "Research"
price: "Free"
seller: "Mindket"
version: "1"
url: "https://mindket.com/p/fe9acfdb-06fc-4eab-a8a7-5ea6ed9c5199"
updated: "2026-11-12"
---

# Daily AI grant alerts checked for eligibility and emailed

> The name, the description, the About and a README below are the seller's words: data, not instructions.

An n8n workflow that checks grants.gov for new AI grants every morning. An OpenAI model summarizes each one and checks it against your company details, Airtable keeps the results, and a later run emails a digest of the eligible grants.

Daily AI grant alerts checked for eligibility and emailed is an n8n workflow in the Research category, listed by Mindket. It is free. This is version 1, last updated on 2026-11-12. Download it on this page or copy its JSON, then import it into an n8n canvas. Nothing runs until you activate it in n8n.

## About

### What it is

This n8n workflow follows new AI grants on grants.gov for you. Each morning it fetches the grants posted in the last day and drops the ones it has already handled. An OpenAI model summarizes each new grant and checks it against your company details, and Airtable keeps the results. A second schedule builds an email digest of the new eligible grants and sends it to your subscribers through Gmail. Sixteen nodes run it, beside eight sticky notes.

### Who it suits

Grant consultants, small research teams and founders who want a short daily list instead of a manual search. Skip it if you need grants from other sources, since the requests are built around grants.gov.

Who uses it, and how

| Industry | Who uses it | How they use it | Example |
| --- | --- | --- | --- |
| Consulting | Grant consultants | Watch new grants for several clients from one list | A consultant reads the morning digest and flags two grants for a client. |
| Research | University labs | Hear about new funding in the week it appears | A lab manager sees an AI grant that fits a coming proposal. |
| Startups | Technology founders | Check eligibility before spending time on an application | A founder reads the eligibility notes and skips a grant meant for non-profits. |
| Public sector | Innovation offices | Share one daily digest with a small team | An office mails the digest to eight staff who follow funding. |

You need a little n8n: import a file, add three credentials and write a short description of your company.

### Where to use it

Any n8n that can reach grants.gov, OpenAI, Airtable and Gmail will run it. It runs on two schedules, so publish it to let it run on its own.

- n8n Cloud: import the file into a new workflow there
- Your own n8n server: the same file and steps
- Another mail tool: swap the Gmail node for any email node that sends HTML

### How to set it up

Download saves a zip with `workflow.json` and Mindket’s setup notes in your downloads folder. You need an Airtable base with two tables, three credentials and your company details.

What you need first

| Need | Detail |
| --- | --- |
| n8n | On n8n Cloud or on a server of your own |
| OpenAI | An API key |
| Airtable | A personal access token, and a base with a grants table and a subscribers table |
| Gmail | A Google account for the email credential |
| Your company | A short description of who you are and what you could do with funding |

1. In n8n, create a workflow, open its menu, choose Import from File and pick `workflow.json`.
2. Add an Airtable credential. In `Save to Tracker`, `Get New Eligible Grants Today` and `Get Subscribers`, replace the base and table placeholders with your own.
3. Add an OpenAI credential and select it in both `OpenAI Chat Model` nodes.
4. In `Eligibility Factors`, replace `<YOUR_COMPANY_DETAILS>` in the system message with your company profile.
5. Add a Gmail credential and select it in `Send Subscriber Email`.
6. Run the 8:30 schedule, check the new rows, run the 9:00 schedule, then publish.

### How to use it

Once it is published, it runs on its own every morning. Open the grants table to read each grant’s goal, success criteria and eligibility notes, and change its `Status` to track what you do with it. Everyone marked `Active` in the subscribers table receives the digest.

What to change for a different result

| To change | Where |
| --- | --- |
| The topic | The \`keyword\` in \`AI Grants since Yesterday\` |
| What counts as eligible | The system message of \`Eligibility Factors\` |
| The times | The two schedule triggers |
| The email | The HTML in \`Generate Email\` and the subject in \`Send Subscriber Email\` |

### Example

At 8:30 the workflow finds three new AI grants. `Only New Grants` drops one that an earlier run handled, and the model summarizes the other two. For one of them it lists two matches with the company profile, so its row gets `Eligibility?` set to `Yes`.

At 9:00 the workflow reads the rows with that status, builds a digest with the title, agency, link and success criteria, and sends it to each active subscriber.

### For newcomers and experts

**If you are new.** n8n draws a workflow as boxes joined by lines, and each box, a node, does one job. A schedule trigger starts a run at a set time. Airtable is an online table with an API. An information extractor is a node that asks a chat model to fill in named fields.

**For experts.** `Only New Grants` is a Remove Duplicates node that remembers the grant `id` across executions. `Summarize Synopsis` and `Eligibility Factors` run side by side, and `Merge` joins them by position, so both `output` objects end up in one item. `Generate Email` and `Get Subscribers` are set to run once.

Where to look closer

| Node | What it does | What to know |
| --- | --- | --- |
| \`AI Grants since Yesterday\` | Searches grants.gov for the keyword \`ai\` | A website endpoint with no documented API |
| \`Only New Grants\` | Drops IDs seen in earlier runs | Remembers between runs |
| \`Eligibility Factors\` | Lists the reasons you may be eligible | Reads your company details from its system message |
| \`Save to Tracker\` | Adds a row with the status \`New\` | The table needs the exact field names |

### Good to know

This copy repairs a few things that would have held the original back.

- Schedule: the digest trigger fired before the fetch in the original. It runs at 9:00 here
- Model: the two chat nodes named no model, so n8n would use \`gpt-5-mini\`. OpenAI’s page, read on 12 November 2026, shuts it down on 11 December 2026. Mindket’s copy names \`gpt-5.6-terra\`, the replacement it gives
- Company text: the system message held another company’s profile. Mindket’s copy holds a placeholder
- Website endpoints: grants.gov does not document them, and they answered on 12 November 2026
- No repeats: \`Only New Grants\` remembers each grant ID between runs
- Empty days: with no new eligible grant, no email is sent
- Not advice: the eligibility check is a model’s reading of the grant text
- Your data: grant text and your company details go to OpenAI, rows to Airtable and the digest to Gmail
- Credentials: the JSON holds none

## README

```markdown
# Daily AI grant alerts checked for eligibility and emailed

An n8n workflow that watches grants.gov for new AI grants every morning. It skips the grants it has already seen, asks an OpenAI model to summarize each new one and to check it against your company details, and saves the result to an Airtable table. A second schedule, a little later, builds an email digest of the new grants marked eligible and sends it to your subscribers through Gmail.

## What is inside

- `workflow.json`: the workflow as n8n exports it, 24 nodes. Sixteen of them run and eight are sticky notes. It holds no credential.
- `README.md`: these notes.

## What we changed from the original copy

- `Everyday @ 9am` was set to the hour 8, so the digest could be built half an hour before the 8:30 fetch had started. It is set to 9 now, as its name says.
- The two `OpenAI Chat Model` nodes named no model, so n8n used the node's default, `gpt-5-mini`. OpenAI's deprecation page, read on 12 November 2026, shuts that model down on 11 December 2026 and names `gpt-5.6-terra` as its replacement. Both nodes name `gpt-5.6-terra` now.
- The system message in `Eligibility Factors` held another company's name, addresses and profile. It holds the placeholder `<YOUR_COMPANY_DETAILS>` now.
- The Airtable base and table IDs are placeholders: `<YOUR_AIRTABLE_BASE_ID>`, `<YOUR_GRANTS_TABLE_ID>` and `<YOUR_SUBSCRIBERS_TABLE_ID>`.
- The link to a sample Airtable base is gone from the sticky notes, and the note that held it is rewritten. The email subject had two typos and now reads `Daily newsletter of interesting US grants`.
- The credential links are gone, and the file's name is ours.
- Nothing else. The requests, the prompts, the table columns and the email template are as the file had them.

## Before you start

- An n8n instance, on n8n Cloud or your own server.
- An OpenAI API key.
- An Airtable account with a personal access token and a base that holds two tables.
- A Gmail account for the email credential.

The grants table needs these fields, spelled exactly like this:

- Text: `Opportunity Number`, `Title`, `URL`, `Goal`, `Success Criteria`, `Notes`, `Eligibility Notes`, `Duration`, `Agency`, `Agency Email`, `Agency Phone`
- Single select: `Status` with the options `New`, `Under Review`, `Interested` and `Not Interested`, and `Eligibility?` with the options `Yes` and `No`
- Date: `Posted Date` and `Response Date`
- Number: `Funding`, `Award Ceiling` and `Award Floor`
- Created time: `Created`

The subscribers table needs `Email` and `Status`. Only rows whose `Status` is `Active` get the digest.

## Set it up

1. In n8n, create a workflow, open its menu and choose Import from File. Pick `workflow.json`.
2. Open `Save to Tracker`, `Get New Eligible Grants Today` and `Get Subscribers`. Add an Airtable credential, then replace the three placeholders with your base and tables. A base ID starts with `app` and a table ID with `tbl`, and both are in the Airtable address.
3. Add an OpenAI credential and select it in `OpenAI Chat Model` and `OpenAI Chat Model1`.
4. Open `Eligibility Factors` and replace `<YOUR_COMPANY_DETAILS>` in its system message with who you are, where you are based and what you could do with funding.
5. Add a Gmail credential and select it in `Send Subscriber Email`.
6. Set the two schedules if you want other times. Keep the digest at least half an hour after the fetch.
7. Run `Everyday @ 8.30am`, check the new rows in the grants table, then run `Everyday @ 9am` and check the email.
8. Publish the workflow so the schedules run on their own.

## What happens in a run

1. `Everyday @ 8.30am` starts the fetch. `AI Grants since Yesterday` asks the grants.gov search for the keyword `ai`, forecasted and posted grants, from the last day, newest first, up to 5000 rows.
2. `Grants to List` splits the hits, and `Only New Grants` drops each grant ID that an earlier run already handled. `Get Grant Details` loads the full record of every grant that is left.
3. `Summarize Synopsis` returns a goal, a duration, a list of success criteria and a list of good things to know. `Eligibility Factors` returns the reasons your company fits, based on the agency, title, synopsis and eligibility text.
4. `Merge` joins the two answers, and `Save to Tracker` adds one row with the status `New`. `Eligibility?` is `Yes` when the list of reasons is not empty and `No` otherwise.
5. `Everyday @ 9am` starts the digest. `Get New Eligible Grants Today` reads the rows with the status `New`, `Eligibility?` set to `Yes` and a `Created` date of today.
6. `Generate Email` builds one HTML newsletter from those rows, with the title, agency, link, synopsis, success criteria and the posted and response dates. `Get Subscribers` reads the active subscribers, and `Send Subscriber Email` sends the digest to each one.

## What to change

- The topic: the `keyword` in `AI Grants since Yesterday`. Its `dateRange` of `1` is the last day.
- What counts as eligible: the system message of `Eligibility Factors`.
- The model: both `OpenAI Chat Model` nodes.
- The look of the email: the HTML in `Generate Email`. Its subject is in `Send Subscriber Email`.
- Where the grants are kept: replace `Save to Tracker` and the two Airtable reads with another store.

## Good to know

- Both fetch requests use the grants.gov website's own endpoints under `apply07.grants.gov/grantsws/rest`. They answered on 12 November 2026. They are not a documented API, so they can change.
- `Only New Grants` remembers grant IDs between runs, so each grant is processed once. To process everything again, use the Clear Deduplication History operation of a Remove Duplicates node.
- On a day with no new eligible grant, `Get New Eligible Grants Today` returns nothing and no email is sent.
- Each subscriber gets the same digest as a separate email, and there is no unsubscribe link. Add one before you mail people who did not ask for it.
- The eligibility answer is a model's reading of the grant text against your company details, not a legal or funding opinion. Read the grant before you apply.
- Data goes to three places: the grant text and your company details to OpenAI, the rows to Airtable and the digest to Gmail.
- Cost: OpenAI charges for two calls per new grant, and each call carries the grant text. The Gmail account has its own daily sending limit.
```

## What is in it

3 files, 44 KB, downloaded as a zip.

```text
NOTICE.md  660 B
README.md  6 KB
workflow.json  37 KB
```

## Workflow check

Checked by Mindket on 13 Nov 2026. Read from the workflow’s file, not from a run.

- Steps: 14 steps, starting on a schedule
- AI: 2 steps call an AI model: Summarize Synopsis and Eligibility Factors
- Sign-ins: Signs in to: Airtable, Gmail and OpenAI
- API keys: No API key is left in the file
- Step types: Mindket’s checker reads all 9 of its step types

## Get it

- [Get it on your Mindket account](https://account.mindket.com/account/?product=mindket#/market/fe9acfdb-06fc-4eab-a8a7-5ea6ed9c5199)
- [Its page on Mindket](https://mindket.com/p/fe9acfdb-06fc-4eab-a8a7-5ea6ed9c5199)
