Each notification channel has its own unique flow and requirements. Select a channel below to see exactly how NotificationAPI handles the complexity for you:
sequenceDiagram
participant App as Your App
participant API as NotificationAPI
participant Channels as All Channels
participant User as End User
App->>API: Single API call
Note right of App: One request, all channels
API->>API: Process & Route
Note right of API: Templates, preferences, compliance
API->>Channels: Deliver simultaneously
Note right of Channels: Email, SMS, Push, In-App
Channels->>User: Multi-channel delivery
User->>API: Engagement tracking
API->>App: Analytics & webhooks
π Click to enlarge diagram
NotificationAPI Overview Flow
sequenceDiagram
participant App as Your App
participant API as NotificationAPI
participant Channels as All Channels
participant User as End User
App->>API: Single API call
Note right of App: One request, all channels
API->>API: Process & Route
Note right of API: Templates, preferences, compliance
API->>Channels: Deliver simultaneously
Note right of Channels: Email, SMS, Push, In-App
Channels->>User: Multi-channel delivery
User->>API: Engagement tracking
API->>App: Analytics & webhooks
Press Esc or
click outside to close
Key Benefits:
One API call reaches users across all channels
Automatic routing based on user preferences
Built-in compliance and delivery optimization
Unified tracking and analytics
sequenceDiagram
participant App as Your App
participant API as NotificationAPI
participant Email as Email Infrastructure
participant User as End User
App->>API: Send email request
API->>API: Apply template & preferences
alt User opted in
API->>Email: Queue for delivery
Note right of Email: DKIM, SPF, reputation
Email->>User: Email delivered
User->>API: Opens/clicks (tracked)
else User opted out
API->>API: Respect preferences
end
API->>App: Delivery status
π Click to enlarge diagram
Email Notification Flow
sequenceDiagram
participant App as Your App
participant API as NotificationAPI
participant Email as Email Infrastructure
participant User as End User
App->>API: Send email request
API->>API: Apply template & preferences
alt User opted in
API->>Email: Queue for delivery
Note right of Email: DKIM, SPF, reputation
Email->>User: Email delivered
User->>API: Opens/clicks (tracked)
else User opted out
API->>API: Respect preferences
end
API->>App: Delivery status
User preferences (opt-in/opt-out, frequency controls)
Compliance (CAN-SPAM, GDPR requirements)
sequenceDiagram
participant App as Your App
participant API as NotificationAPI
participant SMS as SMS Network
participant User as End User
App->>API: Send SMS request
API->>API: Validate & check compliance
Note right of API: 10DLC, time zones, opt-ins
alt Compliant & opted in
API->>SMS: Route to carrier
Note right of SMS: Twilio, AWS, direct routes
SMS->>User: SMS delivered
User->>SMS: Reply (optional)
SMS->>API: Handle STOP/START
else Non-compliant
API->>API: Block & log
end
API->>App: Delivery receipt
π Click to enlarge diagram
SMS Notification Flow
sequenceDiagram
participant App as Your App
participant API as NotificationAPI
participant SMS as SMS Network
participant User as End User
App->>API: Send SMS request
API->>API: Validate & check compliance
Note right of API: 10DLC, time zones, opt-ins
alt Compliant & opted in
API->>SMS: Route to carrier
Note right of SMS: Twilio, AWS, direct routes
SMS->>User: SMS delivered
User->>SMS: Reply (optional)
SMS->>API: Handle STOP/START
else Non-compliant
API->>API: Block & log
end
API->>App: Delivery receipt
Press Esc or
click outside to close
What we handle for you:
10DLC A2P registration (required for US business messaging)
Carrier relationships (Twilio, AWS SNS, direct routes)
sequenceDiagram
participant App as Your App
participant API as NotificationAPI
participant SDK as React SDK
participant User as End User
App->>API: Send in-app notification
API->>API: Store & process
par Real-time
API->>SDK: WebSocket push
SDK->>User: Instant notification
and Fallback
SDK->>API: Poll for updates
API->>SDK: Return notifications
end
User->>SDK: View notification center
SDK->>API: Fetch notification list
API->>SDK: Return formatted list
SDK->>User: Display notifications
User->>SDK: Mark as read
SDK->>API: Update status
π Click to enlarge diagram
In-App Notification Flow
sequenceDiagram
participant App as Your App
participant API as NotificationAPI
participant SDK as React SDK
participant User as End User
App->>API: Send in-app notification
API->>API: Store & process
par Real-time
API->>SDK: WebSocket push
SDK->>User: Instant notification
and Fallback
SDK->>API: Poll for updates
API->>SDK: Return notifications
end
User->>SDK: View notification center
SDK->>API: Fetch notification list
API->>SDK: Return formatted list
SDK->>User: Display notifications
User->>SDK: Mark as read
SDK->>API: Update status
sequenceDiagram
participant App as Your App
participant API as NotificationAPI
participant FCM as FCM/APNS
participant Device as Mobile Device
participant User as End User
App->>API: Send push notification
API->>API: Look up device tokens
Note right of API: iOS & Android devices
loop For each device
API->>FCM: Send to FCM/APNS
FCM->>Device: Push to device
Device->>User: Display notification
opt User taps
User->>Device: Open app
Device->>API: Track engagement
end
end
API->>App: Delivery stats
π Click to enlarge diagram
Mobile Push Notification Flow
sequenceDiagram
participant App as Your App
participant API as NotificationAPI
participant FCM as FCM/APNS
participant Device as Mobile Device
participant User as End User
App->>API: Send push notification
API->>API: Look up device tokens
Note right of API: iOS & Android devices
loop For each device
API->>FCM: Send to FCM/APNS
FCM->>Device: Push to device
Device->>User: Display notification
opt User taps
User->>Device: Open app
Device->>API: Track engagement
end
end
API->>App: Delivery stats
Delivery optimization (retry logic, best practices)
sequenceDiagram
participant App as Your App
participant API as NotificationAPI
participant Browser as Web Browser
participant User as End User
Note over User,Browser: One-time setup
User->>Browser: Grant push permission
Browser->>API: Register subscription
Note over App,User: Sending notifications
App->>API: Send web push
API->>Browser: Send via Push API
Browser->>User: Display notification
opt User clicks
User->>Browser: Click notification
Browser->>API: Track click
end
API->>App: Engagement data
π Click to enlarge diagram
Web Push Notification Flow
sequenceDiagram
participant App as Your App
participant API as NotificationAPI
participant Browser as Web Browser
participant User as End User
Note over User,Browser: One-time setup
User->>Browser: Grant push permission
Browser->>API: Register subscription
Note over App,User: Sending notifications
App->>API: Send web push
API->>Browser: Send via Push API
Browser->>User: Display notification
opt User clicks
User->>Browser: Click notification
Browser->>API: Track click
end
API->>App: Engagement data
Press Esc or
click outside to close
What we handle for you:
Service worker setup and management
Browser compatibility (Chrome, Firefox, Safari)
Subscription management (registration, cleanup)
Push API integration (FCM, Mozilla, WebKit)
sequenceDiagram
participant App as Your App
participant API as NotificationAPI
participant Voice as Voice Network
participant User as End User
App->>API: Send voice notification
API->>API: Text-to-speech conversion
API->>API: Check compliance
Note right of API: Time zones, do-not-call
alt Compliant
API->>Voice: Initiate call
Voice->>User: Ring phone
alt User answers
User->>Voice: Answer
Voice->>User: Play message
opt Interactive
User->>Voice: Press keys
Voice->>API: Capture input
end
else No answer
Voice->>API: Log attempt
end
end
API->>App: Call results
π Click to enlarge diagram
Voice Call Notification Flow
sequenceDiagram
participant App as Your App
participant API as NotificationAPI
participant Voice as Voice Network
participant User as End User
App->>API: Send voice notification
API->>API: Text-to-speech conversion
API->>API: Check compliance
Note right of API: Time zones, do-not-call
alt Compliant
API->>Voice: Initiate call
Voice->>User: Ring phone
alt User answers
User->>Voice: Answer
Voice->>User: Play message
opt Interactive
User->>Voice: Press keys
Voice->>API: Capture input
end
else No answer
Voice->>API: Log attempt
end
end
API->>App: Call results
This single API call triggers all the sophisticated flows shown above, automatically handling templating, user preferences, compliance, delivery optimization, and tracking.
Step-by-step: Send your first notification
1. Design your notification template
In the NotificationAPI dashboard:
Create a new notification template
Choose your channels (email, SMS, in-app, etc.)
Design your content using our visual editors
Set up user preferences and delivery options
2. Install the SDK
Choose your preferred SDK and install it in your project:
# Node.jsnpm install @notificationapi/node# Pythonpip install notificationapi# PHPcomposer require notificationapi/notificationapi# Or use our REST API directly
3. Configure and send
Initialize the client with your credentials and send your first notification:
import NotificationAPI from '@notificationapi/node';const notificationapi = new NotificationAPI({ clientId: 'YOUR_CLIENT_ID', clientSecret: 'YOUR_CLIENT_SECRET'});// Send the notificationawait notificationapi.send({ type: 'welcome', // matches your template ID to: { email: 'user@example.com' }});
4. Add in-app notifications (optional)
For web applications, add our React component to display in-app notifications:
No infrastructure required: NotificationAPI handles all the complexity
shown in the diagrams above, so you can focus on your product instead of
building notification infrastructure.
Perfect for these use cases
NotificationAPI works especially well for product notifications like:
User onboarding (welcome sequences, tutorials)
Activity alerts (comments, mentions, updates)
System notifications (security alerts, maintenance)