Keep groups in sync
When your rows live somewhere else, such as a Google sheet your team keeps up to date, a file your booking system publishes or a JSON feed from an API, RowSprout Pro can import them on a schedule. Each run reads the URL again, updates the template’s groups and generates the pages that changed.
Set up a sync
Section titled “Set up a sync”A sync starts from a normal group import from a URL, so you choose the columns once and see the result before anything is scheduled.
-
On the template’s General tab, click Import groups…, choose A URL and enter the address: a CSV, text or Excel file, the link of a Google sheet shared with Anyone with the link, or a JSON feed. A feed that needs a key gets a Request header under Advanced options.
-
Go through the wizard as usual: delimiters, then which column fills which property.
-
In the last step, tick Keep the groups in sync with this URL and choose How often: Every hour, Twice a day, Daily or Weekly, with the time (and the day). Times are in the site’s time zone.
-
Optionally tick Delete groups whose row disappears from the source. Read Deleting groups first.
-
Click Import. The groups are imported right away, and the sync takes over from then on.
The template’s Import and export groups section now shows Synced from a URL, with the last and next run. To change the schedule or the columns, run the wizard again with the same URL; to stop, untick Keep the groups in sync with this URL there, or use Stop syncing on the Syncs page.
What each run does
Section titled “What each run does”- It reads the URL with the settings and column choices of the import that set it up, also the worksheet, tab or JSON list you chose.
- New rows become groups, changed rows update their group, and rows that didn’t change are left alone. When the source is exactly the same as last time, the run stops there.
- A published (or scheduled or private) template generates its new and changed pages right away, in the background. A draft template only gets its groups updated.
- The request header of the import is stored with the sync and sent again on every run. It is never shown in the admin again; to replace it, enter a new one in the wizard, or tick Remove the saved header.
A run that cannot do its job safely changes nothing and says why on the Syncs page, for example when the URL doesn’t answer, the file has no rows, or a column or property the sync imports into is gone. Fix the source, or run the wizard again to choose the columns anew.
Deleting groups
Section titled “Deleting groups”Without Delete groups whose row disappears from the source, a group whose row is no longer in the source stays as it is, with its page.
With it, every run deletes such groups, together with their pages, and when the template has child templates also their groups for that row and those pages. This cannot be undone. As a safeguard, a run deletes nothing when:
- no row of the source matches an existing group: the URL probably gives the wrong file;
- more than a quarter of the groups would go at once: a feed that suddenly lost most of its rows is more likely broken than right.
The run then updates the rest and reports the groups it held back. When the source is right, import it once with the wizard and choose to delete them there. Developers can change the quarter with the rowsprout_pro_sync_delete_threshold filter.
The Syncs page
Section titled “The Syncs page”RowSprout → Syncs lists every synced template with its Source, Schedule, Status, Last run and Next run, and these actions:
| Action | What it does |
|---|---|
| Sync now | Runs the sync in the background right away; the result appears in the log within a minute or so. |
| Pause / Resume | Skips the scheduled runs until you resume. |
| Stop syncing | Ends the sync. The groups stay as they are. |
| Log | Every run of that template. |
The Log below shows each run: when, whether it was started by the Schedule or Sync now, its status, how many groups were Added, Updated, Deleted and Held back, the details (such as values that didn’t fit their property) and how long it took. Filter it by template or status.
| Status | Meaning |
|---|---|
| OK | The groups were updated. |
| Up to date | Nothing changed in the source. |
| Done, with notes | The groups were updated, with notes to read, such as skipped rows or groups held back. |
| Failed | Nothing was changed; the details say why. |
| Not run (no licence) | RowSprout Pro has no active licence. The sync runs again once it has. |
Email when a sync starts failing
Section titled “Email when a sync starts failing”Under RowSprout → Settings → Sync notifications, tick Email when a sync starts failing and enter one or more addresses under Send to, separated by commas (empty: the site’s admin email). You get one email when a sync that worked starts failing, not one for every failed run after that. RowSprout’s screens show a notice while a sync is failing, whatever you choose here.
From the terminal and AI agents
Section titled “From the terminal and AI agents”wp rowsprout list-syncs, sync-log, run-sync, set-sync, pause-sync, resume-sync and stop-sync manage syncs from the terminal (WP-CLI commands); the MCP abilities list-syncs, get-sync-log, run-sync, set-sync and update-sync-status let an AI agent do the same.