> For the complete documentation index, see [llms.txt](https://docs.notionapps.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.notionapps.com/databases/reload-and-sync.md).

# Reload and sync

One sync manual. Workspace pages [Reload Data (from app builder)](https://docs.notionapps.com/workspace-and-account/reload-data-from-app-builder), [Reload Data (from app)](https://docs.notionapps.com/workspace-and-account/reload-data-from-app), [Automatic Reload Data](https://docs.notionapps.com/workspace-and-account/automatic-reload-data), and [Recovery History](https://docs.notionapps.com/workspace-and-account/recovery-history) point here. Product help `autoSync` and `reloadDataFromApp` also point here.

## What this is / when to use it

| Job                                                       | What to use                     | When not to                                                               |
| --------------------------------------------------------- | ------------------------------- | ------------------------------------------------------------------------- |
| Pull schema + rows into the builder after a Notion change | **Sync** (builder Databases)    | You only changed app layout — publish instead                             |
| Keep rows fresh on a schedule                             | **Auto-sync**                   | You need instant Notion→app on every keystroke                            |
| Let a signed-in user pull fresh rows                      | **End-user refresh**            | Guests on a public list you do not want to hammer                         |
| Undo a bad sync / restore a snapshot                      | **Rollback** (Recovery History) | You meant to revert a **published app version** — that is Version History |

```
Sync = builder ← Notion (schema and data).
Publish = users ← builder.
Refresh = live app ← Notion (rows).
Rollback = builder data ← snapshot.
```

## Before you start

1. The integration can see the database.
2. You understand that sync can add, rename, or drop fields in the sheet map. Dropped fields break components. See [Save failed](https://docs.notionapps.com/troubleshooting/save-failed-field-missing-after-sync).
3. Nobody else should be mid-publish in another tab (409 risk). See [Save conflict](https://docs.notionapps.com/troubleshooting/save-conflict-409-multi-tab).

## Build it

### Sync from the builder

1. Open **Databases**.
2. Select the database.
3. Click **Sync** / **Reload**.
4. Wait until properties and sample rows look right.
5. Open a screen that uses the database. Rebind any component whose property vanished.
6. Publish if end users should see new properties.

### Automatic reload

1. Open Databases → the sheet → **Auto-sync**.
2. Turn it on. Frequency follows your plan meter (two-way / auto-sync interval).
3. Auto-sync refreshes rows. It is not a substitute for a manual sync after you add a property in Notion — still run a builder sync so the field map updates.

### Reload from the published app

1. On a list or details screen, enable **Show reload button** when the builder offers it (also documented on Relations for nested lists).
2. Publish.
3. Users tap reload. The app fetches fresh rows for that sheet. It does not change your screen layout.

## Page content

Show page content is a **separate fetch** from row properties. A row can be fresh while the embedded Notion page body is stale. Reload page content after you share the page with the integration. Unsync reasons: page not shared, empty, or blocks failed to transform.

### Rollback / Recovery History

1. Open **Recovery History** (workspace / databases).
2. Pick a snapshot from before the bad sync.
3. Restore. Confirm the field map matches the components you still have.
4. If the **app definition** is wrong, use [Version History](https://docs.notionapps.com/settings/version-history) instead of Recovery History.

## Every control

| Control             | Options                  | What it does                                                                                                    |
| ------------------- | ------------------------ | --------------------------------------------------------------------------------------------------------------- |
| Sync / Reload       | Manual                   | Rebuilds sheet fields from Notion.                                                                              |
| Auto-sync           | On / off + plan interval | Scheduled row refresh.                                                                                          |
| End-user reload     | Button on screen         | User-triggered row refresh.                                                                                     |
| Recovery History    | Snapshots                | Rollback synced data/schema snapshots.                                                                          |
| Page content reload | Separate fetch           | Notion block body for Show page content. Unsync reasons: page not shared, empty, or blocks failed to transform. |
| Nested list reload  | On relation components   | Refresh related rows only.                                                                                      |

## What users see

Users never see “sync” unless you give them a reload button. They see stale or fresh rows. After you sync a breaking schema change and publish, they see missing fields or failed writes until you fix the map.

## Limits and plans

Usage meters that touch this page: **databases**, **pages**, **properties**, **blocks**, **two-way sync frequency**. See [Plans](https://docs.notionapps.com/plans-and-entitlements).

* Auto-sync interval is slower on lower plans.
* Page content is not the same payload as row properties. A row can be fresh while the embedded page is stale.
* Rollback does not delete the Notion pages that were created in the meantime.

## Example

You add a **Delivered file** (files) property in Notion, then rename it. Components still point at the old field id. Builder autosave returns `NoFieldInSheet`. Fix: sync, rebind the file component to the new property, save, publish. If sync made it worse, rollback the snapshot, then rebind.

## Fix problems

| Symptom                         | Likely cause                      | What to do                                                                                                                       |
| ------------------------------- | --------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- |
| Databases missing               | Not shared                        | Share with the integration.                                                                                                      |
| Auto-sync “on” but schema stale | Auto-sync is rows, not properties | Manual sync.                                                                                                                     |
| Data stopped syncing            | Token, sharing, or plan           | [My data has stopped syncing](https://docs.notionapps.com/troubleshooting/my-data-has-stopped-syncing.-what-could-be-the-issue). |
| Page content empty              | Unshared page or transform fail   | Re-share. Reload page content.                                                                                                   |
| Save failed after sync          | Orphan component                  | [Save failed](https://docs.notionapps.com/troubleshooting/save-failed-field-missing-after-sync).                                 |

## Related

[Notion property types](https://docs.notionapps.com/databases/notion-property-types). [Version History](https://docs.notionapps.com/settings/version-history). Next on the maker path: [Data restriction vs filters](https://docs.notionapps.com/databases/data-restriction-and-filters).
