Monitoring Sync Jobs
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.
| Status | Icon | Description |
|---|---|---|
| Succeeded | Green check | All streams synced without errors; records written to destination |
| Failed | Red X | One or more streams encountered an error; see logs for details |
| Running | Blue spinner | Sync is currently in progress |
| Cancelled | Grey dash | Sync was manually stopped before completion |
| Pending | Yellow clock | Sync is queued, waiting for a worker slot |
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:
| Metric | What It Means |
|---|---|
| Records Synced | Total rows successfully written to the destination |
| Records Failed | Rows that could not be written (schema mismatch, type errors, etc.) |
| Bytes Synced | Compressed data volume processed in this job |
| Duration | Wall-clock time from job start to completion |
| Streams Succeeded | Count of streams that completed without error |
| Streams Failed | Count 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:
| Level | Colour | When It Appears |
|---|---|---|
INFO | White | Normal progress messages (stream started, stream finished) |
WARN | Yellow | Non-fatal issues (deprecated field, rate limit approaching) |
ERROR | Red | Fatal errors causing stream or job failure |
DEBUG | Grey | Verbose 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"}
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:
- Open the connection detail page.
- Click Reset Data — this clears the sync cursor and destination data for affected streams.
- Click Sync Now — triggers a full re-sync of selected streams.
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):
- Navigate to Connections → [connection name].
- 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 Channel | Setup Required | Notification Timing |
|---|---|---|
| Enter recipient addresses | Immediately on failure | |
| Slack | Paste incoming webhook URL | Immediately on failure |
| PagerDuty | Enter routing key | Immediately on failure |
| Webhook (custom) | Enter endpoint URL | POST 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"
}
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
| Plan | History Retained |
|---|---|
| Professional | 30 days |
| Enterprise | 90 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.