# Custom Sync

> Part of the NocoDB documentation (Product docs > Sync > App Sync). Index of all pages: https://nocodb.com/llms.txt. Any docs page is available as Markdown by adding `.md` to its URL.

URL: https://nocodb.com/docs/product/sync/app-sync/custom
Last updated: 2026-09-25

Mirror tables from PostgreSQL, MySQL, or SQL Server databases into NocoDB as read-only synced tables.

**Custom Sync** is the App Sync category for databases. It mirrors tables from an external **PostgreSQL**, **MySQL**, or **Microsoft SQL Server** database into your base as synced tables that stay up to date with their source — giving business teams a friendly interface over operational data without migrations or export scripts.

Unlike other App Sync categories, which map sources onto predefined schemas, Custom Sync works with **your** schema: you pick the tables, and you control how each column maps to a NocoDB field type.

## How It Works

Custom Sync is strictly one-way — from the database into NocoDB. Synced tables are read-only mirrors, so the source database remains the single source of truth. Data is refreshed using the standard App Sync machinery: [Incremental or Full](/docs/product/sync/app-sync#sync-types) runs, triggered [manually or on a schedule](/docs/product/sync/app-sync#sync-trigger), with configurable [source-delete handling](/docs/product/sync/app-sync#source-record-delete-handling).

Only regular tables are listed for syncing — database views are excluded. Each Custom Sync connects to a single source, but a base can contain as many Custom Syncs as you need.

## Create a Custom Sync

1. Open the **Manage** → **Sync** tab from the base overview page and click **+ New Sync**.

2. In the **Setup** step, name the sync and configure the [Sync type](/docs/product/sync/app-sync#sync-types), [Sync trigger](/docs/product/sync/app-sync#sync-trigger), and [On delete](/docs/product/sync/app-sync#source-record-delete-handling) behavior, then select the **Custom** category.

   <img alt="New Sync setup step with the Custom category selected" src={__img0} placeholder="blur" />

3. In the **Sources** step, choose your database engine: **PostgreSQL**, **MySQL**, or **Microsoft SQL Server**.

   <img alt="Custom Sync source selection" src={__img1} placeholder="blur" />

4. Configure the connection: pick an existing database connection or create a new one (host, port, username, password, database), select the **Schema** (PostgreSQL, SQL Server) or **Database** (MySQL), and choose the **Tables** to sync. For PostgreSQL and MySQL, the **SSL mode** can be **No SSL**, **Preferred**, **Allowed**, **Required**, or **Required (verify with CA)**; Preferred and Allowed encrypt the connection without verifying the server certificate, which suits servers with a self-signed certificate.

   <img alt="Custom Sync source configuration with schema and table selection" src={__img2} placeholder="blur" />

5. In the **Schema** step, fine-tune the column mapping for each selected table: include or exclude columns, review each column's original type, choose among the compatible NocoDB **Target types**, and confirm the **Unique ID** along with the **Created at** and **Updated at** designations. NocoDB auto-detects sensible defaults, including the table's primary key.

   <img alt="Map table columns step showing per-column type mapping" src={__img3} placeholder="blur" />

6. **Review** the configuration and click **Create**. A log window shows the initial sync's progress; once it completes, the synced tables appear in your base.

   <img alt="Custom Sync review step" src={__img4} placeholder="blur" />

   <img alt="Initial sync progress log" src={__img5} placeholder="blur" />

<Callout type="note">
  The 

  **Schema**

   step is unique to the Custom category — other App Sync categories use predefined schemas and skip it.
</Callout>

## Working with Synced Tables

Synced fields are read-only and marked with a flash icon (⚡) — the sync owns them, and they update only from the source database.

<img alt="Synced table with read-only synced fields" src={__img6} placeholder="blur" />

Beyond that, synced tables behave like regular NocoDB tables: add your own custom fields alongside the synced ones, build views with filters, sorts, and grouping, link them to other tables, and use them in dashboards and automations.

## Keeping Data in Sync

* **On demand** — click **Trigger Sync** next to the sync in the **Manage** → **Sync** tab.
* **On a schedule** — choose the Scheduled trigger with an **Hourly** or **Daily** interval.

With the **Incremental** sync type, each run fetches only records that changed since the last run, based on the designated **Updated at** column; **Full** re-imports everything.

## Edit a Custom Sync

Open the sync from the **Manage** → **Sync** tab to rename it, adjust trigger settings, or add and remove tables — existing field mappings are preserved.

## Delete a Custom Sync

When deleting a sync, you choose what happens to the destination tables:

* **Convert to plain tables** — keep the synced data and unlock the tables for editing; only the sync configuration is removed.
* **Delete synced tables** — drop the mirrored tables along with the sync configuration.

## Availability

* **Custom Sync** is available on the **Business plan and above**, on both **NocoDB Cloud** and licensed self-hosted deployments.

## Related

* [App Sync overview](/docs/product/sync/app-sync) — sync types, triggers, and delete handling.
* [NocoDB Sync](/docs/product/sync/nocodb-sync) — mirror a shared view from another NocoDB base.

---

## Related pages

- [Ticketing](https://nocodb.com/docs/product/sync/app-sync/ticketing.md): Bring ticketing data from popular platforms into NocoDB with automated syncs.
- [HRIS](https://nocodb.com/docs/product/sync/app-sync/hris.md): Bring employee data from your HR system into NocoDB with automated syncs.
- [CRM](https://nocodb.com/docs/product/sync/app-sync/crm.md): Bring customer and contact data from your CRM into NocoDB with automated syncs.
- [File Storage](https://nocodb.com/docs/product/sync/app-sync/file-storage.md): Bring file and folder metadata from cloud storage platforms into NocoDB with automated syncs.
- [Calendar](https://nocodb.com/docs/product/sync/app-sync/calendar.md): Bring your calendar events into NocoDB with automated syncs from Google Calendar, Outlook Calendar, and CalDAV.
