Constituent Mapping
WeGive donors map to Bloomerang’s Constituent object — individual donors becomeType: "Individual", company donors become Type: "Organization".
Push (WeGive → Bloomerang)
Individual donor
PrimaryEmail/PrimaryPhone/PrimaryAddress are only included at all if the donor has that field set — there’s no attempt to send an empty value.
Company donor
FullName and address.
Only one email and one phone sync, each — there’s no secondary email/phone field on either side of this integration.
middle_name is the only name field beyond first/last that’s sent.Address
Only a mailing address syncs — there’s no separate billing-address handling for Bloomerang. TheState field is validated against the donor’s country before sending: an invalid state code for that country (e.g. a US state code on a non-US address) is sent as an empty string rather than the actual value, since Bloomerang rejects the whole request with a 400 if it receives one.
Pull (Bloomerang → WeGive)
Constituents are pulled viaGET constituents (50 per page, filtered by lastModified) and imported as Donors, matched on bloomerang_id:
The mailing address is created or updated from
PrimaryAddress the same way on both sides — Country defaults to US if Bloomerang doesn’t supply one.
Matching
Matching is bybloomerang_id only — there’s no email, name, or address-based matching anywhere in this integration. A donor with no bloomerang_id is always created as new on the next push, even if a Constituent with the same email already exists in Bloomerang.
Getting Help
- WeGive Support: [email protected]
- Bloomerang API Documentation: bloomerang.co/features/api