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.