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

# Configuration Options

> Detailed configuration settings and options for the WeGive Bloomerang integration

# Configuration Options

The WeGive Bloomerang integration provides flexible configuration options to control data synchronization behavior, sync frequency, and integration features.

## Authentication Settings

### API Configuration

| Setting     | Type    | Required | Description                                            |
| ----------- | ------- | -------- | ------------------------------------------------------ |
| **API Key** | String  | Yes      | Your Bloomerang API key for authentication             |
| **Enabled** | Boolean | Yes      | Master toggle to enable/disable the entire integration |

#### API Key Configuration

* **Source**: Generated from Bloomerang Settings → API Access
* **Security**: Encrypted and stored securely in WeGive
* **Validation**: Automatically tested during configuration
* **Rotation**: Should be rotated periodically for security

## Synchronization Controls

### Data Type Configuration

Configure what types of data synchronize between platforms:

#### Donors/Constituents Sync

| Setting         | Default | Description                                        |
| --------------- | ------- | -------------------------------------------------- |
| **Push Donors** | `true`  | Send WeGive donors to Bloomerang as constituents   |
| **Pull Donors** | `false` | Import Bloomerang constituents to WeGive as donors |

**Push Donors Configuration:**

* Creates new constituents in Bloomerang from WeGive donors
* Updates existing constituents when correlation ID exists
* Handles both individual and organization donor types
* Syncs contact information including addresses, phones, and emails

**Pull Donors Configuration:**

* Imports constituents from Bloomerang to WeGive
* Respects existing donor records to prevent duplicates
* Maps constituent types to appropriate WeGive donor categories
* Includes full contact and address information

#### Transactions/Donations Sync

| Setting               | Default | Description                                         |
| --------------------- | ------- | --------------------------------------------------- |
| **Push Transactions** | `true`  | Send WeGive donations to Bloomerang as transactions |
| **Pull Transactions** | `false` | Import Bloomerang transactions to WeGive            |

**Push Transactions Configuration:**

* Sends successful WeGive donations to Bloomerang
* Maps payment methods (credit card, bank transfer, etc.)
* Links transactions to appropriate constituents and funds
* Includes transaction metadata and processing details

**Pull Transactions Configuration:**

* Imports Bloomerang transactions to WeGive
* Includes donations, pledge payments, and recurring donations
* Maps to existing donors or creates new donor records
* Preserves transaction types and designations

#### Funds Sync

| Setting        | Default | Description                       |
| -------------- | ------- | --------------------------------- |
| **Push Funds** | `true`  | Send WeGive funds to Bloomerang   |
| **Pull Funds** | `false` | Import Bloomerang funds to WeGive |

**Push Funds Configuration:**

* Creates corresponding funds in Bloomerang for WeGive funds
* Maintains fund naming and organizational structure
* Enables proper transaction designation mapping

**Pull Funds Configuration:**

* Imports Bloomerang fund structure to WeGive
* Preserves fund categories and hierarchies
* Updates existing funds when correlation exists

### Advanced Settings

#### Default Fund Configuration

| Setting             | Type   | Required | Description                                                      |
| ------------------- | ------ | -------- | ---------------------------------------------------------------- |
| **Default Fund ID** | String | Yes      | Bloomerang fund ID for transactions without specific designation |

**Important Notes:**

* Must be a valid, active fund ID from your Bloomerang account
* Used when WeGive transactions don't have specific fund designations
* Prevents transaction sync failures due to missing fund mappings
* Should be your organization's general operating fund

#### Sync Timing Configuration

| Setting            | Options                  | Default   | Description                                |
| ------------------ | ------------------------ | --------- | ------------------------------------------ |
| **Sync Frequency** | Real-time, Hourly, Daily | Real-time | How often automatic synchronization occurs |

**Real-time Sync:**

* Immediate synchronization for critical updates
* Triggered by donor actions, donations, and fund changes
* Best for organizations requiring immediate data consistency

**Scheduled Sync:**

* Batch processing at specified intervals
* More efficient for large data volumes
* Reduces API usage and rate limit concerns

## Data Flow Configuration

### Sync Direction Matrix

| Data Type        | Push (WeGive → Bloomerang) | Pull (Bloomerang → WeGive) | Bidirectional |
| ---------------- | -------------------------- | -------------------------- | ------------- |
| **Donors**       | Configurable               | Configurable               | Supported     |
| **Transactions** | Configurable               | Configurable               | Supported     |
| **Funds**        | Configurable               | Configurable               | Supported     |

### Conflict Resolution

When the same record exists in both systems:

**For Push Operations (WeGive → Bloomerang):**

* WeGive data takes precedence
* Bloomerang records are updated with WeGive values
* Correlation IDs prevent duplicate creation

**For Pull Operations (Bloomerang → WeGive):**

* Bloomerang data takes precedence
* WeGive records are updated with Bloomerang values
* Existing relationships are preserved

## Integration Features

### Test Mode

| Feature             | Description                                      |
| ------------------- | ------------------------------------------------ |
| **Test Connection** | Validates API credentials and connectivity       |
| **Dry Run Sync**    | Simulates sync operations without making changes |
| **Validation Mode** | Checks data compatibility before actual sync     |

### Error Handling

| Setting                  | Options              | Default   | Description                                            |
| ------------------------ | -------------------- | --------- | ------------------------------------------------------ |
| **Retry Failed Records** | Enabled/Disabled     | Enabled   | Automatically retry failed sync operations             |
| **Error Notifications**  | Email/Dashboard/None | Dashboard | How to receive error notifications                     |
| **Max Retry Attempts**   | 1-10                 | 3         | Maximum number of retry attempts for failed operations |

### Logging Configuration

| Setting                 | Options                   | Default  | Description                          |
| ----------------------- | ------------------------- | -------- | ------------------------------------ |
| **Log Level**           | Detailed/Standard/Minimal | Standard | Amount of detail in integration logs |
| **Log Retention**       | 30/60/90 days             | 60 days  | How long to keep integration logs    |
| **Performance Metrics** | Enabled/Disabled          | Enabled  | Track sync performance and timing    |

## Organization-Specific Settings

### Custom Field Mapping

Organizations can configure custom field mappings between WeGive and Bloomerang:

* **Field Pairing**: Map specific WeGive fields to corresponding Bloomerang fields
* **Data Type Matching**: Ensure compatible data types between systems
* **Validation Rules**: Custom fields follow the same validation as standard fields
* **Configuration Support**: Contact WeGive support for complex custom field requirements

### Data Filters

| Filter Type          | Description                                 | Example              |
| -------------------- | ------------------------------------------- | -------------------- |
| **Date Range**       | Limit sync to specific date ranges          | Last 12 months       |
| **Amount Threshold** | Only sync transactions above certain amount | \$10 minimum         |
| **Donor Type**       | Filter by individual vs organization        | Individual only      |
| **Fund Categories**  | Restrict which funds synchronize            | Operating funds only |

## API Configuration

### Rate Limiting

| Setting               | Value | Description                       |
| --------------------- | ----- | --------------------------------- |
| **Requests per Hour** | 1000  | Bloomerang API default limit      |
| **Burst Allowance**   | 50    | Short-term burst capacity         |
| **Throttle Buffer**   | 10%   | Safety margin below actual limits |

### Batch Processing

| Setting                | Default | Range     | Description                             |
| ---------------------- | ------- | --------- | --------------------------------------- |
| **Batch Size**         | 50      | 1-100     | Records processed per API call          |
| **Batch Delay**        | 100ms   | 50-1000ms | Delay between batch operations          |
| **Concurrent Batches** | 2       | 1-5       | Number of simultaneous batch operations |

## Monitoring Configuration

### Health Checks

| Check                 | Frequency       | Threshold         | Action               |
| --------------------- | --------------- | ----------------- | -------------------- |
| **API Connectivity**  | Every 5 minutes | 2 failures        | Alert administrators |
| **Sync Success Rate** | Hourly          | Below 95% success | Warning notification |
| **Error Rate**        | Real-time       | Above 5% errors   | Immediate alert      |

### Performance Monitoring

| Metric                | Target           | Warning         | Critical         |
| --------------------- | ---------------- | --------------- | ---------------- |
| **Sync Duration**     | Under 30 seconds | Over 60 seconds | Over 120 seconds |
| **API Response Time** | Under 2 seconds  | Over 5 seconds  | Over 10 seconds  |
| **Queue Processing**  | Under 5 minutes  | Over 15 minutes | Over 30 minutes  |

## Recommended Configuration Approaches

### Standard Configuration (Recommended for Most Organizations)

**Purpose**: Send WeGive data to Bloomerang while maintaining Bloomerang as the authoritative source

**Settings**:

* Push donors, transactions, and funds from WeGive to Bloomerang
* Do not pull data from Bloomerang to WeGive
* Use real-time sync frequency for immediate updates
* Configure a default fund for transactions without specific designations

**Best For**: Organizations that want to enrich their Bloomerang data with WeGive donation activity

### Bidirectional Configuration (Advanced Users)

**Purpose**: Keep both systems completely synchronized

**Settings**:

* Enable both push and pull for all data types
* Use hourly sync frequency to prevent conflicts
* Requires careful monitoring and data quality management
* Configure appropriate conflict resolution rules

**Best For**: Organizations that actively use both platforms and need complete data synchronization

### Import-Only Configuration

**Purpose**: Use WeGive primarily as a donation portal while maintaining records in Bloomerang

**Settings**:

* Pull donors, transactions, and funds from Bloomerang to WeGive
* Do not push data from WeGive to Bloomerang
* Use daily sync frequency for batch imports
* Ideal for organizations migrating to WeGive

**Best For**: New WeGive customers with existing Bloomerang databases

## Configuration Best Practices

### Initial Setup

1. **Start Conservative**: Begin with push-only configuration
2. **Test Thoroughly**: Use test connection before enabling sync
3. **Monitor Closely**: Watch logs during first 24-48 hours
4. **Validate Data**: Verify accuracy of synced records

### Ongoing Management

1. **Regular Reviews**: Check configuration monthly
2. **Performance Monitoring**: Track sync times and success rates
3. **Error Analysis**: Review and resolve integration errors promptly
4. **Settings Updates**: Adjust configuration based on usage patterns

### Security Considerations

1. **API Key Rotation**: Update API keys quarterly
2. **Access Control**: Limit who can modify integration settings
3. **Audit Logging**: Maintain records of configuration changes
4. **Data Privacy**: Ensure compliance with data protection regulations

## Troubleshooting Configuration Issues

### Common Problems

**Issue**: Sync operations failing

* **Check**: Verify all required settings are configured
* **Verify**: Test API connection is successful
* **Review**: Ensure default fund ID is valid

**Issue**: Duplicate records being created

* **Check**: Correlation ID mapping is working correctly
* **Verify**: Email matching is functioning properly
* **Review**: Sync direction settings are appropriate

**Issue**: Performance problems

* **Check**: Batch size settings are optimal
* **Verify**: Rate limiting is not being exceeded
* **Review**: Sync frequency matches data volume needs
