Skip to main content
Together
Sign in

NationBuilder sync

What flows from NationBuilder into Together, how often, and how it lands in the unified donor and donation lists.

The NationBuilder integration is poll-based: Together runs a sync every 15 minutes and pulls everything that changed since the last run. NationBuilder webhooks aren't used because they're not officially supported and are gated to Enterprise NationBuilder plans.

What syncs

Each sync pass pulls four kinds of record:

RecordDirectionMapped fields
PeopleNB -> TogetherFirst name, last name, email, phone, full address, employer, occupation. Phone is normalised to Australian format.
DonationsNB -> TogetherAmount, donation date, payment method, tracking code, NB recipient mapping, donation status.
Tracking codesNB -> TogetherThe free-text labels NB stamps on donations. Together uses these in FCA classification.
Custom fieldsNB -> TogetherSelected NB custom fields on the person record, including any compliance flags you've set up upstream.

The inbound direction (NB to Together) is always on. Write-back from Together to NB (donor scores, suggested ask amounts, segment tags) is opt-in and configured at Intelligence > Write-back; it requires the Grow tier and above. Together guards against echo loops via the DonationWriteBack.upstreamDonationId marker so a donation written to NB does not bounce back as a new donation on the next inbound sync.

Sync cadence

The sync watermark is the most recent update timestamp Together has seen on a NB record. A long pause in syncs (e.g., disconnected for a week) means the next sync covers everything that changed in that window, not just the most recent records.

Donor matching

When a NB person record arrives, Together looks for an existing donor by:

  1. NB person ID first (stored as an external ID on the Together donor record).
  2. Email match if the NB person ID isn't on file.
  3. Name + phone fuzzy match as a last resort.

If a match is found, the existing donor is updated. If not, a new donor is created with the Individual donor type. Together never auto-merges across donor types or across mismatched names; ambiguous cases land in the duplicate queue at Donors -> Duplicates.

Donation matching

NB donations sync with an external donation ID so a single NB donation is never imported twice. Edits to NB donations (amount corrected, date adjusted, tracking code added) flow through on the next sync.

Refunded NB donations show up as donations with a refund flag; Together's compliance logic excludes them from active aggregates.

Tracking-code ingestion

NB stores a tracking code (free text) on each donation. Together ingests this as-is. The free-text values are then mapped to FCA or non-FCA at Settings -> Integrations under FCA Donation Filtering; see Set up tracking codes.

Donations without a tracking code retain the empty value; your tracking-code config decides whether that empty case counts as FCA or not.

What doesn't sync

Disconnecting

Disconnecting via Settings -> Integrations preserves all historical NB-sourced donors and donations in Together; only future syncing stops. Reconnect later to resume; Together back-fills the gap on the first post-reconnect sync.

What to do next