Skip to content

Smart Routing

Smart Routing is Smooven’s intelligent channel selection engine. Instead of hard-coding which channel to use, you let Smooven evaluate the recipient’s context and pick the best option automatically.

When you send an intent-based notification (or use preferred_channel without forcing a specific channel), Smart Routing evaluates:

  1. Available channels: which channels does this recipient have registered? (phone number, device token, email, etc.)
  2. User preferences: has the user set a preferred channel or quiet hours?
  3. Device state: is their device online? Is RCS supported on their carrier?
  4. Message urgency: critical messages may use multiple channels simultaneously
  5. Cost optimisation: push is free, SMS costs per message. Smart Routing considers this.
  6. Historical engagement: which channel has this user responded to most in the past?
UrgencyDefault priority order
lowPush > In-App > Email
normalPush > RCS > SMS > Email
highSMS > Push > RCS > Email
criticalSMS + Push (simultaneous)

These defaults can be overridden at the project level in the dashboard.

If the primary channel fails, Smart Routing automatically tries the next channel in the priority order:

RCS (failed: not supported) → SMS (delivered) ✓

The /status endpoint includes the full fallback_chain showing each attempt.

Smart Routing is active by default for all intent-based notifications. For direct channel requests, you can opt in by setting "fallback": true:

{
"channel": "rcs",
"to": "+61400000000",
"message": "Your order has shipped!",
"fallback": true
}

With fallback: true, if RCS delivery fails, Smooven will attempt SMS, then push, then email.

Enterprise plans support custom routing rules via the dashboard:

  • Channel exclusions: never use SMS for this project (e.g., cost control)
  • Geographic rules: use SMS in Australia, push everywhere else
  • Time-based rules: prefer push during business hours, SMS for after-hours critical alerts
  • Segment rules: VIP customers get RCS, others get SMS