ReachScore Docs

Monitors

Automated, scheduled deliverability testing to continuously track your email health and catch issues before they impact your campaigns.

Why use monitors? Email deliverability can change at any time due to DNS changes, provider policy updates, or domain reputation shifts. Monitors automatically run tests on a schedule and alert you when something goes wrong.

How Monitors Work

Scheduled Tests

Monitors run deliverability tests automatically at your specified interval (hourly, daily, weekly).

Trend Tracking

View historical data to identify patterns and trends in your deliverability over time.

Automatic Alerts

Get notified via webhook, email, or Slack when scores drop or authentication fails.

Creating a Monitor

Create a monitor to automatically test deliverability for a verified domain:

curl -X POST https://api.reachscore.co/v1/monitors \
  -H "Authorization: Bearer $REACHSCORE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "domain_id": "dom_7xK2mN9pQrT4v",
    "name": "Daily newsletter check",
    "from_address": "newsletter@yourcompany.com",
    "subject": "Monitor test email",
    "schedule": "daily",
    "schedule_time": "09:00",
    "timezone": "America/New_York",
    "alert_threshold": 80
  }'

The response includes the monitor configuration and next scheduled run:

{
  "id": "mon_9aB4cD5eF6gH",
  "name": "Daily newsletter check",
  "domain_id": "dom_7xK2mN9pQrT4v",
  "from_address": "newsletter@yourcompany.com",
  "schedule": "daily",
  "schedule_time": "09:00",
  "timezone": "America/New_York",
  "alert_threshold": 80,
  "status": "active",
  "last_run_at": null,
  "last_score": null,
  "next_run_at": "2024-01-16T14:00:00Z",
  "created_at": "2024-01-15T10:30:00Z"
}

Schedule Options

ScheduleDescriptionBest For
hourlyRuns every hour at the specified minuteCritical transactional emails
dailyRuns once per day at the specified timeMost use cases, newsletters
weeklyRuns once per week on the specified day and timeLow-volume senders
customCron expression for custom schedulesComplex scheduling needs

Custom Cron Expression

For custom schedules, use a cron expression in the cron field:

{
  "schedule": "custom",
  "cron": "0 9,17 * * 1-5"  // 9am and 5pm on weekdays
}

Alert Configuration

Configure when and how you receive alerts about monitor results:

Score Threshold

Alert when the deliverability score drops below a threshold:

{
  "alert_threshold": 80,
  "alert_on_drop": 10
}

Alerts when score < 80 or drops by 10+ points

Authentication Failures

Alert when any authentication check fails:

{
  "alert_on_auth_failure": true,
  "alert_checks": ["spf", "dkim", "dmarc"]
}

Alerts if SPF, DKIM, or DMARC fails

Viewing Monitor Results

Get the history of tests run by a monitor:

curl https://api.reachscore.co/v1/monitors/mon_9aB4cD5eF6gH/runs \
  -H "Authorization: Bearer $REACHSCORE_API_KEY"

Returns a list of test results with scores and trends:

{
  "data": [
    {
      "id": "test_aB1cD2eF3gH4",
      "monitor_id": "mon_9aB4cD5eF6gH",
      "score": 94,
      "grade": "A",
      "score_change": +2,
      "auth_results": {
        "spf": "pass",
        "dkim": "pass",
        "dmarc": "pass"
      },
      "completed_at": "2024-01-16T14:01:23Z"
    },
    {
      "id": "test_zY9xW8vU7tS6",
      "monitor_id": "mon_9aB4cD5eF6gH",
      "score": 92,
      "grade": "A",
      "score_change": -1,
      "auth_results": {
        "spf": "pass",
        "dkim": "pass",
        "dmarc": "pass"
      },
      "completed_at": "2024-01-15T14:01:18Z"
    }
  ],
  "has_more": true
}

Monitor Status

active- Running on schedule
paused- Temporarily stopped, can be resumed
error- Multiple consecutive failures, needs attention

Best Practices

Monitor each sending stream separately

Create separate monitors for transactional emails, marketing emails, and newsletters since they may have different deliverability profiles.

Use realistic test content

Configure monitors with subject lines and content similar to your actual emails for accurate spam scoring.

Set appropriate alert thresholds

Start with a threshold of 80 and adjust based on your baseline scores. Too sensitive thresholds cause alert fatigue.

Connect webhooks for real-time alerts

Configure webhook endpoints to receive monitor.alert events for immediate notification.

Domain Verification Required

Monitors require a verified domain. Complete domain verification before creating monitors.