Configure how a Business Entity exchanges records or documents with its Connected System — on a schedule or on demand — so data normalizes into Enterprise Knowledge.
Prerequisites
- Connected System authentication configured and upload-ready
- Configure metadata and identity on the entity
- Configure business vocabulary for field projections
- Configure data flow so list/get (and write ops, if needed) bind correctly
Where it lives
| Layer | Location |
|---|---|
| Sync band | <datasourceKey>.json → sync |
| Document ingestion | documentStorage + sync together for entityType: documentStorage |
| UI | Business Entity Sync tab (?tab=sync) — Mode, schedule, batch size |
Manifest section: datasource.sync.
Builder MCP
| Manifest section | datasource.sync |
| UI tab | Sync (?tab=sync) |
| Help topics | section, dependencyGraph, repairRules |
| Repair hooks | sync |
After sync edits, run aifabrix repair <systemKey> --sync when the dependency graph lists downstream sections. Validate before upload.
Sync mode (what direction to sync)
sync.mode sets direction — which way data moves when sync runs. It is not the same as enterprise sync bridge participation (syncBridge on the datasource root).
| Mode | Direction | Use when |
|---|---|---|
| pull (default) | Connected System → Enterprise Knowledge | You want scheduled or manual ingest: list/get from the vendor and upsert into local storage. Typical for CRM, tickets, and document libraries. |
| push | Enterprise Knowledge → Connected System | Local or enterprise changes should write out to the vendor (create/update through CIP write capabilities). |
| bidirectional | Both | The entity must both ingest from the vendor and write changes back. Requires write-capable CIP operations and writable field mappings. |
Most record entities start as pull. Switch to push or bidirectional only when the Business Entity is meant to update the Connected System, not only mirror it.
How to set
- Set sync direction and schedule on the datasource:
{
"sync": {
"mode": "pull",
"schedule": "0 */6 * * *",
"batchSize": 500
}
}
Allowed mode values: pull, push, bidirectional. Optional schedule uses 5-field cron or @hourly / @daily / @weekly / @monthly. Optional batchSize is 1–10000 (default 500).
- Or edit the same fields on the Business Entity Sync tab (Mode, schedule, batch size) and save when the UI allows editing.
- Document storage — use document-specific pull/download operations; see Build a document storage entity.
- Record storage — align pull (and write, for push/bidirectional) operations with OpenAPI bindings under Configure data flow.
- Repair and validate:
aifabrix repair <systemKey> --sync
aifabrix validate <systemKey>
Defaults and examples
| Field | Default | Notes |
|---|---|---|
mode |
pull |
Direction only — see table above |
schedule |
(omit) | Without schedule, sync still runs on demand from the Sync tab |
batchSize |
500 |
Page/chunk size for sync processing |
Pull example (ingest only):
{
"sync": {
"mode": "pull",
"schedule": "@hourly",
"batchSize": 500
}
}
Bidirectional example (ingest and write back — only when CIP update/create exist):
{
"sync": {
"mode": "bidirectional",
"schedule": "0 */6 * * *",
"batchSize": 200
}
}
Validate
Integration proof: CLI workflow — test-integration exercises sync against live credentials.
Enterprise sync bridge
Inbound sync (above) loads records into Enterprise Knowledge for one datasource. Sync bridge propagates normalized changes across datasources that share a resourceType — without point-to-point target lists.
| Concern | Where to read |
|---|---|
| Track B How to set | Configure sync bridge |
| Optional change signals | Configure webhook change signals |
| Business model | Enterprise Synchronization Fabrix |
| Manifest depth / CIP prerequisites | Enterprise sync bridge — technical guide |
Do not confuse sync.mode (pull / push / bidirectional) with syncBridge (disabled / master / bidirectional). Mode is per-entity direction with the Connected System; sync bridge is cross-datasource enterprise propagation.
Common mistakes
| Mistake | Fix |
|---|---|
Treating mode as incremental vs full job type |
Use pull / push / bidirectional for direction only |
| Push or bidirectional without write CIP ops | Add update/create under data flow |
| Sync without CIP/list operation | Configure data flow bindings first |
| Record sync pattern on document entity | Use document ingestion band |
| Skipping repair after sync edits | repair --sync |
| Confusing Sync Mode with syncBridge | Mode = vendor direction; syncBridge = enterprise cross-entity |
Limits
This page documents the manifest sync band and Sync tab direction settings. Job-level run options (for example how aggressively missing vendor rows are reconciled on a given run) are platform sync-engine behavior and are not fields on sync.mode.