Core Concepts: Sources, Destinations, and Syncs
Oneprofile is built around four core building blocks. Understanding how they work together is the key to getting the most out of the platform.
Sources
A source is any tool or database where your customer data already lives. When you connect a source to Oneprofile, you're telling the platform where to read data from.
Examples of sources include your payment processor (Stripe), your authentication provider (Clerk), your analytics tool (PostHog or Mixpanel), your CRM (Attio or Intercom), or even a database (PostgreSQL) or spreadsheet (Google Sheets).
Each source has:
Record types: the kinds of data the source contains. For example, a CRM might have "contacts" and "companies" as separate record types. When you create a sync, you choose which record type to pull from.
Properties: the individual fields within a record type. Properties come in two flavors:
Built-in properties are standard fields defined by the integration (e.g.,
email,name,created_at).Custom properties are fields you or your team have added to the tool (e.g.,
plan_tier,referral_source).
Primary key: the field that uniquely identifies each record (e.g.,
id,email,external_id). Oneprofile uses the primary key to match records between your source and destination.
You can connect multiple sources to your Oneprofile workspace. Each source connection stores its own credentials and configuration independently.
Destinations
A destination is the tool or database where you want to send data. When Oneprofile runs a sync, it reads data from the source and writes it to the destination.
Like sources, destinations have record types, properties (built-in and custom), and primary keys. Some destinations also support creating custom properties on the fly, meaning Oneprofile can create new fields in the destination that don't exist yet, directly from the sync configuration.
The same tool can act as both a source and a destination. For example, you might use PostgreSQL as a source to read customer data and Intercom as a destination to keep your support contacts up to date or vice versa.
Syncs
A sync is the connection between one source and one destination.
It defines:
1. Which source and destination are connected.
2. Which record types to use on each side (e.g., pull "users" from the source, write to "contacts" in the destination).
3. The sync behavior: how Oneprofile should handle records. There are four options:
Update or Create: If a matching record exists in the destination, update it. If not, create a new one. This is the most commonly used mode.
Update Only: Only update records that already exist in the destination. New records in the source are ignored.
Create Only: Only create new records. Existing records in the destination are never modified.
Mirror: Replace all data in the destination with the source data. The destination becomes an exact copy of the source.
4. Primary keys: The fields used to match records between source and destination. For example, if both your source and destination use email as a primary key, Oneprofile will match records by email address.
5. Field mappings: Which source fields map to which destination fields. For example, first_name in the source might map to name in the destination.
When a sync runs, it produces a sync run, a record of what happened. Each sync run tracks:
Profiles imported: how many records were read from the source.
Profiles exported: how many records were written to the destination.
New: how many records were created in the destination.
Updated: how many existing records were updated.
Errors: how many records failed to sync, and why.
You can run a sync manually at any time, or automate it with a schedule.
Sync Schedules
A sync schedule automates your syncs so they run on a recurring basis without manual intervention.
Schedules use cron expressions to define when syncs should run. You can choose from common intervals (e.g., every 15 minutes, every 6 hours, once a day) or write a custom cron expression for more specific timing (e.g., every Monday at 5:00 PM).
A single schedule can include multiple syncs. This is useful when you want several syncs to run together in coordination for example, syncing both "contacts" and "companies" from the same CRM on the same cadence.
The minimum sync frequency depends on your plan:
Plan | Minimum Frequency |
|---|---|
Free | Every 60 minutes |
Team | Every 15 minutes |
Enterprise | Real-time |
How They Fit Together
Here's how the four concepts relate:
1. You connect a source (where data lives) and a destination (where data needs to go).
2. You create a sync that defines how data moves between them — which records, which fields, and what behavior.
3. You create a schedule to automate the sync so it runs on a recurring basis.
That's it. Sources provide data, destinations receive data, syncs define the rules, and schedules automate the timing.