Skip to content

Givebutter Workflows

Donation Flow

  1. Donor gives on a Givebutter donation form (campaign page or embedded).
  2. Givebutter sends transaction.succeeded (or equivalent) to POST /webhooks/givebutter.
  3. NOMA Sync verifies signature, looks up campaign mapping, finds/creates constituent in LGL, creates gift, logs to sync_log.
  4. Donation appears in LGL and in Dashboard → Syncs.

Event Ticket Flow

  1. Registrant buys a ticket on a Givebutter event page.
  2. Givebutter sends ticket/transaction webhook to NOMA Sync.
  3. Worker maps event campaign to LGL fund (campaign override or type default for "ticket"), creates/updates constituent, creates gift (ticket amount), logs sync.
  4. Registrant appears in LGL with gift under the correct event fund.

Peer-to-Peer (P2P) Flow

  1. Fundraiser creates a P2P page; donors give through that page.
  2. Transactions are still tied to a Givebutter campaign (the P2P campaign).
  3. Same webhook + mapping flow: map P2P campaign to desired LGL fund via Mappings overrides or type default for peer_to_peer.
  4. All P2P donations sync to LGL with the chosen fund.

Replay / Resync (Dashboard)

If a transaction was missed (webhook failure) or you need to re-push:

  • Syncs page: Find the failed row (or missing row) and use Resync if the UI offers it for Givebutter.
  • Dev/Testing: Poll-now and replay endpoints (e.g. simulate donation, poll with lookback) can trigger syncs for testing. See Settings or internal dev docs.

Backup Polling

Every 15 minutes the Worker polls Givebutter for recent transactions (e.g. last 24 hours). Any transaction not already in sync_log (by givebutter_{id}) is synced. Recovered syncs appear in Syncs with sync_method or source indicating polling.