Skip to main content

Monitoring & Managing Syncs

This page explains how to watch, control, and understand sync operations from the Admin Dashboard.


Connector Detail Page

Navigate to Connectors → [your connector name] to open the detail page. It has three tabs:

TabWhat it shows
OverviewStatus, statistics, last/next sync, action buttons
Sync HistoryTable of all sync jobs
SettingsEdit connector configuration

Running a Sync Manually

From the Overview tab:

ButtonWhat it does
Run Full SyncFetches ALL records from WordPress (no date filter)
Run Initial ImportOne-time bulk import (only available before the first import)
Test ConnectionRuns the 5-step diagnostic without syncing

The page auto-refreshes every 4 seconds while a job is PENDING or RUNNING.


Sync Job Statuses

StatusMeaning
PENDINGJob is queued, waiting to start
RUNNINGActively fetching and importing records
COMPLETEDAll entity phases finished (some records may have had errors — check logs)
FAILEDA critical error stopped the job before completion
CANCELLEDManually stopped

A job marked COMPLETED does not mean every record succeeded. Always check the per-entity logs for individual failures.


Reading Sync Job Logs

Click any sync job row in the Sync History table to open the per-entity logs. Each row shows:

ColumnDescription
Entity typearticle, member, event, document, conference, company, notification
External IDThe WordPress post ID or user ID
Internal IDThe platform UUID assigned to this record
OperationCREATE (new), UPDATE (changed), SKIP (unchanged), SYNC (push to source)
StatusSUCCESS, FAILED, SKIPPED, CONFLICT
Error detailsFull error message if status is FAILED
Processed atTimestamp

Common log statuses

SKIPPED — The record exists in the platform and the content hash matches WordPress — no update was needed. This is expected and normal for incremental syncs.

FAILED — The record could not be imported. Common reasons:

  • Required field is missing (e.g. article with no title)
  • Duplicate slug conflict
  • Invalid date format in event start/end times
  • Image download failed (if image mirroring is enabled)

CONFLICT — The platform record has been modified more recently than the WordPress record. By default, the platform record wins (WordPress data is not overwritten).


Activity Log

The Activity panel shows a unified feed of all sync events across all jobs, ordered newest first. Use this for a quick overview of what has changed recently.


Audit Log

The Audit Log panel tracks who made changes to the connector configuration itself:

ActionWhen recorded
CREATEDConnector was first created
UPDATEDConnector settings changed (shows field-level diff)
DELETEDConnector was deleted
PAUSEDConnector was paused
RESUMEDConnector was resumed
SYNC_TRIGGEREDA sync was manually triggered (shows who triggered it)

Schedule Information

The Overview tab shows:

  • Last sync at — When the most recent sync completed
  • Next sync at — When the scheduler will run next
  • Seconds until next sync — Live countdown

The scheduler checks for due connectors at regular intervals and automatically triggers an INCREMENTAL sync when nextSyncAt is in the past.


Connection Diagnostics

Click Test Connection to run a 5-step diagnostic without syncing:

StepWhat is checked
1. HTTP reachablePlatform can open a TCP connection to your WordPress URL
2. REST API root/wp-json returns a valid WordPress REST API response
3. Plugin installedThe Association App plugin endpoints are registered
4. API key validGET /api/v1/sync/ping returns 200 with the correct key
5. Data availableAt least one entity endpoint returns records

Results are shown as green ticks (pass) or red crosses (fail) with a descriptive message for each step.


Mapping Diagnostics

The Diagnostic Panel also includes a Mapping Diagnostics check. It:

  1. Fetches one sample record from each enabled entity type
  2. Dry-runs the field mappings
  3. Reports field status for each field:
StatusMeaning
PRESENTField was found and mapped successfully
MISSINGField was expected but not present in the WordPress response
DEFAULT_USEDField was missing but a default value was applied
INVALIDField was present but could not be parsed (e.g. bad date format)

Use this to catch mapping issues before running a full sync.


Pausing and Resuming

To temporarily stop scheduled syncs without deleting the connector:

  • Pause: Connector → ⋯ menu → Pause Sync
  • Resume: Connector → ⋯ menu → Resume Sync

When paused, status changes to PAUSED and the scheduler skips this connector. Manual syncs still work while paused.


Platform Admin View

Super admins can see all connectors across all organisations at Platform → Connectors.

The platform view shows:

  • Total connectors (all orgs)
  • Active / error / paused counts
  • Unique organisations with connectors
  • Filterable table: search by name, filter by status or connector type
  • Click any row to drill into the connector detail (with org context)