The Business Situation

Rivermark Community Programs is a fictional 28-person nonprofit used for this representative case study. Its strategy team identifies grant opportunities, operations staff prepare program plans and collect supporting evidence, finance develops budgets, and the executive director approves final submissions.

Note: This case study is provided as a representative example of the types of AI integration and digital transformation solutions Intelligex designs and delivers. Actual engagements are tailored to each client’s goals, constraints, existing systems, timeline, and available resources, so the approach, tools, and outcomes may vary.

The grant process involves a grants manager, a grants coordinator, three program leads, a finance manager, an accountant, and the executive director. Other employees contribute documents or outcome evidence when a funded program reaches a reporting deadline.

The organization reviews approximately 18 new opportunities each month. It pursues about six, submits three to five applications, and maintains approximately 14 active awards with 24 open reporting obligations. In a typical month, staff also open or complete about 12 reporting cycles.

The existing tool set includes Gmail, Google Drive, shared spreadsheets, personal calendars, and documents prepared in Google Docs or Microsoft Office formats. These tools are individually suitable, but they do not provide a reliable relationship between an opportunity, its work plan, the submitted application, the resulting award, and the award’s reporting obligations.

The immediate risk is not simply a missed application. A late report, undocumented approval, outdated budget, or missing submission receipt can affect funder relationships and create avoidable compliance work. Management also lacks a dependable view of upcoming deadlines, assigned ownership, application volume, requested funding, awarded funding, and overdue reports.

The Existing Process

The original process developed incrementally as grant volume increased. It operates in the following chronological order:

  1. The grants manager receives opportunity notices through newsletters, direct emails, funder websites, and referrals.
  2. Potential opportunities are added to a shared spreadsheet. The amount of information entered depends on who creates the row.
  3. Guidelines and related documents are downloaded into Google Drive, but folder names and storage locations vary.
  4. The grants manager sends an email to program and finance staff asking whether the opportunity should be pursued.
  5. If the team decides to proceed, the grants coordinator creates a separate task list in a document or spreadsheet.
  6. Draft narratives, budgets, letters, and evidence are exchanged through Drive links and email attachments.
  7. Approvals are provided in email replies, meetings, or document comments. The final decision is not always recorded in the tracker.
  8. The grants manager submits the application through a funder portal and manually updates the spreadsheet.
  9. Submission confirmations are stored in Gmail, Drive, or both.
  10. If an application is awarded, staff add reporting dates to personal calendars and create another spreadsheet or document for the award.
  11. Program and finance staff collect reporting evidence through email shortly before each due date.
  12. Management reconciles spreadsheets, calendars, email, and Drive when it needs a portfolio report.

Process problem

  • Opportunity information is entered inconsistently.
  • Deadlines are copied into multiple calendars.
  • Owners and backup owners are not always visible.
  • Drafts and final files can have similar names.
  • Approval evidence is distributed across email threads.
  • Award reports are tracked separately from applications.

Practical business effect

  • Staff spend time checking basic eligibility and completeness.
  • A copied date or time-zone error can affect submission timing.
  • Follow-ups depend on the grants coordinator remembering them.
  • Reviewers may open an outdated narrative or budget.
  • There is no concise audit history for the submission decision.
  • Reporting obligations can be overlooked after an award begins.

The spreadsheet provides a list, but it does not enforce workflow stages, required fields, ownership, or relationships. Email provides communication, but it is a weak system of record because replies can be private, forwarded, or separated from the relevant files.

The organization also depends heavily on the grants coordinator’s knowledge of folder locations, deadlines, and follow-up routines. When that employee is unavailable, another team member must reconstruct the status from several tools.

What the New System Needed to Do

The design team documented the business and technical requirements before selecting the implementation approach.

Grant management system requirements
Requirement Required behavior Control
Opportunity intake Capture funder, program, amount, deadline, guidelines, eligibility, and source. Required fields and controlled values
Unique identification Give every opportunity, award, task, approval, document, and report a stable identifier. Airtable formulas and linked records
Duplicate handling Identify likely duplicate opportunities without deleting legitimate grant cycles. Duplicate key and human review
Opportunity scoring Apply a transparent score for strategic fit, eligibility, impact, value, and effort. Deterministic formula
Pursuit decision Require a named manager to approve or decline pursuit. Human decision recorded in Airtable
Work planning Create standard tasks when an opportunity is approved for pursuit. Make scenario and task templates
Document management Create a standard Google Drive folder structure and retain returned file identifiers. Shared Drive permissions and naming rules
Budget and submission approval Collect program, finance, executive, and threshold-based approvals. Approval records with timestamps
Deadline management Send reminders and escalations without sending the same reminder twice. Scheduled Make scenarios and event keys
Submission evidence Store confirmation numbers, receipts, final documents, and submission dates. Gmail evidence intake and Drive storage
Award continuity Link the awarded amount and agreement back to the original opportunity. Linked Award record
Reporting obligations Keep every interim, financial, outcome, and final report connected to its award. Linked Reporting Obligation records
Monitoring Show overdue work, upcoming deadlines, incomplete records, and automation failures. Airtable views and interfaces
Exception handling Route incomplete, duplicate, or failed records to a visible manual-review queue. Automation Log and exception statuses
Audit evidence Retain decisions, document links, timestamps, external identifiers, and error history. Related records and activity logs
Manual override Allow authorized staff to correct dates, reassign work, and retry failed automation. Restricted administrative fields

The system also needed to preserve human control. A score could help prioritize an opportunity, but it could not determine eligibility or make the final pursuit decision. The automation could prepare reminders and approval requests, but a person still had to approve the budget, verify the funder’s deadline, submit through the external portal, and attest that a report was complete.

Implementation Approaches Considered

Implementation options considered
Approach Connected tools Effort Customization Main limitation
Improve the existing spreadsheet process Google Sheets, Gmail, Drive Low Low Weak relationships, ownership, and audit controls
Build within Google Workspace Forms, Sheets, Drive, Gmail, Apps Script Medium High More custom code and maintenance
Use Airtable with Make Airtable, Google Drive, Make, Gmail Medium High Requires disciplined base design and automation monitoring
Purchase dedicated grant software Grant platform plus email and document integrations Medium to high Varies Higher commitment and possible mismatch with current process
Create a custom application Custom database, application, APIs, cloud storage High Very high Development, security, support, and ownership burden

Improving the spreadsheet

This option would add protected columns, validation lists, formulas, and calendar reminders. It would be inexpensive to start, but linked relationships between opportunities, approvals, awards, reports, tasks, and documents would remain difficult to maintain. Spreadsheet row changes also provide limited workflow control.

Building entirely in Google Workspace

Google Forms, Sheets, Drive, Gmail, and Google Apps Script could support the workflow. This approach would retain the current productivity suite and offer substantial customization. It was not selected because the organization would need to maintain custom scripts, relationship logic, administrative interfaces, and record-level workflow controls.

Connecting Airtable, Make, Google Drive, and Gmail

Airtable provides linked records, controlled fields, forms, interfaces, and operational views. Make provides cross-system orchestration, scheduled deadline checks, branching, error handling, and returned-identifier updates. Drive remains the document repository, while Gmail remains the communication and evidence channel.

This approach adds structure without requiring the nonprofit to build a complete application. It was selected for the representative implementation.

Purchasing dedicated grant software

A dedicated grant management product may be appropriate when requirements include funder research, complex compliance calendars, board reporting, external collaboration portals, advanced security, or vendor-supported implementation. Rivermark’s current volume and workflow did not yet justify replacing its existing document and email environment.

Creating a custom application

A custom application would provide the greatest control, but it would require database administration, application hosting, identity management, testing, monitoring, backups, and ongoing development. The organization’s requirements did not require that level of investment.

The Selected Solution

The selected solution uses Airtable as the structured system of record, Google Drive as the authoritative document repository, Make as the automation layer, and Gmail for notifications and submission evidence.

Selected tools and responsibilities
Tool Responsibility Important boundary
Airtable Intake, linked records, opportunity scores, owners, statuses, approvals, obligations, dashboards, and exception queues Does not replace final funder portals or document storage
Google Drive Guidelines, working drafts, budgets, approval snapshots, submission evidence, agreements, and reports Folder access follows organizational security groups
Make Record orchestration, folder creation, work-plan generation, reminders, escalations, email evidence handling, and error logging Does not make pursuit, approval, or compliance decisions
Gmail Assignment notices, reminders, escalations, approval requests, completion messages, and forwarded submission receipts Email replies are not treated as the authoritative approval record
Airtable interfaces Operational reporting for managers, finance, program owners, and automation administrators Access is limited by role and underlying base permissions
Optional AI service Draft guideline summaries and checklists from grant documents Outputs require human review and cannot make final decisions

The nonprofit retained the tools employees already used for writing, spreadsheets, files, and email. It removed manual folder setup, repetitive task creation, most routine reminder emails, and repeated reconciliation between application and award trackers.

Humans retained responsibility for deadline verification, eligibility interpretation, opportunity selection, budget approval, narrative approval, external submission, award acceptance, report attestation, and any policy exception.

System Architecture and Data Flow

The architecture separates structured workflow data from documents. Airtable stores facts, relationships, statuses, owners, and identifiers. Google Drive stores files. Make transfers information and returned identifiers between the two systems. Gmail communicates actions and can receive forwarded submission evidence.

  1. Opportunity intake: A grants employee submits an internal Airtable form. Airtable validates required fields and creates an Opportunity record with a stable Record ID. Incomplete or potentially duplicate submissions enter a review status.
  2. Pursuit review: Strategy, program, and finance staff review the opportunity. Airtable calculates a rule-based score. An authorized manager records the Pursuit Decision. Make does not act until the decision is Pursue and required ownership fields are populated.
  3. Workspace creation: A scheduled Make scenario finds records waiting for setup. It checks an idempotency event key, searches for an existing folder, creates the Drive folder structure if necessary, and writes the returned folder ID to Airtable.
  4. Work-plan generation: Make reads active Task Template records, creates linked Work Plan Task records, calculates due dates from the submission deadline, assigns owners, and records the setup event.
  5. Drafting and approval: Staff work in Drive. When a record enters Internal Review, Make creates approval records and sends Gmail requests. Approvers record decisions in Airtable. Rejections return the opportunity to Needs Revision.
  6. Deadline monitoring: A daily Make scenario searches open tasks, application deadlines, and reporting obligations. Filters select the applicable reminder stage. Gmail sends the message, and the event key prevents a duplicate reminder for the same record, due date, and stage.
  7. Submission evidence: The grants manager submits through the funder’s portal. The manager records the submission date and confirmation number in Airtable, then forwards the receipt to the monitored Gmail inbox with the grant ID in the subject. Make stores attachments in Drive and links the Gmail message ID to the Opportunity.
  8. Award creation: If funded, an authorized employee creates an Award linked to the Opportunity. The signed agreement and award amount are recorded. Reporting Obligation records are added from the agreement and remain linked to the Award.
  9. Report completion: Reminders drive evidence collection, drafting, review, and approval. After external submission, staff record the confirmation and final file. The obligation closes while the complete history remains connected to the Award and original Opportunity.
  • Intake: Restricted Airtable form
  • System of record: Airtable base with linked tables
  • Automation layer: Make scenarios running on scheduled queues
  • Document storage: Google Drive, preferably an organization-owned Shared Drive where available
  • Notifications: Gmail from a dedicated grant-operations mailbox
  • Reporting: Airtable views and role-specific interfaces
  • AI layer: Optional guideline summarization and checklist extraction through an approved AI service

Each Make scenario has a failure route. If an external action fails, the source record is marked Failed or Manual Review, the error is written to the Automation Log, and the business record remains visible in an exception view. A failure never silently changes an opportunity to Submitted, Approved, or Complete.

Data Structure

The Airtable base contains eight related tables: Opportunities, Work Plan Tasks, Task Templates, Approvals, Awards, Reporting Obligations, Documents, and Automation Log. A ninth Team table is useful for role assignments and delegation.

Opportunity fields

Core fields in the Opportunities table
Field Type Required Source Purpose and validation
Record ID Formula Yes Airtable Stable identifier in the format GRT-year-suffix
Created Date Created time Yes Airtable Intake timestamp
Last Updated Last modified time Yes Airtable Latest tracked field change
Funder Name Single-line text Yes Intake Trim leading and trailing spaces
Program Name Single-line text Yes Intake Official opportunity name
Grant Cycle Single-line text Yes Intake Year or cycle stated by funder
Source URL URL Yes Intake Authoritative guideline or funder page
Submission Deadline Date and time Yes Verified intake Absolute deadline, including time where stated
Deadline Time Zone Single select Yes Intake Funder’s stated time zone or Verified Not Stated
Requested Amount Currency Yes when pursuing Strategy and finance Must be zero or greater and within published limits
Cash Match Currency No Finance Defaults to zero; threshold may add approval
Opportunity Owner Collaborator Yes Strategy Accountable grants employee
Program Owner Collaborator Yes when pursuing Operations Responsible for narrative and evidence
Status Single select Yes User and automation Controlled workflow stage
Pursuit Decision Single select Yes after review Authorized manager Pending, Pursue, Do Not Pursue, or More Information
Strategic Fit Integer Yes for decision Strategy Allowed values 1 through 5
Eligibility Confidence Integer Yes for decision Strategy Allowed values 1 through 5, subject to human verification
Program Impact Integer Yes for decision Program owner Allowed values 1 through 5
Funding Value Integer Yes for decision Finance and strategy Allowed values 1 through 5
Preparation Effort Integer Yes for decision Opportunity owner Allowed values 1 through 5, where 5 is highest effort
Opportunity Score Formula No Airtable Weighted score from 0 to 100
Dedupe Key Formula Yes Airtable Normalized funder, program, cycle, and deadline
Duplicate Override Checkbox No Administrator Allows a verified legitimate cycle to proceed
Guideline Intake Attachment Attachment No Intake Temporary file before verified Drive transfer
Drive Folder ID Single-line text Automation Google Drive Returned folder identifier used by later scenarios
Drive Folder Link URL Automation Google Drive Human-accessible workspace link
Submission Date Date and time When submitted Opportunity owner Actual external submission time
Submission Confirmation ID Single-line text When available Funder portal External confirmation identifier
Submission Evidence Link URL When submitted Drive Receipt, screenshot, or confirmation file
Automation Status Single select Yes Make Pending, Processing, Complete, Failed, Manual Review, or Dead Letter
Last Automation Run Date and time No Make Latest processing attempt
Retry Count Integer Yes Make Defaults to zero and increments after failure
Error Message Long text No Make Sanitized error details without credentials
Notes Long text No Authorized users Context not represented by structured fields
Related records and key fields
Table Important fields Relationship
Work Plan Tasks Task ID, Opportunity, Task Type, Owner, Due Date, Status, Completed Date, Reminder Stage, Last Reminder, Escalation Date Many tasks belong to one Opportunity
Task Templates Template Name, Task Type, Offset Days, Default Role, Required, Active, Sequence Templates are copied into tasks when pursuit begins
Approvals Approval ID, Opportunity or Report, Approval Type, Sequence, Approver, Delegate, Status, Requested Date, Decision Date, Comment, Document Version Link Many approval records belong to an Opportunity or Reporting Obligation
Awards Award ID, Opportunity, Awarded Amount, Start Date, End Date, Agreement Link, Award Owner, Status, Reporting Schedule Verified An Award must link to its originating Opportunity
Reporting Obligations Report ID, Award, Report Type, Period Start, Period End, Due Date, Owner, Finance Owner, Status, Submission ID, Final Document Link Many obligations belong to one Award
Documents Document ID, Opportunity, Award, Report, Category, Drive File ID, Drive URL, Version, Final Flag, Uploaded Date, Gmail Message ID A document links to the most specific relevant business record
Automation Log Event Key, Record Type, Record ID, Scenario, Started At, Completed At, Status, Attempt Count, External ID, Error Class, Error Message One log entry records each idempotent automation event
Team User, Email, Department, Role, Active, Backup User, Approval Limit, Notification Preference Used for ownership, escalation, and delegation

Every Award must link to an Opportunity. Every Reporting Obligation must link to an Award. Airtable lookups expose the originating Opportunity ID on reports without duplicating editable opportunity data.

Airtable does not enforce relational constraints in the same way as a SQL database. Required links are therefore enforced through restricted forms, filtered views, Make validation, and an exception view that identifies orphaned records.

Workflow Statuses and Ownership

Opportunity workflow statuses
Status Meaning and owner Entry and exit conditions Reminder or escalation
New Grants coordinator validates intake Enters from form; exits when required fields are complete Reminder after one business day
Duplicate Review Grants manager compares matching records Entered when a dedupe key matches; exits after merge or override Escalates after two business days
Eligibility Review Strategy and program owner review guidelines Exits when score inputs and eligibility notes are complete Reminder based on decision date target
Decision Needed Grants manager or strategy lead records pursuit decision Pursue moves forward; Do Not Pursue closes; More Information returns to review Escalates if deadline is approaching
Planning Automation creates workspace and tasks Enters after Pursue; exits after successful setup Failure enters Automation Exception
Drafting Program, grants, and finance owners prepare content Exits when required tasks and documents are ready Task reminders at configured intervals
Internal Review Opportunity owner checks package completeness Exits when review checklist is complete Reminder after one day
Approval Pending Named approvers review current document versions All required approvals move to Ready to Submit; rejection moves to Needs Revision Daily reminders and delegated escalation
Needs Revision Opportunity owner resolves comments Returns to Internal Review with a new approval cycle Escalates relative to submission deadline
Ready to Submit Grants manager performs final portal checks Exits only after external submission evidence is recorded High-priority reminders at three days, one day, and same day
Submitted Strategy owns follow-up Exits when decision is Awarded, Declined, or Withdrawn Optional decision follow-up date
Awarded Award owner activates post-award workflow Requires agreement, amount, dates, and obligations Exception if reporting schedule is not verified
Declined or Withdrawn Grants manager records closure reason Closed unless reopened by an administrator No routine reminders
Automation Exception Automation administrator and business owner investigate Exits after correction and controlled retry Immediate error notification
Reporting obligation statuses
Status Owner Forward movement Backward movement or closure
Scheduled Award owner Evidence collection starts at the configured lead time Cancelled only with documented agreement change
Evidence Collection Program and finance owners Required evidence is linked Missing evidence keeps the record open
Drafting Report owner Draft and financial schedule are complete Returns for missing or inconsistent information
Internal Review Award owner Completeness checklist passes Returns to Drafting with comments
Approval Pending Finance and executive approvers All required approvals are recorded Rejection returns to Drafting
Ready to Submit Award owner External submission is completed Can return to review if final verification fails
Submitted Award owner Confirmation and final file are recorded Returns to Needs Revision if the funder requests changes
Accepted Award owner Closed after acceptance or documented completion Reopened only through an authorized change
Overdue Award owner and executive sponsor Moves forward after recovery plan and submission Cannot be hidden by changing the due date without an audit note
Exception Automation administrator Returns to prior business status after recovery Moves to Dead Letter after repeated technical failure

Step-by-Step Implementation

Step 1: Prepare the Accounts and Permissions

  1. Create the Airtable environment. Create a production base and a separate test base. The required Airtable subscription must support the number of editors, forms, interfaces, automation history, and permission controls needed by the organization. Verify current licensing directly rather than assuming that a particular feature is included.
  2. Assign Airtable roles. Limit full base editing to the grants manager, grants coordinator, finance manager, and automation administrator. Program leads and executive reviewers should use restricted interfaces where practical. People who can only view reports should not receive schema-editing access.
  3. Prepare Google Drive. Create an organization-owned Shared Drive if the Google Workspace subscription supports it. Otherwise, use a dedicated folder owned by an organizational automation account rather than an employee’s personal Drive.
  4. Create access groups. Establish groups for grant operations, finance reviewers, program contributors, executive approvers, and automation administrators. Use these groups for Drive access instead of assigning permissions person by person.
  5. Prepare Gmail. Use a dedicated mailbox such as YOUR_EMAIL_ADDRESS for automation notifications and forwarded evidence. Connect Make through OAuth. Do not share the mailbox password or use an employee’s personal connection.
  6. Create the Make organization and connections. Add separate connections for test and production. Authorize Airtable record access only to the required bases. Authorize Google Drive access only to the grant workspace. Authorize Gmail for the dedicated mailbox.
  7. Set the time zone. Configure Airtable date display, Make scenario scheduling, and Gmail templates around the organization’s approved time zone. Store the funder’s stated deadline time zone separately. Test daylight-saving changes and deadlines from other time zones.
  8. Designate test users. Create test assignments for grants, program, finance, executive, and administrator roles. Test users must not receive production grant information.
  9. Protect credentials. Store OAuth connections and API secrets in Make’s connection or secret facilities. Never place credentials in Airtable fields, Drive documents, scenario notes, or email templates.
  10. Document permission boundaries. Base editors may be able to see more than interface-only users. Confirm that any restricted budget, personnel, beneficiary, or banking information is stored only where the permission model is sufficient.

Step 2: Build the Intake

Create an internal Airtable form connected to the Opportunities table. Restrict the form to authenticated organizational users where the available subscription supports that control. The form is not intended for public funder or applicant access.

Opportunity intake fields
Field Input control Validation
Funder Name Required text At least two meaningful characters; no internal abbreviations unless standardized
Program Name Required text Use the official opportunity title
Grant Cycle Required text Enter the published year or cycle
Source URL Required URL Must point to the authoritative source where available
Submission Deadline Required date and time Verify against the guideline; do not infer a missing time
Deadline Time Zone Required dropdown Approved time zones plus Verified Not Stated
Maximum Funding Currency Zero or greater
Expected Request Currency Can be provisional at intake
Opportunity Type Dropdown Operating, Program, Capital, Equipment, Research, Capacity, or Other
Eligibility Notes Long text Record the relevant guideline section
Guideline Attachment Optional file Organization policy limit of 20 MB; encrypted files enter manual review
Guideline Drive URL Optional URL Use when the document has already been stored in Drive
Suggested Program Owner Collaborator Must be an active Team record
Source Email Subject Optional text Useful for tracing the original notice
Intake Notes Optional long text Do not enter credentials or unnecessary personal information

The confirmation message tells the employee that submission creates a record for validation, not an approved pursuit. It also displays the instruction to retain the original guideline until Drive transfer is confirmed.

Incomplete submissions remain in New status. A Make validation pass sets Automation Status to Manual Review if the deadline, funder, program, source, or owner cannot be resolved.

The duplicate key combines normalized funder name, program name, cycle, and deadline. A possible match enters Duplicate Review. Staff compare the records because two legitimate opportunities can have similar names. The system never deletes a suspected duplicate automatically.

Spam risk is reduced by restricting intake to organizational users. If the form must be exposed externally, add the platform’s available authentication or anti-abuse controls and route all external entries to a quarantine view before running any automation.

Step 3: Create the System of Record

  1. Create the nine Airtable tables described in the data model.
  2. Use singular linked-record fields such as Opportunity on an Award and Award on a Reporting Obligation. Disable linking to multiple records where the business relationship must be singular.
  3. Add controlled single-select values before importing historical data. Avoid allowing users to create new status values during normal work.
  4. Add formula fields for Record ID, score, dedupe key, days remaining, and workflow health.
  5. Create Task Template records for eligibility, narrative, budget, attachments, internal review, approval, submission, and follow-up.
  6. Create filtered operational views. Prefix automation queue views with Automation - and human views with Review - so their purposes remain clear.
  7. Create an Automation Log table before building Make scenarios. Technical logging should not be added after deployment.
  8. Import open opportunities first. Import awards and reports only after opportunity relationships have been validated.
  9. Preserve the old spreadsheet as read-only for a defined transition period. Do not allow parallel editing after the production cutover.

Recommended Task Template offsets are stated as calendar days before the external submission deadline. Rivermark uses conservative lead times and adjusts individual tasks when a deadline is unusually short.

Initial task templates
Task Offset Default owner role Required
Confirm eligibility and restrictions 30 days before Grants manager Yes
Confirm program scope and outcomes 24 days before Program owner Yes
Prepare narrative draft 14 days before Grants coordinator Yes
Prepare budget and budget narrative 12 days before Finance owner Yes
Collect required attachments 10 days before Grants coordinator Yes
Complete internal review 7 days before Opportunity owner Yes
Complete approvals 3 days before Named approvers Yes
Submit and capture confirmation 0 days Opportunity owner Yes

If the opportunity is created fewer than 30 days before its deadline, Make marks past calculated dates as Compressed Schedule. The opportunity owner must set feasible internal dates. Automation does not silently move an external deadline.

Step 4: Connect the Tools

Build and test each connection independently before assembling the complete scenarios. Interface and module labels can vary as Make, Airtable, Google Drive, and Gmail update their products. The underlying trigger, mapping, and destination behavior should remain as follows.

Cross-system field mapping
Source Source field Destination Destination field or action
Airtable Opportunity Record ID Google Drive Folder name prefix
Airtable Opportunity Funder and Program Name Google Drive Sanitized folder name
Google Drive Folder ID Airtable Opportunity Drive Folder ID
Google Drive Folder URL Airtable Opportunity Drive Folder Link
Airtable Task Template Task Type, Offset, Role Airtable Work Plan Task Task Name, Due Date, Owner
Airtable Approval Approver, deadline, record ID Gmail Recipient, subject, action message
Gmail Message ID Automation Log External ID and idempotency reference
Gmail Evidence attachment Google Drive Submission Evidence or Report folder
Google Drive Uploaded file ID and URL Airtable Documents Drive File ID and Drive URL
Airtable Award Award ID and Drive folder Airtable Reporting Obligation Linked Award and inherited workspace reference

Airtable to Make

Use scheduled queue searches rather than relying only on a one-time event cursor. For example, the setup scenario searches a filtered view containing records where Pursuit Decision is Pursue, Automation Status is Pending, required owners are populated, and Drive Folder ID is empty.

Authenticate with an organizational Make connection authorized only for the required Airtable base and record operations. Do not grant workspace-wide access unless the connector and organizational policy require it.

Make to Google Drive

The source data includes Record ID, funder name, program name, cycle, and year. Make removes characters that are unsuitable for file names, shortens excessively long names, and preserves the Record ID at the beginning.

The folder action returns a Drive folder ID. Make immediately writes that ID to Airtable. If the Airtable update fails after folder creation, the next attempt searches the approved parent folder for the exact Record ID prefix before creating another folder.

Make to Gmail

The dedicated Gmail connection sends messages from the grant-operations mailbox. Templates include the Record ID, task or approval, due date, owner, static link to the relevant Airtable interface, and Drive folder link.

The Gmail send result is logged where the connector returns a message identifier. A notification failure does not change a business approval or submission status.

Gmail to Drive and Airtable

The evidence scenario watches a dedicated Gmail label such as Grant-Evidence. Staff forward submission receipts to the monitored mailbox and include the identifier in the subject, such as [GRT-2026-A7K9P2] or [REP-2027-F4M8Q1].

Make extracts the identifier with this pattern:

\[(GRT|REP)-[0-9]{4}-[A-Z0-9]{6}\]

If exactly one matching Airtable record is found, attachments are uploaded to its evidence folder. If no record or more than one record is found, the email enters Manual Review and is not attached automatically.

Step 5: Build the Core Automation

Automation 1: Validate a new opportunity

  • Trigger: Scheduled Airtable search every 10 minutes for New records not yet validated.
  • Conditions: Required fields are present; deadline is in the future unless a historical-import flag is set.
  • Actions: Normalize text, calculate the dedupe key, search for matches, assign initial owner, and set the next status.
  • Fields updated: Status, Automation Status, Last Automation Run, Retry Count, and Error Message.
  • Notification: Email the grants coordinator only when information is missing or a possible duplicate exists.
  • Exception: Invalid deadlines, inactive owners, and ambiguous duplicates enter Manual Review.

The exact action order is:

  1. Read the queue record.
  2. Write Automation Status as Processing and record the start time.
  3. Search Automation Log for validate|AirtableRecordID|v1.
  4. If a completed event exists, set the record to the logged result and stop.
  5. Check required values and allowed selections.
  6. Search other Opportunities for the same Dedupe Key.
  7. Set Duplicate Review if a match exists and Duplicate Override is false.
  8. Otherwise set Eligibility Review.
  9. Create the completed Automation Log record.
  10. Set Automation Status to Complete and clear the prior error.

Automation 2: Create the grant workspace and work plan

  • Trigger: Scheduled search for Pursue records in the setup queue.
  • Conditions: Opportunity Owner, Program Owner, deadline, request amount, and approved pursuit decision are present.
  • Actions: Reserve an event key, create or locate folders, transfer the guideline, create tasks from templates, and send assignments.
  • Fields updated: Drive Folder ID, Drive Folder Link, Status, Automation Status, Last Automation Run, and Retry Count.
  • Notification: Send a setup summary to the opportunity owner, program owner, and finance owner.
  • Exception: Folder, transfer, or task failures leave the record in Planning with Automation Status Failed.

The action order is:

  1. Search Automation Log for setup|OpportunityRecordID|v1.
  2. Set Automation Status to Processing.
  3. Sanitize the folder name while preserving the Record ID.
  4. Search the approved annual parent folder for an existing folder beginning with that Record ID.
  5. Create the opportunity folder only if no exact record folder exists.
  6. Create the six standard subfolders in sequence.
  7. Write the root folder ID to Airtable before creating tasks.
  8. Download the temporary Airtable guideline attachment, if present.
  9. Upload it to 01_Guidelines and verify that Drive returned a file ID and nonzero file size.
  10. Create a Documents record with the returned Drive identifier.
  11. Read active Task Template records in sequence order.
  12. Create each linked Work Plan Task and calculate its due date from the external deadline and template offset.
  13. Flag tasks whose calculated date is already past as Compressed Schedule.
  14. Send one consolidated Gmail notification instead of a separate email for every task.
  15. Set Opportunity Status to Drafting and Automation Status to Complete.
  16. Write a completed log entry containing the Drive folder ID.

Automation 3: Synchronize document evidence

  • Trigger: Gmail message receives the Grant-Evidence label.
  • Conditions: Subject contains one valid grant or report ID; sender is an allowed organizational user or trusted automated sender.
  • Actions: Check Gmail Message ID, locate the related Airtable record, download attachments, upload files to Drive, and create Documents records.
  • Fields updated: Submission Evidence Link, Gmail Message ID, document category, and automation timestamps.
  • Notification: Send a success message only when requested; always notify on ambiguous matching or failed upload.
  • Exception: Unsupported, encrypted, empty, or oversized attachments enter Manual Review.

The Gmail Message ID is the first idempotency check. If that ID already appears in Automation Log with status Complete, Make stops without uploading the attachment again.

Automation 4: Activate an award and reporting plan

  • Trigger: Scheduled search for Award records with Status Setup Pending.
  • Conditions: Linked Opportunity, awarded amount, award dates, agreement link, award owner, and reporting schedule verification are present.
  • Actions: Create award folders, verify reporting obligations, create report folders, and initialize reminders.
  • Fields updated: Award Folder ID, Award Status, report folder identifiers, and automation fields.
  • Notification: Send the award owner and finance manager a portfolio summary with all recorded reporting dates.
  • Exception: An award cannot become Active if no reporting obligations are recorded or if the agreement has not been linked.

Reporting dates are entered by a human from the signed agreement. Make can generate folders and tasks from those dates, but it does not infer contractual obligations in the core implementation.

Step 6: Add Approvals, Reminders, and Escalations

Approval rules

Rivermark uses the following approval sequence:

  1. The program owner confirms that the narrative, outcomes, staffing, and operational commitments are achievable.
  2. The finance manager confirms the request amount, budget, match, indirect costs, and financial reporting commitments. Program and finance reviews can occur in parallel.
  3. If Cash Match is at or above the organization’s documented threshold of $25,000, a treasurer approval record is also required. This is a representative internal rule, not a general recommendation.
  4. After all prerequisite approvals are Approved, the executive director receives the final submission approval.
  5. Only after executive approval does the Opportunity move to Ready to Submit.

Each approval record stores the approver, delegate, approval type, sequence, request timestamp, decision, decision timestamp, comments, and the Drive link for the reviewed document version. An Airtable last-modified-by field can provide additional evidence where supported, but it does not replace the named approver field.

Approval automation

  • Trigger: Opportunity enters Approval Pending and no active approval cycle exists for the current document version.
  • Conditions: Required tasks are complete and the narrative, budget, and checklist links are present.
  • Actions: Create program and finance approval records, add threshold approval if required, and send Gmail requests.
  • Fields updated: Approval Cycle, Approval Status, Requested Date, and current document version.
  • Notification: Email each active approver with the Record ID, deadline, document links, and interface link.
  • Exception: Missing approver or missing version link stops the request and places the Opportunity in Manual Review.

A separate scheduled scenario checks approval records. When all prerequisite records are Approved, it creates the executive approval. When every required approval in the cycle is Approved, it changes the Opportunity to Ready to Submit and sends final confirmation.

A rejection requires a comment. Make changes the Opportunity to Needs Revision, reopens the applicable task, and informs the owner. After changes, the owner starts a new approval cycle so the earlier decision remains in the audit history.

Reminder and escalation timing

Default reminder rules
Record Reminder Escalation
Open work-plan task Seven, three, and one calendar day before due date One day overdue to owner and opportunity owner
Application deadline Fourteen, seven, three, one, and zero days before deadline Two days before deadline if not Ready to Submit
Approval After 24 hours, then daily After 48 hours to designated delegate or supervisor
Reporting obligation Thirty, fourteen, seven, three, one, and zero days before deadline One day overdue to award owner, finance manager, and executive sponsor

Reminder event keys include the record ID, current due date, and reminder stage. If a due date changes, a new event key is produced. The change must also be documented in the record’s deadline-change note.

An unavailable approver is handled through the Team table. The delegate must already have the appropriate organizational authority and system access. The system does not assume that an out-of-office message authorizes another person to approve.

Step 7: Add Documents and File Management

The annual root folder follows this structure:

Grant Management
  Fiscal Year
    GRT-YYYY-SUFFIX_Funder_Program
      01_Guidelines
      02_Working_Drafts
      03_Budget
      04_Approvals
      05_Submission_Evidence
      06_Award_and_Reports

Award and report folders use their own identifiers:

06_Award_and_Reports
  AWD-YYYY-SUFFIX
    Agreement
    Reporting_Obligations
      REP-YYYY-SUFFIX_Report_Type
        Evidence
        Working_Draft
        Finance
        Final_Submission
        Confirmation

File names begin with the relevant record ID, category number, descriptive name, version, and date. For example:

GRT-2026-A7K9P2_03_Budget_v03_2026-09-22.xlsx
REP-2027-F4M8Q1_Final_Outcome_Report_2027-04-28.pdf
  • Google Docs version history is used for collaborative drafts.
  • Final submission files are exported or copied into the final folder and marked with Final Flag in Airtable.
  • Prior approved versions are retained rather than overwritten.
  • Drive sharing is inherited from the controlled parent folder. Public link sharing is disabled.
  • Temporary Airtable attachments are cleared only after the Drive file ID and size are verified and the retention period has passed.
  • Duplicate documents are identified by Gmail Message ID, original file name, record ID, and size. A suspected duplicate is retained in review rather than silently deleted.
  • Encrypted or unsupported files are assigned to a person for manual storage and verification.
  • Archiving occurs after the organization’s retention policy and grant agreement requirements have been reviewed.

Step 8: Add Reporting and Operational Views

Operational views and filters
View Primary filter Owner
New Opportunities Status is New or Eligibility Review Grants coordinator
Decision Needed Status is Decision Needed Grants manager
Upcoming Deadlines Open records due within 30 days Strategy
Work Awaiting Action Task is open and owner is current user All contributors
Overdue Work Due date is before current time and status is not complete Opportunity or award owner
Incomplete Records Required operational field is empty Grants coordinator
Approval Queue Approval Status is Pending Approvers
Rejected Items Approval Status is Rejected or record is Needs Revision Record owner
Reporting Calendar Obligation is not Accepted or Cancelled Award owner
Manual Review Automation Status is Manual Review Business owner and administrator
Automation Failures Automation Status is Failed or Dead Letter Automation administrator
Recently Completed Completion date is within the last 30 days Management

Airtable interfaces summarize application volume, amount requested, amount awarded, status distribution, deadlines by month, reports by owner, overdue obligations, and average processing time. The dashboard reads directly from the linked tables and does not require a duplicate reporting spreadsheet.

Calculated fields include Days to Deadline, Days Overdue, Submission Lead Time, Approval Duration, Open Task Count, Required Document Count, and Reporting Completion Rate. Dashboard owners review filters after any status or schema change.

Interfaces refresh from the Airtable base as records change. A daily reconciliation scenario flags records that appear inconsistent, such as Submitted without a submission date, Awarded without an Award record, or Accepted reports without final document links.

Step 9: Add Security and Governance Controls

  • Least privilege: Grant contributors receive only the access needed for their role. Schema editing and automation configuration are limited to administrators.
  • Role-based interfaces: Finance sees budget and reporting views. Program staff see assigned opportunities and reports. Executive users see approval queues and portfolio summaries.
  • Sensitive fields: Banking details, credentials, tax identifiers, beneficiary-level personal data, and unrelated personnel information are not stored in the grant base unless formally required and appropriately protected.
  • Shared links: Drive links are restricted to organizational accounts or approved external collaborators. Public sharing is disabled by default.
  • Credential storage: Airtable, Drive, Gmail, and AI credentials remain in managed Make connections. Scenario logs must not contain bearer tokens.
  • Activity logs: Airtable record history, Drive activity, Gmail message identifiers, Make execution history, and Automation Log records together provide operational evidence.
  • Former employee removal: Identity access, group membership, Airtable collaborator access, Gmail delegation, Drive access, and Make connections are reviewed during offboarding.
  • Retention: Retention periods follow award terms, organizational policy, legal requirements, and funder instructions. A record is not deleted merely because a report is complete.
  • Backups: The owner performs scheduled base exports or approved backup procedures, verifies Drive recovery controls, and exports Make scenario blueprints without credentials.
  • Privacy: Intake instructions prohibit unnecessary personal data. AI processing uses only approved documents and an approved service configuration.
  • Human approval: Pursuit, budget, submission, award acceptance, and final report certification remain human-controlled.
  • Audit evidence: Every approval points to the reviewed document version and records the decision time, approver, and comment.

The organization should review applicable grant, privacy, financial, contractual, and records-management requirements. This workflow provides operational controls but does not itself establish regulatory compliance.

Step 10: Deploy and Test

  1. Build the Airtable schema in the test base.
  2. Create a test Drive root and test Gmail label that contain no production information.
  3. Duplicate Make scenarios for testing and connect them only to test systems.
  4. Create representative opportunity, approval, award, report, and failure records.
  5. Run each module manually and inspect its output bundle before enabling a schedule.
  6. Complete unit tests for formula fields, folder names, date offsets, field mappings, and event keys.
  7. Complete end-to-end tests from intake through reporting closure.
  8. Have grants, program, finance, executive, and administrative users perform user acceptance testing.
  9. Pilot the production system with two opportunities and one existing award.
  10. Reconcile Airtable, Drive, Gmail, and Make after each pilot record.
  11. Freeze the previous spreadsheet as read-only after accepted migration.
  12. Enable production scenarios in phases: intake, setup, documents, reminders, approvals, then award reporting.
  13. Monitor every production run during the first week and review failures daily during the first month.
  14. Publish a short user guide covering intake, ownership, status changes, document names, approvals, submission evidence, and recovery requests.
  15. Assign a business owner and a backup owner before launch.

The rollback approach is to disable the affected Make scenario, leave business records intact, and temporarily process the queue manually. External submissions and approvals are never rolled back automatically. Any data correction is recorded with a note and timestamp.

Code and Configuration

The core implementation does not require a general-purpose script. Airtable formulas and native Make, Google Drive, Gmail, and Airtable actions provide the required automation. This reduces the amount of custom code that the nonprofit must maintain.

Airtable Record ID formula

Place this formula in the Opportunity Record ID field:

"GRT-" & DATETIME_FORMAT(CREATED_TIME(), "YYYY") & "-" & UPPER(RIGHT(RECORD_ID(), 6))

Use the same pattern with AWD, REP, TSK, APR, and DOC prefixes in the related tables. The formula requires no credentials and runs whenever Airtable creates the record.

Opportunity score formula

IF(
  COUNTA(
    {Strategic Fit},
    {Eligibility Confidence},
    {Program Impact},
    {Funding Value},
    {Preparation Effort}
  ) = 5,
  ROUND(
    (
      ({Strategic Fit} * 30) +
      ({Eligibility Confidence} * 25) +
      ({Program Impact} * 20) +
      ({Funding Value} * 15) +
      ((6 - {Preparation Effort}) * 10)
    ) / 5,
    0
  )
)

The formula returns a value from 0 to 100 when all five inputs are present. It is a prioritization aid, not an approval rule. Before deployment, test the minimum and maximum values and confirm that Preparation Effort is intentionally inverted.

Duplicate key formula

LOWER(SUBSTITUTE(TRIM({Funder Name}), " ", "")) &
"|" &
LOWER(SUBSTITUTE(TRIM({Program Name}), " ", "")) &
"|" &
LOWER(SUBSTITUTE(TRIM({Grant Cycle}), " ", "")) &
"|" &
DATETIME_FORMAT({Submission Deadline}, "YYYY-MM-DD")

This catches likely duplicates but does not guarantee semantic equivalence. Punctuation and funder naming variations can still require human comparison.

Days-to-deadline formula

IF(
  AND(
    {Submission Deadline},
    {Status} != "Submitted",
    {Status} != "Declined",
    {Status} != "Withdrawn"
  ),
  DATETIME_DIFF({Submission Deadline}, NOW(), "days")
)

Airtable’s NOW() refresh behavior is suitable for views but should not be the only reminder trigger. Make performs scheduled deadline searches using the actual date-time field.

Workflow health formula

IF(
  OR(
    {Automation Status} = "Failed",
    {Automation Status} = "Dead Letter"
  ),
  "Automation Exception",
  IF(
    AND(
      {Submission Deadline},
      {Submission Deadline} < NOW(),
      {Status} != "Submitted",
      {Status} != "Declined",
      {Status} != "Withdrawn"
    ),
    "Overdue",
    IF(
      AND(
        {Submission Deadline},
        DATETIME_DIFF({Submission Deadline}, NOW(), "days") <= 7
      ),
      "Due Soon",
      "On Track"
    )
  )
)

Idempotency event-key templates

validate|{{AIRTABLE_RECORD_ID}}|v1
setup|{{AIRTABLE_RECORD_ID}}|v1
approval-request|{{APPROVAL_RECORD_ID}}|{{APPROVAL_CYCLE}}
task-reminder|{{TASK_RECORD_ID}}|{{DUE_DATE_YYYY_MM_DD}}|D7
report-reminder|{{REPORT_RECORD_ID}}|{{DUE_DATE_YYYY_MM_DD}}|D30
gmail-evidence|{{GMAIL_MESSAGE_ID}}
award-setup|{{AWARD_RECORD_ID}}|v1

Store event keys in a single-line text field in Automation Log. Configure that field as the first lookup in each scenario. Process queue records sequentially where practical, set the business record to Processing before external writes, and search Drive before creating any folder after a partial failure.

Core Make scenario configuration

Native scenario module sequence
Scenario Module sequence Schedule
Opportunity validation Airtable search, log lookup, validation router, duplicate search, Airtable update, log create, Gmail exception notice Every 10 minutes
Workspace setup Airtable queue search, log lookup, Drive folder search, Drive folder create, Airtable update, template search, task create, Gmail summary Every 10 minutes
Deadline reminders Airtable open-item searches, date filters, event-key lookup, Gmail send, record update, log create Daily before working hours
Approvals Airtable approval queue search, prerequisite aggregation, Gmail request, approval status aggregation, Opportunity update Every 15 minutes
Evidence intake Gmail watch, subject parser, log lookup, Airtable record search, attachment iterator, Drive upload, Documents create Every 5 minutes
Award and report setup Airtable award queue search, obligation validation, Drive folder creation, report updates, Gmail summary Hourly
Reconciliation Airtable searches for invalid state combinations, exception updates, administrator summary Daily

For each module, configure a failure route that captures the module name, source Record ID, scenario name, attempt number, sanitized error text, and timestamp. Retry transient connection and rate-limit errors with increasing delays. Validation failures should not be retried until a user corrects the record.

Test every formula with blank fields, minimum scores, maximum scores, closed statuses, past deadlines, date changes, and duplicate records. Inspect Make execution bundles to confirm that the returned Google Drive file and folder IDs are mapped back to the correct Airtable fields.

Failure Handling and Operational Reliability

Failure and recovery procedures
Failure Automated response Manual recovery Owner
Missing required data Set Manual Review and send a correction notice Complete fields and set Retry Requested Business record owner
Possible duplicate record Set Duplicate Review and stop setup Merge, close, or apply authorized override Grants manager
Duplicate Make event Find completed event key and stop None unless the prior event was incomplete Automation administrator
Invalid status value Reject transition and record validation error Select an allowed status Record owner
Partial folder creation Mark Failed and preserve returned folder ID Verify folders, then retry using search-before-create Automation administrator
Airtable update fails after Drive creation Keep the run incomplete and log the Drive ID where possible Search by Record ID, update Airtable, and resume Automation administrator
Authentication expires Scenario fails before processing later records Reconnect OAuth, test one record, then resume queue System administrator
API or connector rate limit Delay and retry with increasing intervals Reduce schedule frequency or bundle size if persistent Automation administrator
Timeout Retry only idempotent modules Inspect whether the external action completed before retrying Automation administrator
Approver unavailable Notify approved delegate after configured period Authorized manager reassigns the approval Approval owner
Approval rejected Set Needs Revision and reopen relevant task Revise documents and create a new approval cycle Opportunity or report owner
Drive upload fails Keep source attachment and mark document Failed Upload manually or retry after correcting access Grants coordinator
Unsupported attachment Place in Manual Review Convert or store the file through an approved method Grants coordinator
Invalid recipient email Log notification failure without changing business status Correct Team record and resend Team administrator
Gmail send failure Retry transient errors and log failure Send manually using the stored template Record owner
Malformed evidence subject Do not upload; label for review Add the correct Record ID and reprocess Grants coordinator
Repeated technical failure Move to Dead Letter after three controlled attempts Investigate, repair, and create a new recovery event Automation administrator

The Automation Log acts as a lightweight dead-letter queue. A record reaches Dead Letter only after repeated technical attempts. Business validation issues remain in Manual Review because retries cannot repair missing or incorrect information.

Staff identify failures through the Automation Failures interface, daily reconciliation email, and Make execution monitoring. The recovery procedure is:

  1. Confirm the business record and failed module.
  2. Determine whether the external action already completed.
  3. Correct data, permissions, credentials, or service availability.
  4. Increase Retry Count and set Retry Requested.
  5. Run one controlled test.
  6. Verify Airtable, Drive, Gmail, and the Automation Log.
  7. Close the error only after reconciliation.

Error messages are sanitized. They may include response status, module, timestamp, and record identifier, but must not include OAuth tokens, API keys, file contents, or unnecessary personal information.

A Complete Example

The grants coordinator identifies a fictional opportunity called the Community Technical Skills Initiative from a fictional funder called the Oak Hollow Community Fund. The guideline permits requests up to $100,000 and lists a deadline of September 30, 2026 at 5:00 p.m. in the funder’s stated time zone.

  1. The coordinator submits the Airtable intake with the source URL, guideline PDF, proposed $85,000 request, deadline, cycle, and suggested program owner.
  2. Airtable creates GRT-2026-A7K9P2. The Dedupe Key has no match, so the record enters Eligibility Review.
  3. Staff enter scores of 5 for Strategic Fit, 5 for Eligibility Confidence, 4 for Program Impact, 4 for Funding Value, and 3 for Preparation Effort. The formula produces a score of 89.
  4. The grants manager reviews the guideline and records Pursuit Decision as Pursue. The score supports the discussion but does not make the decision.
  5. Make finds the record in the setup queue and reserves setup|recSourceIdentifier|v1 in the Automation Log.
  6. Make creates the Drive folder GRT-2026-A7K9P2_Oak_Hollow_Community_Technical_Skills and the six standard subfolders. Drive returns a folder ID, which Make writes to Airtable.
  7. The guideline attachment is uploaded to 01_Guidelines. A Documents record stores the Drive file ID, URL, category, size, and upload time.
  8. Make reads the active Task Templates and creates eight linked tasks. The grants coordinator, program owner, and finance manager receive one consolidated Gmail message.
  9. The program and finance teams prepare the narrative and budget. The proposed cash match is $10,000, so the additional $25,000 threshold approval is not required.
  10. When required tasks are complete, the opportunity owner changes the status to Approval Pending. Make creates parallel Program and Finance approvals.
  11. Finance initially rejects the budget because the equipment total differs from the narrative. The Opportunity moves to Needs Revision, and the rejection comment remains on the first approval cycle.
  12. The owner corrects the budget, saves version 4, and starts a new approval cycle. Program and finance approve. Make then creates the executive approval.
  13. After executive approval, Airtable changes the status to Ready to Submit. Gmail sends the grants manager a final submission message with the deadline, folder link, and approval summary.
  14. The grants manager submits through the funder portal and records the confirmation number CN-2026-1842. The receipt is forwarded to the monitored Gmail inbox with [GRT-2026-A7K9P2] in the subject.
  15. The first Drive upload receives a transient connector error. Make retries after a delay, confirms that no file with the same Gmail Message ID was already stored, and completes the upload.
  16. The Documents record receives the returned Drive file ID. The Opportunity is marked Submitted with the submission time and evidence link.
  17. In this representative walkthrough, staff later record an award of $72,000. They create an Award linked to GRT-2026-A7K9P2, attach the signed agreement, and enter three reporting obligations from the agreement.
  18. One obligation receives REP-2027-F4M8Q1. Its due date, program owner, finance owner, evidence folder, approval records, final report, and submission confirmation all remain linked to the Award and original Opportunity.
  19. After the report is submitted and the confirmation is stored, its status changes to Submitted and then Accepted following human verification.

No fictional outcome in this example is presented as a verified client result. The record values illustrate how the finished workflow behaves.

Implementation Cost

The following amounts are representative planning assumptions, not vendor quotes or verified client costs. Organizations should confirm current subscription terms, taxes, currency, operation allowances, storage requirements, and professional rates.

Representative one-time implementation costs
Item Assumption Estimated amount
Professional discovery and design 10 hours at $120 per hour $1,200
Airtable base and interfaces 16 hours at $120 per hour $1,920
Make scenarios and integrations 24 hours at $120 per hour $2,880
Technical and user testing 12 hours at $120 per hour $1,440
Documentation and training preparation 8 hours at $120 per hour $960
Representative professional implementation 70 hours $8,400
Representative internal labour
Activity Hours Labour value at $42 per hour
Requirements and data cleanup 12 $504
User acceptance testing 8 $336
Training attendance 6 $252
Documentation review 2 $84
Total internal participation 28 $1,176
Representative recurring monthly costs
Item Planning assumption Monthly amount
Airtable Allowance for required editor seats and features $140
Make Allowance for scheduled scenarios and expected operations $35
Google Workspace Already in use; incremental cost assumed $0
Core AI usage Not included in the core workflow $0
Core recurring software Representative allowance $175
Optional AI usage budget Controlled monthly allowance $10
Monthly maintenance labour 2.5 hours at $42 per hour $105 in labour value

The Google Workspace line assumes that Gmail and Drive are already licensed. It does not imply that those tools are free. Storage growth, additional users, backup products, or Shared Drive requirements may create incremental cost.

Estimated Time and Cost Savings

The estimate uses 30 monthly workflow items: 18 new opportunities and 12 reporting cycles opened or completed. The weighted current handling time is assumed to be 60 minutes per item. The weighted handling time after core automation is 15.6 minutes.

Savings assumptions
Assumption Value
Monthly workflow volume 30 items
Current weighted handling time 60 minutes per item
New weighted handling time 15.6 minutes per item
Exception rate 10 percent, or 3 items
Manual exception time 20 minutes per exception
Monthly maintenance 2.5 hours
Loaded hourly labour cost $42
Recurring core software cost $175 per month
One-time professional implementation $8,400

Current monthly labour hours: Monthly volume × current minutes per record ÷ 60

30 × 60 ÷ 60 = 30.0 hours

New monthly labour hours: Monthly volume × new minutes per record ÷ 60, plus exception handling and maintenance

30 × 15.6 ÷ 60 = 7.8 hours

Exception handling: 3 × 20 ÷ 60 = 1.0 hour

Maintenance: 2.5 hours

7.8 + 1.0 + 2.5 = 11.3 hours

Monthly hours recovered: Current monthly labour hours minus new monthly labour hours

30.0 − 11.3 = 18.7 hours

Estimated monthly labour value: Monthly hours recovered × loaded hourly labour cost

18.7 × $42 = $785.40

Net estimated monthly value: Monthly labour value minus recurring tool costs

$785.40 − $175 = $610.40

Estimated payback period: One-time implementation cost ÷ net estimated monthly value

$8,400 ÷ $610.40 = approximately 13.8 months

If the $1,176 internal implementation labour value is included, the economic payback estimate becomes approximately 15.7 months.

Recovered time does not automatically reduce payroll. It may provide additional capacity, quicker turnaround, less overtime during deadline periods, lower administrative effort, and less dependency on one employee. Actual value depends on whether the organization can use the recovered capacity productively.

Non-financial benefits

  • Fewer manual deadline follow-ups
  • Clearer ownership and backup ownership
  • Consistent work plans and folder structures
  • Fewer incomplete opportunity records
  • More reliable approval evidence
  • Better continuity from application to award reporting
  • Faster portfolio reporting
  • More consistent document naming and version control
  • Visible automation failures and recovery history
  • Better experience for program, finance, and executive reviewers

Readers should replace workflow volume, handling time, exception rate, labour cost, software allowance, implementation cost, and maintenance time with their own figures. They should also separate opportunity work from reporting work if the two processes have materially different handling times.

Adding AI to the Automation

AI should be added only after the core workflow, document storage, permissions, statuses, and failure handling are reliable. Most of the system’s value comes from normal automation: required fields, linked records, standard folders, deterministic scores, due-date rules, reminders, approvals, and reporting views.

Potential AI uses include guideline summarization, requirement extraction, draft checklist creation, classification of opportunity type, missing-information suggestions, comparison of narrative versions, and summarization of long funder correspondence.

AI is not appropriate for calculating exact deadline offsets, enforcing required fields, applying approval thresholds, checking exact document presence, assigning permission groups, or determining whether a payment or report should be released. Those tasks are better handled by deterministic rules and human review.

The recommended enhancement summarizes grant guidelines and drafts a requirement checklist. It runs only after the source guideline has been stored in the approved Drive folder and the opportunity owner selects Request AI Review.

  • Trigger: Opportunity field AI Review Status changes to Requested.
  • AI input: Approved guideline file, Record ID, opportunity name, funder name, and known deadline.
  • System instruction: Extract only information explicitly stated in the source and identify uncertainty.
  • Expected output: Structured JSON containing a summary, eligibility items, required documents, checklist tasks, deadlines, reporting obligations, risks, and confidence.
  • Validation: JSON schema validation, confidence range, required properties, source-reference checks, and comparison with known structured fields.
  • Record update: Store output in AI Summary, AI Checklist Draft, AI Confidence, and AI Review Status.
  • Human review: The grants manager verifies every item against the source before accepting it.
  • Low confidence: Confidence below 0.80 or any stated uncertainty routes to Manual Review.
  • Prohibited data: Credentials, banking details, tax identifiers, beneficiary-level personal data, personnel records, and confidential information not approved for the AI service.
  • Failure behavior: Preserve the normal manual guideline-review process and leave structured business fields unchanged.

Reusable system instruction

You are a grant-guideline analysis assistant.

Extract only facts explicitly stated in the supplied guideline. Do not infer eligibility, deadlines, funding limits, submission methods, required documents, matching requirements, or reporting obligations.

If information is missing, ambiguous, internally inconsistent, or dependent on another document, state that clearly. Include a concise source reference such as a page number, section heading, or quoted label for every checklist item.

Do not recommend whether the organization should pursue the opportunity. Do not approve a budget, certify eligibility, interpret law, or make a final compliance decision.

Return only JSON matching the supplied schema. Do not include explanatory text outside the JSON.

Reusable user prompt

Review the attached grant guideline for this record:

Record ID: {{RECORD_ID}}
Funder: {{FUNDER_NAME}}
Opportunity: {{PROGRAM_NAME}}
Known deadline entered by staff: {{KNOWN_DEADLINE}}
Known deadline time zone: {{KNOWN_TIME_ZONE}}

Create a concise factual summary and a draft checklist for human review. Compare any deadline stated in the document with the known deadline, but do not overwrite the staff-entered value. Mark conflicts and ambiguities for review.

For every required document or checklist task, include the best available source reference. Use "Not stated" when the document does not provide a value.

Structured output schema

{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "summary": {
      "type": "string"
    },
    "eligibility_requirements": {
      "type": "array",
      "items": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "requirement": {
            "type": "string"
          },
          "source_reference": {
            "type": "string"
          }
        },
        "required": [
          "requirement",
          "source_reference"
        ]
      }
    },
    "required_documents": {
      "type": "array",
      "items": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "document": {
            "type": "string"
          },
          "source_reference": {
            "type": "string"
          }
        },
        "required": [
          "document",
          "source_reference"
        ]
      }
    },
    "checklist": {
      "type": "array",
      "items": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "task": {
            "type": "string"
          },
          "suggested_owner_role": {
            "type": "string"
          },
          "source_reference": {
            "type": "string"
          }
        },
        "required": [
          "task",
          "suggested_owner_role",
          "source_reference"
        ]
      }
    },
    "deadline_text": {
      "type": "string"
    },
    "funding_limit_text": {
      "type": "string"
    },
    "match_requirement_text": {
      "type": "string"
    },
    "submission_method": {
      "type": "string"
    },
    "reporting_requirements": {
      "type": "array",
      "items": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "requirement": {
            "type": "string"
          },
          "source_reference": {
            "type": "string"
          }
        },
        "required": [
          "requirement",
          "source_reference"
        ]
      }
    },
    "risks_or_ambiguities": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "confidence": {
      "type": "number",
      "minimum": 0,
      "maximum": 1
    },
    "needs_human_review": {
      "type": "boolean"
    }
  },
  "required": [
    "summary",
    "eligibility_requirements",
    "required_documents",
    "checklist",
    "deadline_text",
    "funding_limit_text",
    "match_requirement_text",
    "submission_method",
    "reporting_requirements",
    "risks_or_ambiguities",
    "confidence",
    "needs_human_review"
  ]
}

Make API configuration

If the selected AI connector supports approved document input and structured output, use its native modules. If not, Make can use HTTP requests to an approved AI API. The following configuration illustrates the OpenAI Responses API pattern. Confirm current model support, file types, service terms, retention, and organization controls before deployment.

  1. Use Google Drive to download the approved guideline file.
  2. Use Make’s HTTP request module to upload the file with POST https://api.openai.com/v1/files.
  3. Set the Authorization header to Bearer YOUR_API_KEY.
  4. Use multipart form data with purpose set to user_data and the downloaded file mapped as the file part. Allow Make to generate the multipart content boundary.
  5. Store the returned file ID only for the duration of the scenario.
  6. Call POST https://api.openai.com/v1/responses with Authorization and Content-Type: application/json.
  7. Map the full JSON schema into the structured-output format.
  8. Parse the returned output-text content as JSON.
  9. Validate every required property before updating Airtable.
  10. Delete the uploaded API file after processing with DELETE https://api.openai.com/v1/files/{{UPLOAD_FILE_ID}}. This does not replace review of the provider’s applicable data-retention terms.
{
  "model": "YOUR_SUPPORTED_MODEL_ID",
  "input": [
    {
      "role": "system",
      "content": [
        {
          "type": "input_text",
          "text": "You are a grant-guideline analysis assistant. Extract only facts explicitly stated in the supplied guideline. Do not infer requirements or make final decisions. Return only JSON matching the supplied schema."
        }
      ]
    },
    {
      "role": "user",
      "content": [
        {
          "type": "input_file",
          "file_id": "{{UPLOAD_FILE_ID}}"
        },
        {
          "type": "input_text",
          "text": "Review Record ID {{RECORD_ID}} for {{FUNDER_NAME}} and {{PROGRAM_NAME}}. Compare the document deadline with {{KNOWN_DEADLINE}} in {{KNOWN_TIME_ZONE}}. Draft a factual summary and checklist with source references. Mark conflicts and ambiguity."
        }
      ]
    }
  ],
  "text": {
    "format": {
      "type": "json_schema",
      "name": "grant_guideline_review",
      "strict": true,
      "schema": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "summary": {
            "type": "string"
          },
          "eligibility_requirements": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "requirement": {
                  "type": "string"
                },
                "source_reference": {
                  "type": "string"
                }
              },
              "required": [
                "requirement",
                "source_reference"
              ]
            }
          },
          "required_documents": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "document": {
                  "type": "string"
                },
                "source_reference": {
                  "type": "string"
                }
              },
              "required": [
                "document",
                "source_reference"
              ]
            }
          },
          "checklist": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "task": {
                  "type": "string"
                },
                "suggested_owner_role": {
                  "type": "string"
                },
                "source_reference": {
                  "type": "string"
                }
              },
              "required": [
                "task",
                "suggested_owner_role",
                "source_reference"
              ]
            }
          },
          "deadline_text": {
            "type": "string"
          },
          "funding_limit_text": {
            "type": "string"
          },
          "match_requirement_text": {
            "type": "string"
          },
          "submission_method": {
            "type": "string"
          },
          "reporting_requirements": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "requirement": {
                  "type": "string"
                },
                "source_reference": {
                  "type": "string"
                }
              },
              "required": [
                "requirement",
                "source_reference"
              ]
            }
          },
          "risks_or_ambiguities": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "confidence": {
            "type": "number",
            "minimum": 0,
            "maximum": 1
          },
          "needs_human_review": {
            "type": "boolean"
          }
        },
        "required": [
          "summary",
          "eligibility_requirements",
          "required_documents",
          "checklist",
          "deadline_text",
          "funding_limit_text",
          "match_requirement_text",
          "submission_method",
          "reporting_requirements",
          "risks_or_ambiguities",
          "confidence",
          "needs_human_review"
        ]
      }
    }
  }
}

In Make, parse the API response, iterate through the output array, select the message content item whose type is output text, and parse its text value as JSON. Do not assume a fixed array position if the API can return other output items.

Update only AI-specific Airtable fields. Do not overwrite Submission Deadline, Requested Amount, Eligibility Status, or Pursuit Decision. A human can copy verified values into structured fields after reviewing the source.

For HTTP status 429 or transient server errors, retry with increasing delays and respect any returned retry guidance. For authentication errors, stop and notify the administrator. For malformed or incomplete output, set AI Review Status to Failed and preserve the manual process.

Benefits of the AI Enhancement

The AI enhancement can reduce the time spent producing an initial guideline summary and checklist. It can also make unstructured requirements easier to compare across opportunities.

  • Less initial reading and transcription time
  • More consistent checklist formatting
  • Faster identification of required attachments
  • Earlier visibility of matching and reporting requirements
  • Source references that support human verification
  • Improved search and portfolio analysis of recurring requirements
  • Faster identification of ambiguous or conflicting language

These are specifically AI-related benefits. Folder creation, task generation, reminders, approval routing, status control, reporting links, and failure logging are benefits of the core rule-based automation and do not require AI.

What Remains Rule-Based or Human-Controlled

Submission deadlines
The verified date-time field drives reminders. AI may identify a possible conflict, but it cannot overwrite the deadline.
Eligibility
A named employee verifies eligibility against the complete guideline and any incorporated documents.
Opportunity score
The score uses a transparent formula. AI does not change weights or input values.
Pursuit decision
Strategy and program leadership decide whether the organization should invest time in an application.
Budget approval
Finance confirms allowability, match, indirect costs, arithmetic, and organizational commitments.
Executive approval
A named executive approves the current narrative and budget version.
External submission
An authorized employee confirms portal fields, certifications, attachments, and final submission.
Award acceptance
Authorized leaders review legal, financial, operational, and reporting obligations.
Reporting schedule
Staff enter and verify obligations from the signed agreement. AI output can be a draft only.
Final report certification
Program, finance, and executive owners confirm that reported information is accurate and complete.
Policy exceptions
Authorized humans document and approve exceptions because the automation cannot accept organizational risk.

Estimating the Additional Value of AI

The estimate assumes six pursued opportunities receive AI guideline analysis each month.

Representative AI value assumptions
Measure Assumption
Monthly guidelines 6
Manual checklist preparation after core automation 25 minutes each
AI generation and human review 10 minutes each
Correction rate 20 percent
Correction time 5 minutes
AI failure rate 5 percent
Manual fallback time after failure 25 minutes
AI usage allowance $10 per month
Loaded labour cost $42 per hour

Core automation without AI: 6 × 25 minutes = 150 minutes, or 2.5 hours.

AI generation and review: 6 × 10 minutes = 60 minutes.

Expected corrections: 6 × 20 percent × 5 minutes = 6 minutes.

Expected failure fallback: 6 × 5 percent × 25 minutes = 7.5 minutes.

Total with AI: 60 + 6 + 7.5 = 73.5 minutes, or 1.225 hours.

Additional capacity: 2.5 − 1.225 = 1.275 hours per month.

Estimated labour value: 1.275 × $42 = $53.55 per month.

Net estimated value after AI allowance: $53.55 − $10 = $43.55 per month.

Process comparison
Process Guideline handling Human role
Original manual process Find file, read, summarize, and build checklist in separate documents Performs all work and reconciliation
Core automation File and record are organized, but summary and checklist remain manual Reads and extracts all requirements
Automation with AI AI drafts structured summary and checklist Verifies every output and makes all decisions

The correction and failure rates are planning assumptions, not claims about a specific model. Actual performance depends on document quality, model selection, file format, prompt design, and review discipline.

Testing Checklist

Use synthetic sample data and non-sensitive test files before processing real grant information.

End-to-end test cases
Test Expected result
Normal opportunity submission Record receives an ID and enters Eligibility Review
Missing required field Form blocks submission or record enters Manual Review
Invalid deadline or amount Validation stops setup and records the reason
Duplicate submission Record enters Duplicate Review without automatic deletion
Duplicate Make event Completed event key prevents a second external action
Failed authentication Scenario stops, logs the failure, and does not update business status
Expired credential Administrator reconnects and safely resumes the queue
Failed API or connector request Transient failure retries; persistent failure enters exception queue
Unavailable approver Approved delegate receives escalation without automatic approval
Approval rejection Record moves to Needs Revision and retains comments
Reassignment New owner receives notice and audit fields reflect the change
Overdue item View and escalation identify the item without changing the deadline
Reminder stage One message is sent for the applicable event key
Escalation stage Owner and designated escalation recipient receive the correct message
Failed file upload Source file remains available and document enters Failed status
Failed folder creation No tasks are marked ready; retry searches before creating
Failed notification Business status remains unchanged and notification failure is logged
Unauthorized user User cannot open restricted interface, base, or Drive folder
Malformed Gmail subject Email is routed to Manual Review without upload
Malformed AI output Schema validation fails and structured business fields remain unchanged
Inaccurate AI output Human reviewer rejects or corrects the draft before acceptance
AI service failure Record uses the manual review process and logs the error
Low-confidence AI output Record enters Manual Review
Successful submission Date, confirmation, final documents, and evidence link are stored
Successful report completion Obligation remains linked to Award and Opportunity
Correct reporting Views show accurate status, owner, amount, and deadline totals
Correct audit record Approval, document version, event key, and timestamps are traceable
Correct retry behavior Retry completes the missing action without creating duplicates

Ongoing Maintenance

The grants manager is the primary business owner. The operations director is the backup owner. A designated automation administrator maintains Make connections, Airtable schema, and error recovery.

Maintenance schedule
Frequency Activity Owner
Daily Review Failed, Manual Review, and Dead Letter records Automation administrator
Daily Review overdue applications, tasks, approvals, and reports Grants manager
Weekly Reconcile new submissions, awards, and evidence files Grants coordinator
Weekly Confirm that scheduled scenarios ran and operation usage is reasonable Automation administrator
Monthly Sample approval records, document links, reminders, and AI outputs Business owner
Monthly Review software, automation, storage, and optional AI costs Finance manager
Quarterly Review Airtable, Drive, Gmail, and Make permissions System administrator
Quarterly Test duplicate handling, failed upload recovery, reminder timing, and approval delegation Automation administrator
Quarterly Archive closed views and update task or document templates Grants manager
Semiannually Test backups, exports, and scenario restoration documentation System administrator
At credential rotation Reconnect integrations and test one controlled record System administrator
At employee departure Remove Airtable, Drive, Gmail, group, and Make access Identity administrator
Annually Review retention, privacy, grant compliance, and upgrade criteria Executive and finance owners

Documentation should include the data dictionary, status definitions, scenario inventory, connection owners, event-key design, folder structure, notification templates, recovery procedure, test cases, and change log.

Any field, status, folder, or approval change must be tested against all dependent Make scenarios. Renaming a field without updating mappings can cause silent data gaps if monitoring is weak.

When to Move to Dedicated Software

The Airtable, Drive, Make, and Gmail implementation can remain appropriate while its controls, performance, and maintenance burden match the nonprofit’s needs. It should not be replaced solely because a dedicated product exists.

Reassessment is appropriate when one or more of the following conditions appear:

  • Opportunity, award, or report volume exceeds the team’s ability to monitor queues reliably.
  • Multiple legal entities, programs, or locations require complex data separation.
  • Formal regulatory or audit requirements exceed the available record-history controls.
  • External collaborators require a secure, full-featured grant portal.
  • Record-level permissions become too complex for the Airtable access model.
  • Finance requires deeper integration with accounting, budgeting, procurement, or restricted-fund systems.
  • Funder portals provide APIs that require complex submission synchronization.
  • Exception rates or automation maintenance exceed the administrative time being saved.
  • Database size, attachment volume, API throughput, or interface performance becomes restrictive.
  • The organization requires vendor-backed service levels and formal support commitments.
  • Advanced portfolio forecasting, compliance reporting, or board reporting becomes essential.
  • Mobile or offline evidence collection becomes a core requirement.
  • Security risk increases because sensitive data must be stored across too many connected tools.
  • The organization needs customer-facing, partner-facing, or subrecipient-facing workflows.

At that point, the organization can evaluate dedicated grant management, nonprofit CRM, compliance management, or grants accounting platforms. The structured Airtable model and documented workflow can serve as migration requirements rather than being discarded.

Implementation Checklist

  • Confirm grant opportunity, submission, award, and reporting requirements.
  • Confirm Airtable, Google Drive, Make, and Gmail as the selected core tools.
  • Create test and production accounts.
  • Define user roles, delegates, and permission boundaries.
  • Create the Airtable tables, linked relationships, fields, formulas, and allowed statuses.
  • Build the restricted opportunity intake form.
  • Create unique identifiers and duplicate-review controls.
  • Configure the system of record and operational interfaces.
  • Create the Google Drive root, folder structure, and security groups.
  • Document every cross-system field mapping.
  • Build opportunity validation and workspace-creation scenarios.
  • Build task generation and ownership assignment.
  • Configure sequential, parallel, and threshold approvals.
  • Configure reminders and escalations.
  • Configure Gmail notifications and evidence intake.
  • Store returned Drive, Gmail, submission, and other external identifiers.
  • Create award and reporting-obligation relationships.
  • Build overdue, incomplete, approval, exception, and management views.
  • Configure least-privilege access, retention, backups, and credential storage.
  • Add formulas, event keys, validation, retries, and error logging.
  • Test normal, duplicate, invalid, rejected, failed, overdue, and recovered records.
  • Complete user acceptance testing with grants, program, finance, and executive users.
  • Pilot before full production activation.
  • Document representative software, labour, maintenance, and implementation assumptions.
  • Replace savings assumptions with the organization’s measured volume and handling time.
  • Add optional AI guideline analysis only after the core workflow is stable.
  • Require human review of every AI-generated summary and checklist.
  • Assign primary and backup maintenance owners.
  • Define the conditions that will trigger evaluation of dedicated software.

Get a FREE
Proof of Concept
& Consultation

No Cost, No Commitment!