Salesforce, as plain SQL. Both ways.
RowSync keeps a live, two-way copy of your Salesforce data in a PostgreSQL database you own. AI agents, customer portals, dashboards and your own apps work with plain SQL tables, and every change they make is checked before it goes back to Salesforce. What you'd expect from Heroku Connect or Stacksync, in any Postgres you choose, at a price a mid-size company can say yes to.
Your first sync live the same day. For Salesforce Enterprise Edition and above.
One live copy of Salesforce. Use it however your business needs.
Salesforce stays your system of record. RowSync gives everything else a Postgres database to work with, and sends what changes there back to Salesforce.
Salesforce and Postgres, kept in step
For teams that need their Salesforce data in a real database, both ways, without building an integration or paying enterprise prices for one.
- Connect an org in one click: install the package, log in, Allow
- Pick objects and fields, standard or custom, and which way each one flows
- See every validation rule, flow and trigger a write could set off, before going live
- Every attempt logged, with a retry button for anything Salesforce refused
Apps that run on your CRM data
For developers building portals, internal tools and AI agents that use the RowSync database as their app's data source.
- Real Postgres tables with readable column names, for any language or framework
- Write a row and it reaches Salesforce, with conflict checks so the newest change wins
- Picklist values, record types and Salesforce's rules, readable from the database
- Your app gets its own login: read only, or read and write, never delete
- Add your own tables beside the synced ones and join them in one query
Your Salesforce data in brodee
For teams using brodee.ai, the AI assistant for your business. Connect the RowSync database and brodee works with your CRM data and every other table in it.
- Ask about accounts, deals and cases in plain words, answered from your database
- Salesforce field labels come along, so brodee uses your names, not column names
- Changes brodee makes, once you confirm them, sync back to Salesforce
- No per-question Salesforce API calls, no API allowance used up
One live copy of your CRM, safe to read and safe to write
Set it up once from a guided wizard. From then on RowSync watches both sides and keeps them matching.
Two-way, field by field
Each field flows Salesforce to database, database to Salesforce, or both. Formulas, lookups and read-only fields are locked to one direction for you, with the reason on the badge.
Live, not a nightly export
A record saved in Salesforce reaches your table within seconds. A row changed in your database is picked up about every ten seconds and sent as a real Salesforce update. Neither side echoes a change back.
Any object, your tables
Accounts, contacts, opportunities, cases and every custom object your org owns. Let RowSync create a table shaped to the fields you pick, or map onto a table you already have.
Automation check before go-live
Before an object is switched on, RowSync scans your org live for validation rules, flows, Apex triggers, workflow, duplicate and matching rules, and explains each in plain English.
Picklists and record types kept valid
Current picklist values, dependent picklists and record types live in your database. Every value is checked against Salesforce before a change is sent, so nothing writes blind.
A data guide for every app and agent
Object Rules shows each table's fields, what an insert must fill in, picklists, and what Salesforce checks on save. Download it as one file for a developer or an AI agent.
Activity you can follow
Every sync attempt, either direction, with OK, error or conflict. Changes Salesforce refused wait under Needs attention with the real reason and a one-click retry.
Drift checks and sync maps
Record counts side by side for every synced object, Salesforce against your database, and a map of every org, database, schema and table that's connected right now.
A database set up the narrow way
The Provision Database wizard writes a script your own DBA reviews and runs: a login that can only manage RowSync's schema, plus an app user for your own app. RowSync never holds a broader credential.
How a change moves, in both directions
Two separate paths, each built for its side. Nothing exports on a nightly schedule, and nothing needs Salesforce's Change Data Capture allowance.
Within seconds of a save
inserts, updates and deletesAbout every ten seconds
inserts, updates and deletesAsk your CRM anything, with the tools you already know
Point Power BI, Tableau, Metabase, an ORM or an AI agent at always-current tables. One query joins accounts, deals and cases in milliseconds, where an agent would chain several CRM calls.
- Standard and custom objects and fields
- Picklists and record types kept up to date
- Read-only logins for the apps and people that only need to look
- Every change logged, both directions, so you can see what moved and when
| name | deal | amount | stage_name |
|---|---|---|---|
| Harbor Lane Foods | Renewal 2027 | 84,000 | Negotiation |
| Northwind Supply | Expansion | 62,500 | Proposal |
| Atlas Marine | New logo | 51,200 | Qualification |
The details that make a sync safe to build on
What you get, screen by screen, from first connection to the day you retire a table.
Setting up
A guided wizard, with a short video for every step.
- One-click Salesforce packageInstall it once, log in, click Allow. No Connected App to build in your org. Orgs that require one can connect with their own certificate instead.
- Sandboxes and productionConnect each org once. Point a second database at an org you've already connected, reusing its login.
- A new table, or yoursLet RowSync create a table shaped to your fields, or map onto an existing one: it warns where types don't fit and adds only the columns that are missing.
- Rename columns as you likeReadable names chosen per field, with the Salesforce label kept alongside.
- Record types includedA record type table is kept in your database, with a link from each record, so an app can only pick a type that exists.
- Initial load, safe to repeatPull every existing record when an object goes live, and run it again any time without duplicates. Large objects load in the background.
- Activate one or manySwitch on one object, or several in one go, and watch each one's status.
- Updates offered when they applyRowSync reads which package version your org has and offers an update only when there's a newer one.
Writing back safely
Every guard that stands between your app and a bad write to Salesforce.
- A direction for every fieldTo your database, to Salesforce, or both. Formulas, lookups, read-only and restricted fields are locked to one way, with the reason on the badge.
- Picklists checked properlyBy record type and by controlling field (a state by its country). A value just added in Salesforce passes; a typo is refused with a sentence, not FIELD_INTEGRITY_EXCEPTION.
- Automation previewValidation rules, Apex triggers, flows and Process Builder, workflow, duplicate and matching rules, read live from your org and explained in plain English.
- One owner per fieldWhen one org feeds several databases, only one may write each field back. Hand the ownership over in two clicks.
- The Salesforce Id is protectedThe column that ties a row to its record can't be edited by an app, so a row can't be re-pointed at someone else's record.
- Nothing lost quietlyRefused changes keep their exact original values; retry re-sends them as they were, nothing re-guessed.
A database that explains itself
Most apps and agents never open RowSync. So the rules live in the database.
- Comments on every table and columnThe Salesforce label, description and how to write to it, visible in any SQL tool, ORM or AI agent. Comments someone else wrote are never touched.
- Valid values, one query awayA view lists every picklist's current values, by record type or controlling field, so apps read them at run time instead of hard-coding them.
- Object RulesPer table: fields, what an insert must fill in, picklists, record types, global value sets, validation rules, flows, and fields Salesforce requires that you don't sync.
- Used byThe views, foreign keys, triggers and functions in your database that rely on each table.
- A data guide to hand overDownload one connection's tables, rules and values as Markdown to read or JSON to load: for an outside team, or as an AI agent's context.
- A start-here noteThe sync schema itself tells a developer browsing the database where everything is.
Running it day to day
See what moved, catch drift, and change things without breaking what depends on them.
- ActivityEvery attempt, both directions, as OK, conflict or error, searchable by object and text.
- Drift checkSalesforce's record count beside your table's for every synced object: the one signal that catches both sides quietly drifting apart.
- Sync mapsEvery org, database, schema and table on one map, with each one's status.
- Change a live syncAdd fields or change directions on an object that's already syncing, and save.
- Stopping is deliberateDownload a copy first, type the table's name to confirm. The table and its data stay, and the removal is recorded.
- Retire, then dropBefore a table is deleted, other logins lose access for a waiting period, so anything still using it shows up as "permission denied" in your logs. Restore puts it all back.
- Repair and reconnectA connection that didn't finish setting up is repaired in one click, without duplicating anything. Reconnect Salesforce without losing your setup.
- TeamAdmins and members, invited by email. Nobody has a password: sign-in is a single-use link.
Your database, set up the narrow way
RowSync never asks for a superuser password.
- A script your DBA runsRowSync writes the setup script; your administrator reviews and runs it under their own authority, in your infrastructure.
- A login that can do one thingRowSync's own login can connect and manage its schema. Never superuser, never other databases, never other roles.
- An app user for your appRead only, or read, insert and update on every synced table, never delete. Each new table is granted as it's created.
- Encrypted, and checkedConnection strings and Salesforce credentials are encrypted when saved and never shown again; every connection is made over SSL.
Built for data you can't afford to get wrong
RowSync moves your data. It never keeps it for itself, and it never sends Salesforce a change it hasn't checked.
It lives in your database
Synced records go to the PostgreSQL you choose, in your cloud and region. You own the tables, the backups and who may read them. Secrets are encrypted the moment they're saved and never shown again.
Checked before it's sent
Picklist values against Salesforce's current list, timestamps against Salesforce's own, at the moment of the write. Whichever side changed last wins, and a conflict is logged as one, never quietly.
One owner per field
When an org feeds several databases, only one connection may write each field back. Two apps can never race each other over the same Salesforce value.
Two-way Salesforce sync, without the enterprise price tag
Heroku Connect, Stacksync and the other sync products do the job, and charge like it. RowSync does the same job for companies that can't justify that bill.
Priced for mid-size companies
A two-way sync shouldn't cost more than the Salesforce licences it serves. RowSync is priced well below the big sync products, and the price doesn't climb with every question your apps and agents ask.
Any Postgres you choose
Heroku Connect syncs only to Heroku Postgres. RowSync works with the PostgreSQL you already run: AWS, Azure, Google Cloud, DigitalOcean, Supabase, Neon or your own servers, in your region.
No consultants, no middleware
A guided wizard, a one-click Salesforce package and a database script your DBA can read. Most teams have their first object syncing the same day, with no Change Data Capture allowance needed.
Safer writes than a plain sync
Picklist values checked against Salesforce before they're sent, conflicts settled by timestamp at the moment of the write, one owner per field, and your automations reviewed before go-live.
Built for apps and AI
Every table explains itself: Salesforce field labels as database comments, a data guide per table, and the rules Salesforce checks on save, so a developer or an AI agent writes the right values first time.
Your data stays yours
Records live in your database, never in RowSync's. Stop a sync and the table and its data stay where they are. Secrets are encrypted and never shown again.
Trying Lightfield? Keep Salesforce while you move.
RowSync can copy your Salesforce records into Lightfield, the AI-native CRM, and then keep the two in sync both ways, so your team can switch at its own pace.
- A readiness check first: which fields Lightfield still needs before anything is copied
- A test run on the newest records before the full copy
- A copy that resumes where it stopped, without duplicates
- Records that failed, with a reason you can act on
- Undo: remove the records RowSync copied, in one go
- Then live, both ways, for each object you choose
Stop paying per question
Salesforce has said it plans to bill AI agents for reaching into your production org, whether they connect through MCP or the regular API: every successful call a metered "headless platform interaction", paid in Flex Credits. Add users, add agents, ask more questions, and the bill grows with every one.
No meter on reads. Agents query your own Postgres copy. A database doesn't charge per question.
No API limits. Agents never use up your org's daily API allowance or slow down your other integrations.
Fewer keys to your CRM. Agents get a read-only database login, not credentials to your production org.
What could your agents cost in Flex Credits?
An estimate of Flex Credits only, not a quote: Flex Credits at their $500 per 100,000 list price, and example rates for credits per call, since Salesforce hasn't published that rate or a start date yet. RowSync keeps your copy current as a standard integration, not an AI agent, and what you pay for RowSync and your database doesn't grow with each question your agents ask. Sources: Salesforce Ben, Salesforce Hosted MCP Servers.
Start with one object. Grow into it.
Your CRM data in a real database, without building or babysitting an integration.
- Guided setup, start to finish
- RowSync writes the database setup script for you
- Start with one object, add more any time
- 20 short video tutorials in the app
Several orgs, sandboxes and databases, each synced the way that project needs.
- Everything for small business
- Admins and members, invited by email
- One org feeding several databases, one owner per field
- Sync maps and drift checks across every connection
Your data stays in your database, in your cloud and region, under your controls.
- Everything for growing teams
- Bring your own PostgreSQL and your own DBA's script review
- Certificate-based sign-in for orgs that require it
- Separate, narrow logins for every downstream app
- A full log of every change, both directions
Priced for companies that found Heroku Connect and Stacksync too expensive. Tell us about your org and we'll send you a price.
Your Salesforce data, live in your database today
Tell us about your org and what you'd like to sync. We'll send you a price and set up your workspace with you.
RowSync