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:
| Record | Direction | Mapped fields |
|---|---|---|
| People | NB -> Together | First name, last name, email, phone, full address, employer, occupation. Phone is normalised to Australian format. |
| Donations | NB -> Together | Amount, donation date, payment method, tracking code, NB recipient mapping, donation status. |
| Tracking codes | NB -> Together | The free-text labels NB stamps on donations. Together uses these in FCA classification. |
| Custom fields | NB -> Together | Selected 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
- First sync after connection: runs immediately. Backfills your full donation history. Takes seconds for small nations and minutes for nations with 50,000+ donations.
- Subsequent syncs: every 15 minutes. Only fetches records updated since the last sync watermark.
- Manual re-run: ADMINs can trigger a sync from Settings -> Integrations. Useful when you've just changed a tracking-code rule and want to see the effect on the dashboard immediately.
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:
- NB person ID first (stored as an external ID on the Together donor record).
- Email match if the NB person ID isn't on file.
- 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
- Survey responses, contact log entries, tags. Together doesn't pull these. They stay in NB.
- Event RSVPs. Same.
- Pledges (unsettled commitments). Together imports settled donations only.
- Recurring donation schedules. Together imports each donation as it settles. The recurring relationship is inferred from donor history.
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
- Connect NationBuilder if you haven't yet: Connect NationBuilder.
- Set up tracking codes to classify the NB donations Together imports: Set up tracking codes.
- Read the Raisely sync reference if you're comparing the two: Raisely sync.