Skip to main content

Monitoring Sync Jobs

Professional+

Every sync execution creates a job — a timestamped record of what was synced, how many records moved, and whether it succeeded. This page explains how to read job status, interpret logs, diagnose failures, and configure alerts.


Job Status Reference

Navigate to Calabi Connect → Jobs to see a chronological list of all sync executions across all connections.

StatusIconDescription
SucceededGreen checkAll streams synced without errors; records written to destination
FailedRed XOne or more streams encountered an error; see logs for details
RunningBlue spinnerSync is currently in progress
CancelledGrey dashSync was manually stopped before completion
PendingYellow clockSync is queued, waiting for a worker slot
Filter by connection

Use the Connection dropdown on the Jobs page to scope the view to a single pipeline. Bookmark filtered URLs for quick daily checks.


Reading the Sync Summary

Click any job row to open the detail pane. The Summary tab shows high-level metrics:

MetricWhat It Means
Records SyncedTotal rows successfully written to the destination
Records FailedRows that could not be written (schema mismatch, type errors, etc.)
Bytes SyncedCompressed data volume processed in this job
DurationWall-clock time from job start to completion
Streams SucceededCount of streams that completed without error
Streams FailedCount of streams that encountered an error

A typical summary for a healthy incremental sync looks like:

Records Synced:   12,847
Records Failed: 0
Bytes Synced: 3.2 MB
Duration: 1m 42s
Streams Succeeded: 14 / 14

Reading Sync Logs

The Logs tab provides a structured, line-by-line execution trace. Each line is prefixed with a log level:

LevelColourWhen It Appears
INFOWhiteNormal progress messages (stream started, stream finished)
WARNYellowNon-fatal issues (deprecated field, rate limit approaching)
ERRORRedFatal errors causing stream or job failure
DEBUGGreyVerbose connector internals (only visible when debug mode enabled)

Common Log Patterns

Successful stream completion:

INFO  Syncing stream: Account
INFO Stream Account: 4,218 records synced in 18.2s
INFO Stream Account: complete

Rate limit warning:

WARN  Salesforce API rate limit at 85% — throttling requests
INFO Retrying after 30s backoff

Authentication error:

ERROR Failed to refresh OAuth token for source "HubSpot Production"
ERROR Response 401: {"error": "invalid_token"}
Use the log search

Press Ctrl+F inside the log viewer to search for keywords like ERROR or a specific stream name. This is faster than scrolling through thousands of lines.


Re-Running Failed Syncs

When a job fails, you have two options:

Reset and Re-Sync (Full)

Use this when the failure was caused by a schema change or corrupted state:

  1. Open the connection detail page.
  2. Click Reset Data — this clears the sync cursor and destination data for affected streams.
  3. Click Sync Now — triggers a full re-sync of selected streams.
Reset deletes destination data

Resetting a stream drops and recreates the destination table. Downstream models or dashboards depending on that table will be temporarily unavailable.

Retry Without Reset (Incremental)

Use this for transient failures (network timeout, brief API outage):

  1. Navigate to Connections → [connection name].
  2. Click Sync Now — the next sync picks up from the last successful cursor position.

Setting Up Failure Alerts

Calabi Connect can notify your team when a sync job fails. Configure alerts at Settings → Notifications → Sync Alerts.

Alert ChannelSetup RequiredNotification Timing
EmailEnter recipient addressesImmediately on failure
SlackPaste incoming webhook URLImmediately on failure
PagerDutyEnter routing keyImmediately on failure
Webhook (custom)Enter endpoint URLPOST on any status change

Example Slack Webhook Payload

{
"connection_name": "Salesforce → Snowflake",
"job_id": "job_01HX4M9QZPKR",
"status": "failed",
"started_at": "2026-04-06T08:00:01Z",
"failed_at": "2026-04-06T08:03:17Z",
"error_summary": "Stream Account: 401 Unauthorized — token expired",
"job_url": "https://app.calabi.io/connect/jobs/job_01HX4M9QZPKR"
}
Alert on consecutive failures only

To reduce noise, set the alert threshold to 2 consecutive failures before paging. Most transient errors resolve on the next scheduled sync.


Job History Retention

PlanHistory Retained
Professional30 days
Enterprise90 days

Jobs older than the retention window are purged automatically. If you need longer-term job history for compliance purposes, configure log export to S3 under Settings → Log Export.


Monitoring with the AI Agent

You can query sync job status conversationally using the Calabi AI Agent:

  • "Show me failed sync jobs from the last 24 hours"
  • "What's the average sync duration for the Salesforce connection this week?"
  • "Which connections haven't synced successfully in the last 3 days?"

The agent uses the get_job_status and list_connections tools from the Calabi Connect tool suite.


Next Steps