Case studies / IAP Foundation

Zapier integration
Live for the Oct 16, 2026 opening
Donations, art sales and guest check-ins land on one donor record
Art for impact nonprofit · US · Givebutter
The story
What changed
IAP Foundation turns art sales into funded humanitarian projects. For their gallery grand opening they needed every donation, art sale, guest check-in and website form to reach their donor CRM, Givebutter, without manual entry.
Sector
Nonprofit, art for impact
Timeline
Oct 2026, live for the opening
Built in
Zapier, in IAP's own account
Connected
Donorbox, Square, Stripe, Google Sheets, Givebutter
Before
Donations came through Donorbox, art sales through Square and Stripe, and guests, card exchanges and interest forms through a new website. Each system kept its own list, with no shared record of a supporter.
After
Every gift and sale lands in a shared log and on one Givebutter contact, tagged by how that person connected. The website forms have ready webhooks, and the team gets an email if a Zap fails.
How it works
What happens when a donation comes in
The Donorbox Zap shows the pattern every Zap follows: log the event once, then save the person to Givebutter through its API, checking for an existing contact first.
01 · Trigger
A donation is made in Donorbox
New or updated donations both fire the Zap.
02 · Check
Seen this donation before?
Storage by Zapier remembers each donation ID, so an updated donation is never logged twice.
03 · Action
Row added to the Donations tab
One shared Google Sheet with a tab per event type.
04 · Script
Code step calls the Givebutter API
Finds the contact by email or creates one, tidies names and saves phones as +1 numbers. The native action can't set tags or texting consent.
05 · Check
Consent respected
Email subscription only if they ticked the mailing list. Texting only if they said yes.
06 · Result
Alerts when it matters
Founders Circle and Suggest an Impact forms email the team at once. Any failed run sends a link to the error.
The Zaps
Eight Zaps, one log and one donor record
Each Zap writes to its own tab in a shared Google Sheet, then saves the person to Givebutter with the tag that says how they connected.
Guest check-in
QR check-in page
Sheet tab: Guests
Grand Opening 2026 Guest
Donorbox donations
New or updated donation
Sheet tab: Donations
Note with amount and date
Digital card exchange
Digital business card
Sheet tab: Card Exchanges
Card Exchange
Founders Circle form
Website form, plus team alert
Sheet tab: Founders Circle
Founders Circle Prospect
Suggest an Impact form
Website form, plus team alert
Sheet tab: Impact Suggestions
Impact Suggestion
Square art sales
Completed gallery order
Sheet tab: Art Sales
Collector
Stripe online art sales
Checkout session completed
Sheet tab: Art Sales
Collector
Zap error alerts
Any failed Zap run
Sheet tab: None
Email with a link to the run
The build
What I built
In the order the work was done.
Stack: Zapier with Code by Zapier and Storage by Zapier, Givebutter API, Donorbox, Square, Stripe, Google Sheets, webhooks.
01Turned the client's integration brief into eight Zaps, each writing to its own tab in one shared Google Sheet
02Donorbox donations logged once, using Storage by Zapier to remember each donation ID
03Code by Zapier steps that call the Givebutter API directly, because the native action can't set tags or texting consent
04Every Zap checks Givebutter by email first, cleans names and formats phone numbers, so nobody is added twice
05Webhook links and field lists ready for the website's check-in, card exchange, Founders Circle and Suggest an Impact forms
06Instant emails to the team for Founders Circle and Suggest an Impact forms, plus an error alert Zap for any failed run
07Opening-day check: Zaps, task usage and error history confirmed, and the website team given the exact fix for forms not yet posting to Zapier
Result
Donorbox gifts and gallery art sales reach one log and one Givebutter donor record, tagged by source, and the website forms plug straight into ready webhooks.
Want results like these in your portal?
Book a free 30-minute call. You'll get a written scope and one fixed price.