Reading Logs

Reading Logs

Every native integration writes detailed logs to a Logs tab on its configuration page in the admin UI. This is where you go to understand exactly what happened during a sync — what records were processed, what the source API returned, what the sync decided about each one, and why.


Where to find the Logs tab

Admin → Integrations → your integration → Logs

The Logs tab is split into three sub-tabs (or two, on integrations that sync only one entity type). Each sub-tab holds a different kind of information.


The three sub-tabs

Requests

Every HTTP request ExpoPlatform made to the source system, paired with its response.

Use this to:

  • Confirm the source API returned the expected data

  • Inspect error responses from the source (e.g. HTTP 4xx, 5xx, or API-level errors)

  • Check for rate-limit responses (usually HTTP 429)

  • Verify that credentials are being sent correctly

If a sync failed during the fetch phase, this is almost always where the answer is.

Visitors / Exhibitors

One entry per record processed in a sync run, showing whether it was created, updated, skipped (with reason), or failed.

The sub-tab name matches the entity type the integration syncs — integrations that sync both (like Visit) have both sub-tabs.

Use this to:

  • Trace what happened to a specific record

  • See why records are being skipped (with the skip reason)

  • Diagnose why an expected update didn't happen

Each entry shows details like the record's External ID, email address, and the sync run it belongs to. You can filter by External ID to see everything that ever happened to a particular record across sync runs.

System

Life-cycle and configuration events: setting changes, manual sync triggers, scheduler events, subscription lifecycle, and other framework-level information.

Use this to:

  • Confirm whether the scheduler picked up a subscription

  • Check when a manual sync was triggered and by whom

  • See when settings were changed

  • Diagnose issues that aren't specific to a single record


Common investigations

"Why didn't this specific record sync?"

  1. Open the Visitors or Exhibitors sub-tab

  2. Filter by the record's External ID or email address

  3. Find the most recent entry — it'll show the outcome (created / updated / skipped / failed) and, if skipped, the reason

"The sync failed — what went wrong?"

  1. Open the System sub-tab first — that's where sync-level failures are recorded

  2. If the error mentions the source API, check the Requests sub-tab for the actual request/response pair

  3. Look at the timestamp closest to when the sync started

"Nothing is being created / updated — records are just being skipped"

  1. Open the Visitors or Exhibitors sub-tab

  2. Look at the skip reasons across recent entries

  3. If most are unchanged, that's normal — records already match ExpoPlatform

  4. If many are categoryMapping, settings, or validation, check the corresponding setting — see Troubleshooting for step-by-step guidance

"Was the sync actually triggered?"

  1. Open the System sub-tab

  2. Look for entries showing the sync trigger — either a scheduler event, a manual trigger, or a webhook receipt


Skip reasons quick reference

When you see a record marked as skipped, the reason tells you why. The full reference is on Status & Result Codes, but here's the summary:

Reason

What it means

unchanged

The record hasn't changed since last sync — no work needed. Normal.

categoryMapping

The category isn't in your Category Mapping and Unmapped Category Handling is set to skip.

settings

A configured filter or setting excluded the record.

deleted

The record was flagged as deleted in the source system.

validation

A required field was missing or invalid (e.g. no email address).

duplicate

Another record already resolved to the same ExpoPlatform account.

identityMatchFailed

Email First identity matching found a conflict — see Identity Matching.

other

Any reason not covered by the categories above.


  • Monitoring a Sync — the sync-level view, before diving into individual records

  • Status & Result Codes — the full reference for statuses, skip reasons, and error codes

  • Troubleshooting — symptom-based diagnostics for common issues