Estuary

How to Connect Salesforce to MySQL (No Code Required)

Sync Salesforce data to MySQL using Estuary Flow — no code, no hassle. Capture custom objects, refresh formula fields, and instantly materialize clean, query-ready data. Set up your pipeline in minutes.

Blog post hero image
Share this article

Salesforce is the go-to system for managing customers, sales, and support. But when it comes to analysis, reporting, or operational integration, its data often remains trapped — siloed from tools like MySQL, where the rest of your business runs.

Manual CSV exports and brittle custom scripts are common workarounds, but they’re slow, error-prone, and far from scalable.

What if your Salesforce data could be available in MySQL automatically?

By syncing Salesforce to MySQL, you make your CRM data queryable for:

  • BI dashboards and internal tools
  • Real-time alerting and reconciliation
  • Custom analytics and reporting

Estuary Flow makes this possible, without code or complex setup.

Estuary Flow is a real-time data integration platform that captures data from Salesforce using their Bulk API 2.0 and REST API, including standard and custom objects. It incrementally syncs this data to your MySQL database with built-in schema validation and transformation support.

Whether you're building analytics pipelines or operational apps, Estuary lets you stream your Salesforce data into MySQL reliably, securely, and with low latency.

In this guide, we’ll cover the business case, setup process, and benefits of integrating Salesforce with MySQL using Estuary Flow.

Want to get started fast? Skip to the setup guide ↓ or create your free Estuary account →

Why Connect Salesforce to MySQL?

Syncing Salesforce to MySQL opens up powerful use cases across your business:

  • Operational Workflows: Trigger real-time actions like order fulfillment or lead routing as data changes in Salesforce.
  • Unified Reporting: Combine Salesforce with data from billing, support, and product systems — all accessible via SQL in MySQL.
  • BI & Dashboards: Feed tools like Looker or Tableau with up-to-date CRM data for analytics without delay.
  • Developer Enablement: Let engineers build internal tools and services using familiar SQL rather than complex Salesforce APIs.
  • API Limitations: You can work around Salesforce’s rate limits and performance bottlenecks by offloading data into a fast, reliable database.

With Salesforce data in MySQL, teams move faster, work smarter, and build more.

Challenges with Traditional Approaches

While syncing Salesforce to MySQL sounds straightforward, traditional methods often fall short in practice. Here’s why:

1. Manual Data Exports

Exporting CSVs from Salesforce and importing them into MySQL is tedious and error-prone. It introduces delays, risks, version mismatches, and breaks under scale.

2. Batch ETL Tools

Many ETL platforms operate on scheduled batch jobs. This creates latency, often hours, between data updates and availability in MySQL, which isn’t acceptable for real-time use cases.

3. Custom Integrations

Building a custom sync layer using Salesforce’s APIs takes time and ongoing maintenance. You’ll need to handle rate limits, authentication, schema changes, and error recovery — all on your own.

4. Schema Drift

Salesforce’s schema can change without notice (e.g., new fields added to custom objects). Most tools struggle to adapt without manual intervention, risking data loss or pipeline failure.

5. Partial Data & API Limits

Due to API rate limits and object-level constraints, traditional integrations may fail to capture all relevant records, especially formula fields or large volumes of historical data.

No-Code Salesforce to MySQL Integration with Estuary Flow

Real-Time, No-Code Salesforce to MySQL pipeline

Estuary Flow is a real-time data integration platform that makes it incredibly easy to connect Salesforce to MySQL — without writing code, managing infrastructure, or dealing with brittle ETL scripts.

Instead of relying on batch jobs or manual exports, Estuary Flow streams your Salesforce data to MySQL continuously, so every record update, new lead, or status change appears in MySQL within seconds.

Here’s how it works:

  • Salesforce Connector Built for Scale - Flow captures changes from standard and custom Salesforce objects using Salesforce’s Bulk API 2.0 and REST API, with seamless OAuth authentication and automatic schema discovery.
  • Formula Field Support - Unlike most tools, Estuary Flow handles formula fields by refreshing their values on a configurable schedule, ensuring accuracy even when Salesforce doesn’t log a record change.
  • Smart MySQL Materialization - Flow creates and maintains tables in your MySQL database, supports schema validation, delta updates, and secure connections (including SSH tunnels).
  • Real-Time, Resilient Syncing - With low-latency streaming, built-in backfill, and exactly-once delivery, Flow ensures your Salesforce data lands in MySQL reliably and ready for use.

Prerequisites

Before setting up your Salesforce to MySQL pipeline, make sure you have the following in place:

  •  Estuary Flow Account
  • Salesforce Access
    • A Salesforce organization (Enterprise edition or higher recommended)
    • Credentials for a dedicated read-only user with access to the objects you want to capture
  •  MySQL Access
    • A MySQL database (version 5.7+)
    • A user account with permissions to create and modify tables
    • local_infile enabled (SET GLOBAL local_infile = true)
    • Either public IP access or an SSH tunnel for secure connections (AWS, GCP, Azure supported)

With these prerequisites, you’re ready to build a real-time, no-code Salesforce to MySQL integration using Estuary Flow.

Step 1: Create a Capture for Salesforce

Estuary's Salesforce capture connector

From the Estuary Flow dashboard:

  1. Click Captures → + New Capture
  2. Search for the Salesforce connector and click Capture

Authenticate

Estuary uses OAuth for authentication. Click the blue Authenticate Your Salesforce Account button to get started. In the Salesforce pop-up, provide:

  • Your Salesforce username (this can be a service account)
  • Your Salesforce password

💡 Use a read-only Salesforce user to limit access and reduce API usage.

Configure the Capture

  • Set a Start Date to define how far back to capture historical data
  • Enable Sandbox Mode if you're connecting to a sandbox environment
  • Adjust the window size for the Bulk API if needed (default: 18250 days)

Once authenticated, Flow will auto-discover all standard and custom Salesforce objects. You can:

  • Select the specific objects you want to sync
  • Exclude unnecessary objects by disabling bindings
  • Schedule formula field refreshes using a cron expression (e.g., 55 23 * * *)

Click Save and Publish to begin the capture. Flow will start by backfilling data, then switch to incremental change capture via Bulk API 2.0 and REST.

Step 2: Materialize the Data into MySQL

Estuary's MySQL materialization connector

Once your Salesforce data is being captured into Flow collections, it’s time to send that data to your MySQL database.

  1. Click Materializations → + New Materialization
  2. Search for the MySQL connector and click Materialize

Provide Your Database Details

  • Database: Name of your MySQL schema
  • Address: Hostname and port (e.g., db.example.com:3306)
  • User and Password
  • Optional: Timezone for handling date-time fields

The connector supports direct IP access or secure connection via SSH tunnel, which is ideal for MySQL on AWS RDS, Google Cloud SQL, or Azure.

Map Source Collections to Tables

Map each Flow collection from Salesforce to a target table in MySQL. Flow will:

  • Automatically create tables based on the source schema
  • Handle reserved keywords
  • Enforce schema rules for consistency

Click Save and Publish to activate the materialization.

Step 3: Monitor and Stream in Real Time

Once your pipeline is live:

  • Backfill begins from your defined start date
  • Flow switches to continuous CDC, capturing and pushing changes to MySQL in real time
  • Formula fields are refreshed based on your scheduled cron expression
  • Flow ensures exactly-once delivery, retry handling, and schema consistency

All pipeline activity — including data sync status, logs, and throughput — can be monitored from the Flow dashboard.

With Salesforce data now available in your MySQL database, you can power dashboards, trigger workflows, and run advanced analytics using simple SQL.

Integrate Salesforce data with any destination

Conclusion

Syncing Salesforce to MySQL doesn’t have to be slow, complex, or brittle. With Estuary Flow, you can move data continuously, securely, and without writing a single line of code.

Whether you're powering internal dashboards, automating operational workflows, or enabling unified analytics, Estuary Flow gives you the reliability of a streaming architecture and the simplicity of a fully managed platform.

Say goodbye to batch jobs, manual exports, and brittle ETL scripts. Say hello to real-time, schema-aware Salesforce data in your MySQL database.

Ready to Get Started?

Start syncing Salesforce to MySQL in minutes: Sign up for free on Estuary Flow →

Or explore the docs:

FAQs

    Estuary Flow offers a no-code interface to build real-time pipelines between Salesforce and MySQL. You simply authenticate your Salesforce account, select objects, and configure your MySQL destination. Flow handles schema mapping, table creation, and ongoing data sync automatically.
    Estuary Flow supports syncing standard objects, custom objects, and field history tracking from Salesforce. It also supports formula fields, which are refreshed on a scheduled basis since they don't trigger standard change events.

Start streaming your data for free

Build a Pipeline
Share this article

Table of Contents

Start Building For Free

About the author

Picture of Jeffrey Richman
Jeffrey Richman

With over 15 years in data engineering, a seasoned expert in driving growth for early-stage data companies, focusing on strategies that attract customers and users. Extensive writing provides insights to help companies scale efficiently and effectively in an evolving data landscape.

Popular Articles

Streaming Pipelines.
Simple to Deploy.
Simply Priced.
$0.50/GB of data moved + $.14/connector/hour;
50% less than competing ETL/ELT solutions;
<100ms latency on streaming sinks/sources.