Declarative Infra
for Bidirectional Data Sync.
No complex setup. Run 'syncos link' on your CLI to keep Stripe, Salesforce, and HubSpot in sync. Bidirectional customers, contacts, and billing state, all defined in your terminal.
End-to-end in under five minutes
Engineered for the modern B2B stack
$ syncos link --plan Pair: Source: stripe Target: salesforce Entity: customer Bidirectional: true Links: • salesforce|stripe|customer (exists) • stripe|salesforce|customer (exists) Mapping: Fields: 4 Reverse: 4 Sample: - customer.email -> contact.Email - customer.firstname -> contact.FirstName - customer.lastname -> contact.LastName Provisioning: • salesforce: manual_webhook_configuration_required • stripe: provision_webhook (/webhooks/stripe/:tenantId) Warnings: • Entity not provided; defaulted to "customer" to match link-from-connections. Local config Recommended: export SyncOSConfig.json so you can edit mappings and re-apply safely. You can also export later: syncos config export Local files: • After execution, syncos link may prompt to export SyncOSConfig.json (default YES). • Use --no-write to skip writing the file. • Use --force to overwrite SyncOSConfig.json without prompting. Apply these proposed changes? (y/N)
$ syncos apply --plan ✔ Config loaded Diff: =================================================== --- SyncOSConfig.json (current) +++ SyncOSConfig.json (proposed) @@ -5,6 +5,10 @@ "conflictPolicy": { "default": "last-write-wins" }, + "filters": { + "sourceToTarget": [], + "targetToSource": [] + }, "mapping": { "fields": [ { "bidirectional": true, "sourceField": "contact.LastName", - "status": "active", + "status": "deactivated", "targetField": "customer.lastname" }, { Summary: Links total: 1 Links existing: 1 Links missing: 0 Apply these proposed changes? (y/N) y ✔ Configuration applied successfully! Updated links: 2 Config hash: 297b0de40485c0e7... Tip: use `syncos status` to inspect link health.