Product

How Syncful keeps two systems honest

A change-detection engine, a field mapper, a conflict resolver, and an audit log, working together so every sync connection stays trustworthy without babysitting.

Sync engine

Reading changes as they happen, not on a timer

Most connections use a change stream (a database's transaction log, or a source's webhook events) instead of repeatedly asking "what changed?" A change stream tells Syncful the instant something does, so there's no polling delay and far less load on the systems you're syncing.

Source system
emits change events
Syncful
maps, resolves, delivers
Target system
receives the update

When a source has no change stream

Some tools only expose a REST API with no webhook or log to read from. For those, Syncful falls back to short-interval polling, typically every few seconds, which is slower than a true change stream but still far faster than an overnight export.

Field mapping

Two systems rarely agree on field names

A "Company" field in one tool might be "Account Name" in another, stored differently, or missing entirely. Mapping lets you connect fields explicitly and transform values as they cross.

Rename & match

Point a source field at a differently-named target field. Syncful remembers the pairing for every future sync.

Transform in transit

Reformat a date, split a full name into first and last, or convert a currency, without a separate transformation step.

Skip what you don't need

Not every field belongs on the other side. Leave a field unmapped and Syncful will never touch it.

Sensitive fields stay put

Mark a field as excluded and it never leaves the source system, useful for anything you don't want mirrored at all.

Conflict resolution

When both sides change at once

Bidirectional sync means two systems can edit the same record within moments of each other. Syncful gives you three ways to decide what wins, set per sync connection.

Last write wins

The most recent change, by timestamp, is kept. Simple, and a reasonable default when both systems are equally trusted.

Source of truth

One system is always authoritative for a given field. The other side's value is overwritten, never the reverse.

Flag for review

Conflicting changes are held and surfaced in a review queue instead of auto-resolving, for the fields where a wrong guess is costly.

Connectors

Connect with OAuth or an API key

Most connectors authenticate with OAuth in a couple of clicks. A few older systems need an API key instead, Syncful will tell you which one a given connector expects.

SalesforceHubSpotZendeskPostgreSQLMySQLSnowflakeAirtableStripeSlackShopifyBigQueryGoogle SheetsIntercomNetSuite

Test on a sandbox connection first

Most of the systems Syncful connects to offer a sandbox or developer account. Point a new sync connection at that before flipping it on for production data, so you can watch how your conflict rules behave without any real risk.

Security

Treated like the sensitive data it is

Encrypted in transit & at rest

Every sync connection runs over TLS, and any credentials Syncful stores to authenticate are encrypted at rest.

Scoped access

Connectors request only the permissions a sync actually needs, never broader account access than necessary.

Full audit log

Every synced change is logged with its before and after value, kept for as long as your workspace is active.

A few terms, explained simply

The vocabulary behind real-time sync

What is change data capture (CDC)?

A technique for reading a database's transaction log to see every insert, update, and delete as it happens, instead of repeatedly querying the whole table. It's how Syncful gets near-instant updates with minimal load.

What's a webhook, in this context?

A callback a source system sends the instant something changes, rather than Syncful having to ask. Where a tool supports webhooks, Syncful uses them instead of polling.

What does idempotent mean here?

Applying the same sync event twice has the same effect as applying it once. It matters because retries after a network hiccup shouldn't create duplicate records.

What's an upsert?

An update-or-insert: if the record already exists on the target, it's updated, if it doesn't, it's created. Most syncs use upserts so records never duplicate.

What's a source of truth?

The system designated as authoritative for a given field. When there's a conflict, the source of truth's value wins and the other system is overwritten.

What's a backfill?

The one-time sync of existing records when a connection first goes live, run before Syncful switches to watching for new changes only.

What happens if I hit a connector's rate limit?

Syncful queues affected events and retries with backoff, staying inside the source system's API limits automatically. Nothing gets dropped.

What's sync latency, concretely?

The time between a change happening in one system and it landing in the other. For most connectors that's under a second, measured and shown per connection in your dashboard.

Done