Live — Riverside Community Trust

Handles the small
stuff. Asks first.

Foyer answers the questions your community asks over and over, and notices the donors who quietly stopped giving. Anything that goes out in your name waits for you first.

RCT
Riverside Community Trust Usually replies instantly

Hi! I'm the front desk for Riverside Community Trust. Ask me about events, parking, sign-ups, or your donations.

Two jobs nobody has time for.

The questions never stop

When is it. Where do I park. Can I still sign up. Is there a waitlist. Every one is easy, every one needs answering, and they arrive while the people who could answer them are running the actual event.

In the demo data: 2 events, 1 already at capacity, 50 spots to track by hand.

Donors leave quietly

Nobody sends a note to say they have stopped giving. They just stop, and six months later someone notices. The window to say something useful has already closed.

In the demo data: James Okafor last gave 194 days ago, against a 45-day pattern. Nobody flagged it.

One message in. Four decisions out.

01

The orchestrator reads the message and picks a specialist

It does not answer anything itself. A question about parking goes to the Front Desk. A question about a donor goes to the Donor Steward. Both sub-agents are exposed to it as tools, so routing is a decision it makes and logs, not a keyword match.

ask_front_deskask_donor_steward
02

The Front Desk acts on its own

Event times, parking, remaining spots, sign-ups. It can write an RSVP straight to the roster and refuse one when an event is full. These are small and reversible, so nobody needs to approve them.

get_event_infomake_rsvp
03

The Donor Steward drafts, but cannot send

It reads giving history, spots donors who have drifted past their own pattern, and writes the message. Then it stops. There is no send tool in its hands to reach for — the draft goes to the approval queue with the reasoning that produced it, and waits.

get_donor_profilecheck_lapsing_donorsdraft_followup_messagequeue_approval
04

Every action lands in one log

What the agent did, why it did it, and what the human decided — written in language a board member can read without a technical briefing. Approvals and rejections go in the same trail as the agent's own actions.

log_decision

Three surfaces. One trail.

When is the food drive and where do I park?
September 20, 10am to 2pm at the Community Center. Free parking in the lot behind the building.
Can you sign up Ada Obi?
Done — Ada is registered. 17 spots left.
FRONT DESK

Answers the questions that arrive over and over, and writes RSVPs straight to the roster. Small, reversible, no approval needed.

Priya Nair · first gift15d
Maria Chen · usual gap 30d59d
James Okafor · usual gap 45d194d
2 donors past their patternflagged
DONOR STEWARD

Measures each donor against their own giving rhythm, not a generic threshold. Someone who gives monthly is late at 45 days; someone who gives twice a year is not.

James Okafor last gave 194 days ago; his usual gap is 45 days.
Hi James, it's been a little while since we last heard from you…
Approve and send Reject
approved donor_message Reviewed by a human and approved. human_admin · 4:22 PM
THE GATE

Nothing donor-facing leaves without a person tapping approve. The reasoning travels with the draft, and the decision joins the same log as the agent's own actions.

WHY IT GETS SWITCHED ON

Explainable, or unusable.

DECISION LOG4 ENTRIES
provided event info Someone asked for the date and parking details of the food drive. front_desk · 12:48 PM
attempted RSVP Tunde Bello asked to join the volunteer orientation, but the event is full. front_desk · 1:09 PM
queued re-engagement draft James Okafor last gave 194 days ago against a 45-day pattern. Drafted a message and placed it in the approval queue. donor_steward · 3:22 PM
approved donor_message Reviewed by a human and approved. human_admin · 4:22 PM

Small nonprofits run on volunteers and rotating boards. The person who set the agent up may not be there in a year. So the question is never just whether it worked — it is whether anyone can explain what it did.

The boundary is structural The Donor Steward has no send tool in its registry. There is nothing to reach for.
Written for a reader Plain language, not structured logs. A board member reads the trail cold.
One trail, not two Human approvals are logged beside the agent's own actions.
AWS on nonprofit agent governance

Ask it something.

The front desk above is live. Queue a donor message and it will be waiting in the approval panel, reasoning attached.