What this audit checks
Authentication & access
- API key valid (auth on /settings/me) and not revoked
- Bundle domain correct and reachable (correct Freshworks data-residency host)
- Connector account has read scope on contacts, deals, campaigns, sequences and lists
Deliverability & sender health
- Bounce rate above 5% (sustained) over the trailing 30 days
- Spam-complaint rate above 0.3% (sender-reputation risk)
- Unsubscribe rate above 2% (content/targeting problem)
- Delivery rate below 95% (auth or list-hygiene rot - check SPF/DKIM)
- Open rate below 10% or click-to-open below 3% (engagement decay)
Automation & campaign health
- Sequences (flows) paused-heavy: >50% of sequences in paused/archived state
- Active sequence with last_enrolled_at >24h ago (trigger criteria broken)
- Sales campaigns stuck in draft/scheduled past their send window
- Campaign sent with zero opens after 24h (delivery or rendering failure)
List & subscriber hygiene
- List sprawl: many lists with low active-member share (audience decay)
- Active subscriber base shrinking >10% vs prior period
- Static lists not refreshed in >90 days (stale targeting)
- Segments returning zero members (broken filter criteria)
Cross-channel: revenue-at-risk (the killer area)
- Email-attributed revenue diverges materially from the ecom sibling’s matched order revenue (over-/under-attribution)
- Refund rate on email-attributed orders climbing while sends rise - measured-but-leaking revenue
- Paying ecom customers (sibling shopify/bigcommerce/adobe) unsubscribed or bounced in Freshsales - deliverable revenue cut off
- Won Freshsales deals with no matching ecom order within 7 days (revenue-recognition gap)
Severity thresholds
| Signal | Warn | Critical |
|---|---|---|
bounce_rate_pct | 2 | 5 |
spam_complaint_rate_pct | 0.1 | 0.3 |
unsubscribe_rate_pct | 0.5 | 2 |
delivery_rate_pct | 98 | 95 |
open_rate_pct | 20 | 10 |
refund_rate_pct | 1 | 5 |
paused_sequence_share_pct | 40 | 60 |
active_subscriber_drop_pct | 10 | 25 |
Data sources
GET https://{domain}.myfreshworks.com/crm/sales/api/settings/me- API key + account/region sanityGET https://{domain}.myfreshworks.com/crm/sales/api/contacts- Subscriber base, subscription_status counts, list/segment membershipGET https://{domain}.myfreshworks.com/crm/sales/api/deals- Won-deal vs ecom-order reconciliation (revenue-recognition gap)GET https://{domain}.myfreshworks.com/crm/sales/api/sales_campaigns- Campaign status, delivery/open/click/bounce/spam/unsub + attributed revenueGET https://{domain}.myfreshworks.com/crm/sales/api/sequences- Sequence (flow) status, trigger types, enrollment recencyGET https://{domain}.myfreshworks.com/crm/sales/api/lists- List/segment inventory, member + active-member counts for hygiene checks