Entity Sync
Entity Sync keeps your companies and contacts consistent across The One Stack products. When you add or update a company in one product, those changes propagate to all connected products automatically.
Supported Products
Entity Sync currently connects the following products:
| Product | Companies | Contacts |
|---|---|---|
| PSA | Read/Write | Read/Write |
| CRM | Read/Write | Read/Write |
| Books | Read/Write | Read/Write |
| RMM | Read/Write | Read Only |
| Security | Read/Write | Read Only |
| Portal | Read/Write | Read/Write |
| CMDB | Read/Write | Read Only |
| Voice | Read Only | Read/Write |
Configuration
Navigate to Hub > Settings > Entity Sync to configure synchronization.
Enabling Sync
- Go to Hub > Settings > Entity Sync.
- Toggle on each product you want to include in synchronization.
- Select a primary source — the product whose records take priority during initial sync.
- Click Save Configuration.
Sync Frequency
Choose how often entity data is synchronized:
- Real-time — Changes propagate within seconds via the service bus. Recommended for most deployments.
- Scheduled — Sync runs at a configurable interval (minimum 5 minutes). Useful if you want to batch changes.
- Manual — Sync only runs when you click the Sync Now button.
Duplicate Detection
When Entity Sync encounters a new record, it checks for duplicates before creating it in connected products.
Match Rules
Configure which fields are used to detect duplicates:
- Company name — Fuzzy matching with configurable similarity threshold (default 85%).
- Domain — Exact match on the company's primary domain.
- Email — Exact match on the primary contact email address.
You can enable multiple match rules. A record is considered a duplicate if any enabled rule matches.
Reviewing Duplicates
When a potential duplicate is detected:
- The record is flagged in Hub > Entity Sync > Review Queue.
- You can choose to merge, keep separate, or dismiss the match.
- Merged records combine fields from both sources based on your conflict resolution policy.
Conflict Resolution
When the same record is updated in multiple products simultaneously, Entity Sync applies your conflict resolution policy.
Resolution Policies
- Newest wins — The most recent update takes precedence regardless of source. This is the default.
- Source priority — Updates from higher-priority products overwrite lower-priority ones. Configure priority order in the settings.
- Manual review — Conflicting changes are queued for manual resolution. The record remains unchanged until resolved.
Field-Level Overrides
You can set per-field resolution rules. For example, you might want the PSA to always own the "Company Type" field while CRM always owns "Industry."
- Go to Hub > Settings > Entity Sync > Field Mapping.
- Click on a field name.
- Select the owning product for that field.
- Changes to that field from other products will be ignored.
Sync History
View a log of all sync operations at Hub > Entity Sync > History. Each entry shows:
- Timestamp
- Source and target products
- Entity type and name
- Action taken (created, updated, merged, skipped)
- Any errors or conflicts encountered
Use the filters to narrow results by product, date range, or action type.
Troubleshooting
Records not syncing
- Verify the product is enabled in Entity Sync settings.
- Check that the service bus connection is healthy in Hub > Settings > System Health.
- Review the sync history for error entries.
Too many duplicate flags
- Increase the fuzzy match similarity threshold to reduce false positives.
- Disable match rules that are too broad for your data (e.g., company name matching when you have many similarly named clients).
Sync delays
- If using real-time mode, check service bus queue depth in system health.
- For scheduled sync, verify the interval has not been set too high.