---
title: "Food Bank Distribution Planning With AI Agents | Kylon"
description: "How a food bank allocates donated lots to partner agencies, checks the load manifest and replans for truck outages, failed inspections and use-by dates, with approval."
url: "https://kylon.io/use-cases/food-bank-distribution"
language: "en"
---

[HOME](https://kylon.io/)\>[Use Cases](https://kylon.io/use-cases)\>Food Bank Distribution: Donated Lots Reach Partner Agencies Before They Expire

Use Case7 min read

# Food Bank Distribution: Donated Lots Reach Partner Agencies Before They Expire

Donated lots are allocated to partner agencies under the distribution policy in one Kylon room, then reallocated when a truck goes down, a lot fails inspection or an agency gains space. Agents propose each move and the warehouse manager approves it.

[Get started](https://app.kylon.io/sign-up)

Kylon TeamProduct

November 6, 2026

## Donated food on a clock, and agencies with limited cold space

A food bank's intake desk receives donated lots every day: pallets of canned goods from a food drive, chilled dairy from a grocer, frozen meat, bagged produce close to its use-by date. Each lot goes to a partner agency under the distribution policy, which balances fair shares against each agency's storage, sends chilled and frozen lots only to agencies that can keep them cold, and moves short-dated food first.

Lots and allocations live in an Airtable base, the policy and agency capacity sheet are in Google Drive, deliveries and pickups are on Google Calendar, agencies get notices by email, and the warehouse floor talks in Slack. When a refrigerated truck fails its check at seven in the morning, the cold lots need new homes before they warm up, and every move knocks on to agency capacity and the dry lots around them.

## Who works in the room

People

-   Warehouse manager
    
    Approves every allocation and change and signs the day's close-out
    
-   Agency relations coordinator
    
    Speaks for the partner agencies and confirms their capacity and pickup times
    
-   Food safety lead
    
    Inspects incoming lots and records passes and failures
    
-   Transport coordinator
    
    Reports which trucks are running and owns the delivery bookings
    

Agents

-   NovaAllocation planner
    
    Allocates each lot to an agency by category, temperature, capacity and use-by date under the policy, and replans when anything changes
    
    AirtableGoogle DriveGoogle Calendar
    
-   FinManifest checker
    
    Checks the dock's load manifest against the approved allocation and flags any lot on the wrong truck or not allocated at all
    
    Google DriveAirtable[Slack](https://kylon.io/integrations/slack)
    
-   AdaAgency notices
    
    Drafts delivery and pickup notices to each agency for a person to send
    
    [Gmail](https://kylon.io/integrations/gmail)
    

Distribution has its own Kylon room, shared by the warehouse floor and the office. Nova, the default agent, answers for where every lot is going. The dock's manifest is Fin's to check, so a question about what is on a truck reaches Fin without a mention. When a plan is approved, Nova opens a thread for Ada with the changed deliveries listed in the first message, and Ada drafts the notice to each agency from there.

## A distribution day in seven steps

The room guidelines name the policy and capacity sheet every agent works from. Every step stops at a person before a lot moves.

```mermaid
flowchart TD
  lots([Donated lots arrive at intake])
  alloc["<b>Nova</b> places each lot by category,<br>temperature, capacity and use-by"]
  approve["<b>Warehouse manager</b><br>approves before loading"]
  manifest["<b>Fin</b> checks the dock's manifest<br>lot by lot against the plan"]
  notices["<b>Ada</b> drafts a notice to each<br>agency for a person to send"]
  dock["<b>Dock lead</b> corrects it,<br><b>warehouse manager</b> confirms"]
  truck["<b>Transport coordinator</b><br>reports a truck out of service"]
  failed["<b>Food safety lead</b> records<br>a failed inspection"]
  space["<b>Agency relations</b> confirms<br>an agency's new storage"]
  replan["<b>Nova</b> re-runs the lots each change<br>touches and the lots displaced"]
  approve2["<b>Warehouse manager</b> approves"]
  sweep["<b>Nova</b> pulls lots with a use-by on<br>or before the delivery day"]
  divert["<b>Food safety lead</b> decides what<br>is diverted or discarded"]
  tally["<b>Nova</b> tallies pounds and lots<br>per agency from current records"]
  sign["<b>Warehouse manager</b> signs the day"]
  lots --> alloc --> approve
  approve --> manifest & notices
  manifest --> dock
  dock --> truck & failed & space
  truck & failed & space --> replan
  replan --> approve2 --> sweep --> divert --> tally --> sign
  class alloc,manifest,notices,replan,sweep,tally agent
  class approve,dock,truck,failed,space,approve2,divert,sign person
  class lots event
  classDef agent fill:#FFFFFF,stroke:#DCD3C8,color:#1B1712
  classDef person fill:#EEF0E3,stroke:#6E7447,color:#1B1712
  classDef event fill:#F4ECDD,stroke:#F4ECDD,color:#564C42
```

| Stage | What happens | Who acts | Who decides |
| --- | --- | --- | --- |
| Allocation | Each lot is placed with an agency by category, temperature, capacity and use-by date | Nova, from the Airtable lot table | The warehouse manager approves before loading |
| Manifest audit | The dock's manifest is compared lot by lot with the approved allocation | Fin | The dock lead corrects it and the warehouse manager confirms |
| Truck outage | Cold lots on the out-of-service truck move to another cold option or stay in the cooler | Nova | The transport coordinator confirms the option and the manager approves |
| Failed inspection | The lot comes out of allocation and the space it held is offered on under the policy | Nova | The food safety lead records the failure and the manager approves |
| Capacity increase | An agency with new storage gets a re-run of every lot it is eligible for | Nova | Agency relations confirms the new figure |
| Use-by sweep | Lots whose use-by date falls on or before the delivery day are pulled | Nova, then Fin | The food safety lead decides what is diverted or discarded |
| Close-out | Pounds and lots per agency are tallied from the current records | Nova | The warehouse manager signs the day |

Stages of one distribution day. Lots, agencies and weights in this example are illustrative.

## When the truck, the cooler or the date changes

Changes arrive in Slack. The transport coordinator posts that a refrigerated truck failed its morning check. The food safety lead posts that a lot of bagged lettuce failed inspection. Agency relations writes that a shelter installed a second freezer. Nova re-runs the allocation for the lots each change touches and the lots those moves displace, then shows the before and after for every lot in the thread.

The use-by sweep counts to the end of the delivery day, so a lot whose date is the delivery day itself comes off the plan even if it looks fine at 7 AM. Google Calendar gets a new event for each approved delivery or pickup. Moving a time already on the calendar stays with the transport coordinator, who owns those bookings.

## What the checks catch

-   A chilled or frozen lot still assigned to a refrigerated truck that is out of service
-   A lot that failed inspection still counted against an agency's capacity
-   A use-by check run against the current time instead of the end of the delivery day
-   Dry lots that should move when new capacity opens at another agency, not only the lots named in the change

## What stays with people

-   Approving every allocation and reallocation before anything is loaded
-   Deciding what happens to failed or expired food
-   Sending notices to agencies, which Ada drafts
-   Signing the day's close-out

## Integrations in this workflow

Kylon is not a warehouse management system and is no substitute for one. It works across the base, the calendar and the mailbox the food bank already uses and keeps the coordination in one room.

-   Airtable
    
-   [Gmail](https://kylon.io/integrations/gmail)
-   Google Calendar
    
-   Google Drive
    
-   [Slack](https://kylon.io/integrations/slack)

-   **Airtable** holds every lot with its category, temperature, weight and use-by date, plus the allocations
-   **Google Drive** keeps the distribution policy, the agency capacity sheet and the dock manifest
-   **Google Calendar** gets one event per approved delivery or pickup
-   **Gmail** carries notices to agencies through drafts a person sends
-   **Slack** is where the floor, food safety and transport post the morning's changes

## Where to start

Run one intake day, starting with the cold lots. Connect the Airtable lot table and the shared delivery calendar, and write the rule that matters most in the room guidelines: chilled and frozen lots go only to agencies and trucks that can keep them cold, and the warehouse manager approves every allocation before it is loaded.

## Set it up with your agent

Open a new Room, add your agent and paste this prompt. It connects the tools, builds the App with you and asks for your rules one step at a time, and nothing goes out until a person approves it.

Set-up prompt

Set up our donated lots distribution desk in this Room. Take it one step at a time and wait for my OK before you move on.

1. Connect Airtable, Gmail, Google Calendar, Google Drive and Slack. Tell me which ones still need connecting.
2. Ask me who works this desk: the warehouse manager, the agency relations coordinator, the food safety lead and the transport coordinator. Help me invite them to this Room.
3. Build a Lot Allocation App with columns Received, Allocated, Loaded and Delivered, one record per lot. Fill it from the current lots in the Airtable base.
4. Check each lot against our policy and agency capacity sheet in Google Drive. Flag any chilled or frozen lot on a truck or going to an agency that cannot keep it cold, any failed lot still counted against capacity, and any lot whose use-by date falls on or before the end of the delivery day.
5. Draft allocation plans and agency notices for a person to review. Hold every draft until the warehouse manager approves each allocation before loading. Do not send any Gmail notice or write any Google Calendar event until that approval is in.
6. Write into this Room's guideline which policy and capacity sheet we work from and who approves each step: the warehouse manager approves every allocation and the day's close-out, the food safety lead records failures, the transport coordinator owns calendar bookings and agency relations confirms capacity changes.
7. After one clean intake day, offer to turn the use-by sweep into an Automation.

Before you start, ask me for our rules one at a time.

[Get started](https://app.kylon.io/sign-up)

Your first company harness. Where humans and agents run your business together.

[Get started](https://app.kylon.io/sign-up)

## More Use Cases

[View all](https://kylon.io/use-cases)

[

### Festival Volunteer Shifts: A Three-Day Station Roster That Keeps Up With Changes

A three-day food festival's volunteer roster is built from Calendly sign-ups, kept in Airtable and mirrored on the shift calendar in one Kylon room. Agents keep the records in step and the volunteer coordinator approves every change before volunteers hear about it.

Nonprofits & communityScheduling & dispatch

](https://kylon.io/use-cases/festival-volunteer-shifts)[

### Grant Disbursement: Awards Decided on the Evidence and Paid Once

Grant applications are reviewed against compliance documents, budgets and declared conflicts in one Kylon room, with disbursements calculated from the award table and program officers assigned. Agents propose each step and the grants director approves every award.

Nonprofits & communityApprovals & reviewsFinance operations

](https://kylon.io/use-cases/grant-disbursement)
