Conflict Resolution
When the same record is updated in both systems between syncs, a conflict occurs. FluxCascade provides configurable strategies to resolve these conflicts automatically.
What is a Conflict?
A conflict happens when:
- A record exists in both systems (matched by email, ID, etc.)
- The record was updated in System A after the last sync
- The record was also updated in System B after the last sync
- FluxCascade detects both modifications
Example:
Last sync: 2:00 PM
HubSpot: Phone updated to 555-111-1111 at 2:30 PM
Jobber: Phone updated to 555-222-2222 at 2:45 PM
Next sync: 3:00 PM → CONFLICT DETECTED
Conflict Resolution Strategies
Last Write Wins (Default)
The most recently modified value wins.
| Pros | Cons |
|---|---|
| Simple and predictable | Earlier changes may be lost |
| Works automatically | Depends on accurate timestamps |
| No manual intervention needed | May not reflect "correct" value |
Best for: Teams that want fully automatic conflict handling.
Source System Wins
The source system (as defined in your mapping) always wins.
Mapping: HubSpot → Jobber
Conflict on phone field:
HubSpot (source): 555-111-1111 ← WINS
Jobber (target): 555-222-2222
Result: Both systems get 555-111-1111
Best for: When one system is the definitive source of truth.
Target System Wins
The target system always wins.
Mapping: HubSpot → Jobber
Conflict on phone field:
HubSpot (source): 555-111-1111
Jobber (target): 555-222-2222 ← WINS
Result: Both systems get 555-222-2222
Best for: When the target system is where data gets corrected/updated.
Manual Resolution
Flag conflicts for manual review instead of auto-resolving.
| Pros | Cons |
|---|---|
| Full control over resolution | Requires manual effort |
| No data loss | Conflicts can pile up |
| Visibility into conflicts | Data stays out of sync until resolved |
Best for: Critical data where automatic resolution is risky.
Field-Level Priority
Different resolution strategies for different fields:
Email field: Source wins (CRM owns email)
Phone field: Last write wins (both teams update)
Address field: Target wins (field team has accurate addresses)
Best for: Complex workflows where different teams own different data.
Configuring Conflict Resolution
At the Mapping Level
- Go to Mappings
- Click on your mapping
- Click Settings or Edit
- Find Conflict Resolution Strategy
- Select your preferred strategy
- Save
At the Field Level
- Edit your mapping
- Click on a specific field pair
- Expand Advanced Options
- Set Conflict Strategy for that field
- Save
Field-level settings override mapping-level settings.
Viewing Conflicts
Conflict Dashboard
Navigate to Syncs → Conflicts to see:
- Records with active conflicts
- Conflict history
- Resolution actions taken
In Sync Logs
Each sync shows:
- Number of conflicts detected
- Strategy applied
- Which value won
Notifications
Configure alerts for:
- Any conflict detected
- Manual resolution required
- High conflict volume (threshold)
Resolving Manual Conflicts
When using manual resolution:
- Go to Syncs → Conflicts
- Click on the conflicting record
- Review both versions:
- Source system value
- Target system value
- Timestamps for each
- Choose which value to keep
- Click Resolve
The selected value is synced to both systems.
Preventing Conflicts
1. Assign Ownership
Clearly define which team owns which fields:
Marketing Team → Owns: Lead source, campaigns, lifecycle stage
Sales Team → Owns: Deal values, close dates, notes
Field Team → Owns: Service addresses, job status, completion notes
2. Use Field-Level Direction
Make fields one-way where appropriate:
- Lead source: CRM → Field service only
- Job completion date: Field service → CRM only
3. Increase Sync Frequency
More frequent syncs = smaller conflict windows:
- Hourly: Good for most cases
- Every 15 minutes: Better for active teams
- Real-time (webhooks): Best for conflict prevention
4. Train Your Team
Ensure teams understand:
- Which system to update for which data
- That both systems sync (changes will propagate)
- How conflicts are handled
Conflict Audit Trail
FluxCascade maintains a full audit trail:
- Original value in source system
- Original value in target system
- Resolution strategy applied
- Final value after resolution
- Timestamp of resolution
- User who resolved (if manual)
Access via Syncs → History → [Sync Job] → Conflicts
Advanced: Custom Resolution Logic
For complex scenarios, FluxCascade supports custom resolution rules:
Example: Business Hours Priority
If conflict occurs:
If source_updated during 9am-5pm AND target_updated outside 9am-5pm:
Source wins (office hours take priority)
Else:
Last write wins
Contact support for custom resolution logic configuration.
Next Steps
- Bidirectional Sync – Two-way sync fundamentals
- How Syncs Work – Understanding the sync process
- Error Handling – Handling sync failures