SENT TODAY
—
DELIVERED
—
BOUNCE RATE
—
OPEN RATE
—
from send events
ATTACHMENTS
—
—
PROVISIONED CONCURRENCY
—
—
Email volume
sent vs delivered per day
Regional split
SES routing
Delivery trend
delivered per day
Failure breakdown
bounces, failures, complaints
Retry processor
queue depth + 24h events
Loading...
Webhook dispatcher
queue depth + delivery status
Loading...
Registered apps
Submission Engine and PIPS — onboarded apps with per-app audit trail
🌐
Global Rate Limit
Maximum emails across all apps combined
for any single
send_at value
15,000
EMAILS / SEND_AT
~153s
SEND WINDOW
~98/s
THROUGHPUT
enforced
STATUS
⚡ Per-app limits below can further restrict individual apps
(must be ≤ global limit). These are soft limits —
enforced via DynamoDB COUNT before scheduling. Concurrent requests within ~1s
may occasionally exceed the limit due to eventual consistency.
📨 AWS SES Daily Limit:
—
·
Send Rate:
—/s
·
Sent today (SES):
—
·
Remaining:
—
Email log
Full audit trail — newest first · click column header to sort · export CSV/XLSX
From
To
Schedule History
All scheduled send_at batches — click any row to view Schedule Stats
From
To
📊 Events Summary
🥧 Event Distribution
Provider Migration
SendGrid → AWS SES · gradual weight-based migration · admin only
Schedule Stats
Per send_at batch — scheduled, sent, delivered, timing offsets
Domain delivery SLA
Live pre-lead table — auto-learned from delivery events · admins can override per-domain
GLOBAL AVG LATENCY
—s
fallback for unknown domains
DOMAINS TRACKED
—
5+ samples = trusted SLA
AVG PRE-LEAD
—s
across all domains
DOMAIN SAMPLES — Avg Latency & SLA Control
Domain
Samples
Avg lat
1hr avg
1hr N
Pre-lead
Trend
SLA
Email providers
Active provider config — switch provider, AWS SES, SendGrid fallback
Provider share (7d)
Active configuration
Lambda env: bsg-email-send
AWS SES Sending Limits
Live account quota from AWS SES — refreshed on demand
DAILY LIMIT (24H)
—
emails / 24 hours
MAX SEND RATE
—
emails / second
SENT LAST 24H (SES)
—
confirmed by SES
REMAINING TODAY
—
available in window
Not yet loaded
MailHub send_at limit: 15,000 emails
· SES rate: —
SES endpoint routing
🧪 BSG MailHub Test Lab
Validate configuration and run end-to-end test cases
APP ID
Sets X-App-Id header (auto-filled from login)
⚙️ Configuration Checklist
Click "Run Checks" to validate BSG MailHub configuration.
🔗 Connectivity Test
Send 1 email now and verify delivery (polls 60s)
TO EMAIL
Enter recipient and click Run.
A · Randomized Emails + Attachments
Randomized To/Cc/Bcc, mixed attachments, scheduled future send_at
EMAIL COUNT
FUTURE MINS
RECIPIENTS (comma-separated)
PDF ATTACHMENTS (0 = none, default 1 × 1MB)
B · Immediate Send (no send_at)
Emails without send_at — sent on next scheduler cycle
EMAIL COUNT
RECIPIENTS (comma-separated)
PDF ATTACHMENTS (0 = none, default 1 × 1MB)
C · Body Only, Future Schedule
Email with HTML body only, no attachments
EMAIL COUNT
FUTURE MINS
RECIPIENTS
PDF ATTACHMENTS (0 = none, default 1 × 1MB)
D · PDF Attachment
Send emails with generated PDF attachment
EMAIL COUNT
FUTURE MINS
RECIPIENTS
PDF ATTACHMENTS (0 = none, default 1 × 1MB)
E · Attachment Types
Test specific attachment types supported by BSG MailHub API
EMAIL COUNT
FUTURE MINS
ATTACHMENT TYPES (select or random)
RECIPIENTS
EXTRA PDF ATTACHMENTS (0 = none, default 0 extra)
F · Multiple Time Slots
Send emails at specific time slots today (past times roll to tomorrow)
TIME SLOTS (HH:MM, comma-separated)
EMAILS PER SLOT
RECIPIENTS
PDF ATTACHMENTS (0 = none, default 1 × 1MB)
G · Past send_at (immediate)
send_at set to past — scheduler picks up on next cycle and sends immediately
EMAIL COUNT
RECIPIENTS
PDF ATTACHMENTS (0 = none, default 1 × 1MB)
Retry processor
Queue depth, 24h retry events, webhook dispatcher status, and stuck job recovery
RETRY QUEUE
—
WEBHOOK QUEUE
—
RETRIES SUCCESS (24H)
—
EXHAUSTED (24H)
—
⚡ Stuck Job Recovery
Jobs that were scheduled but never dispatched (PC Manager timing issue)
Loading...
Retry events (24h)
queued → attempted → success / exhausted / blocked / deferred
—
QUEUED
—
ATTEMPTED
—
SUCCESS
—
EXHAUSTED
—
BLOCKED
—
DEFERRED
Webhook dispatcher
delivery queue + app webhook config
Loading...
Recent retry events
EMAIL_RETRY_* from audit table — last 24h
Loading retry events...
Settings
Account information and display preferences
Account Information
Current authenticated dashboard session
Display Preferences
Browser preferences (read-only)
Dashboard users
Cognito user pool — admins and per-app users
Loading users...
🔔 Alert Monitor
Proactive alerts for PC health, job failures, quota limits and more
Global Alert Recipients
All enabled alerts will be sent to these addresses in addition to per-alert recipients.