> ## Documentation Index
> Fetch the complete documentation index at: https://docs.wegive.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Test-to-Live Transition

> Step-by-step guide for moving from a WeGive Test account to a Live account with Virtuous

# Test-to-Live Transition

This guide walks through moving your Virtuous integration from a WeGive Test account to a Live (production) account. The Virtuous environment model is different from other CRMs like Salesforce, so understanding the key points below prevents duplicate data and unexpected sync behavior.

## How the Environment Model Works

Both your WeGive Test account and your WeGive Live account connect to the **same Virtuous production instance**. There is no separate Virtuous sandbox. Every API call from either WeGive account reaches the same Virtuous contacts, gifts, and projects.

This differs from Salesforce, where a WeGive Test account connects to a Salesforce sandbox and a Live account connects to Salesforce production. With Virtuous, any data synced from your Test account creates real records in your production Virtuous environment.

## What Does Not Carry Over

Your Test and Live WeGive accounts are separate organizations, each with its own integration settings. When you move to Live:

* **Settings must be manually replicated.** Nothing from the Test integration copies automatically to the Live integration — API key, communication ID, contact-matching mode, type mappings, fund archive rules, and every other setting must be re-entered.
* **Mapping rules must be re-created.** Custom field mappings and data mapping rules configured on the Test integration do not transfer to Live.
* **Sync history does not transfer.** The Live integration starts its own sync timeline. Records already synced via the Test account are matched by their Virtuous IDs on pull, not by the Test account's sync history.

## The Enable/Disable Toggle Is Your Only Sync Control

Once the integration is enabled, **all supported object types sync unconditionally** — contacts, gifts, projects, segments, and recurring gifts. There is no way to turn off sync for one object type while leaving others on. The **Enabled** toggle on the integration settings page is the single switch that starts or stops all sync.

## Recommended Transition Sequence

**1. Configure and test on your WeGive Test account**

Enter your production Virtuous API key, default communication ID, and all other settings on your Test account's Virtuous integration. Enable the integration and run a test sync to verify data mapping, contact matching, and gift processing.

**2. Verify the results in Virtuous**

Confirm that contacts, gifts, and projects created from your Test account appear correctly in Virtuous. Check contact-method type mappings, household grouping, and fund/project names.

**3. Disable the Test integration**

Before enabling Live, **disable the integration on your Test account first**. Having both Test and Live enabled simultaneously against the same Virtuous instance risks duplicate pushes — both accounts would attempt to sync overlapping data to the same Virtuous contacts and projects.

**4. Configure your Live integration**

On your Live WeGive account, enter the same Virtuous API key and replicate every setting from your Test configuration. Use the checklist below to ensure nothing is missed.

**5. Enable the Live integration**

Enable the integration on your Live account. The first pull is a full historical pull (not incremental from the moment of enabling), so expect it to take longer than subsequent scheduled pulls.

**6. Confirm Live sync**

After enabling, verify that Live data appears correctly in Virtuous and that the Test account's integration remains disabled.

## Settings Checklist

Replicate each of these from your Test configuration to your Live configuration:

| Setting | Where to Find It |
| - | - |
| **API Key** | Virtuous Settings → API Keys (same key for both) |
| **Default Communication ID** | A Virtuous communication record ID — required before any campaign push |
| **Enabled** | Enable only after all other settings are configured |
| **Real Time** | Whether webhook-driven push is on in addition to daily batch |
| **Pull Frequency** | How often scheduled pulls run |
| **Pull Contact Individuals** | Whether individual-level records pull under each Contact |
| **Household Contact Types** | Which Virtuous contactType values import as households |
| **Phone / Email / Address Type Mappings** | Which WeGive field routes to which Virtuous contact-method type |
| **Batch Contact Matching Mode** | How batch-submitted gifts match to Virtuous contacts |
| **Batch Gift Update Mode** | Whether/how batch-imported gifts update after approval |
| **Sync Not-Public Funds / Not-Public Fund Mode** | Whether non-public projects sync and how |
| **Archive Funds When Inactive / Not Public / Not Available Online** | Auto-archival rules |
| **Send Processing ACH as Success** | Whether in-flight ACH reports as success to Virtuous |
| **Create Logins for All Company Contacts** | Whether every contact under a company gets a login |
| **Enable Reversing Transactions** | Whether refunds create reversing gifts in Virtuous |
| **Custom Field Mapping Rules** | Any custom field mappings configured for contacts, gifts, or recurring gifts |

For details on each setting, see [Configuration Options](/external/onboarding/virtuous/configuration-options.md).

## Avoiding Common Problems

**Do not enable both Test and Live at the same time.** Since both point to the same Virtuous instance, concurrent sync from two WeGive accounts creates duplicate contacts and gifts in Virtuous that require manual cleanup.

**Do not assume per-object toggles work.** The dashboard shows toggles for individual object types (donors, transactions, etc.), but these do not actually gate sync for Virtuous. Once enabled, everything syncs. See [Configuration Options](/external/onboarding/virtuous/configuration-options.md) for details.

**Remember the first pull is a full pull.** When you enable the Live integration for the first time, the initial pull retrieves all historical data from Virtuous, not just changes since you enabled. Plan for a longer initial sync window.

## Getting Help

* **WeGive Support**: [support@wegive.com](mailto:support@wegive.com)
* **Configuration Options**: [Full settings reference](/external/onboarding/virtuous/configuration-options.md)
* **Setup Requirements**: [Prerequisites checklist](/external/onboarding/virtuous/setup-requirements.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.