Failure PatternDecision layer

The inbound Catch-All Trap: Why Agencies Fail With inbound When Routing Rules Never Get Scoped

Symptom: Every address on the client domain, including sales@, billing@, and personal staff aliases, starts arriving at the same webhook endpoint as unstructured noise. Root cause: Catch-all routing is enabled during setup because it is the fastest way to prove the webhook works, and it is never replaced with address-specific guard rules before handoff.

By InnovaAI ResearchPublished

How do you recognize it?
  • •Every address on the client domain, including sales@, billing@, and personal staff aliases, starts arriving at the same webhook endpoint as unstructured noise
  • •The client's CRM fills with parsed JSON payloads that have no owner field, so delivery staff manually re-sort messages the automation was supposed to eliminate
  • •Webhook logs show repeated 200 responses but the client reports emails 'disappearing', because unmatched addresses were routed to a catch-all endpoint nobody monitors
  • •Reply-in-thread breaks in production: client replies land as new threads because In-Reply-To and References headers were never validated against real message chains
  • •The $4/mo Default plan's 5,000 emails/mo ceiling is hit mid-month once catch-all routing pulls in every newsletter and notification on the domain
Why does it happen?
  • •Catch-all routing is enabled during setup because it is the fastest way to prove the webhook works, and it is never replaced with address-specific guard rules before handoff
  • •Agencies treat inbound as a drop-in replacement for a shared inbox rather than an API, so no one owns the routing map that decides which address goes to which endpoint
  • •The platform has no no-code UI for end clients to manage routing, so every rule change becomes a developer ticket the agency absorbs inside a fixed retainer
  • •Plan selection is driven by the $4 entry price instead of message volume, and the jump from 5,000 to 50,000 emails/mo at $15 is discovered only after the client's real traffic pattern is visible
How do you fix it?
  • •Open the guard rules panel and replace the catch-all with explicit address-to-endpoint mappings for each client-facing alias, keeping catch-all only for a monitored fallback endpoint
  • •Pull the webhook delivery log for the last 7 days, count unique recipient addresses, and compare that count against the plan's monthly email allowance before the next billing cycle
  • •Add a header validation step that checks In-Reply-To and References on every inbound payload, and route anything missing those headers to a separate review queue
  • •Write the routing map into the client handoff document as a table of address, endpoint, and owning team, so scope changes are quoted as new work rather than absorbed