Channels
Learn about notification channels
Channels
Channels are the communication methods through which notifications are delivered to users. Each channel represents a configured connection to a delivery provider that enables sending messages through a specific medium.
What is a Channel?
A channel is a configured instance of a communication method in Notiflows. It connects your notiflows to external providers (like email services, SMS gateways, or push notification services) that actually deliver messages to users.
Channels serve as the bridge between your notiflows and the various ways users can receive notifications. When a notiflow needs to deliver a notification, it uses the appropriate channel to send the message through the configured provider.
Channel Types
Notiflows supports several types of channels:
Email Channels
Email channels connect to email service providers to send email notifications. You can configure multiple email channels for different purposes (transactional emails, marketing emails, system alerts). Supported providers include services like SendGrid, Mailgun, Amazon SES, Resend, and others.
SMS Channels
SMS channels enable sending text messages to users' phone numbers. These connect to SMS providers such as Twilio. SMS channels require phone numbers in E.164 format.
Push Notification Channels
Push channels deliver notifications to mobile devices and web browsers. They connect to services like Apple Push Notification Service (APNs), Firebase Cloud Messaging (FCM), or web push services. Push channels require device tokens for each recipient.
In-App Channels
In-app channels deliver notifications directly within your application interface. These don't require external providers and are managed entirely by Notiflows. In-app notifications can appear as feeds, toasts, banners, or other UI elements.
Chat Channels
Chat channels send notifications to messaging platforms like Slack, Microsoft Teams, Discord, or WhatsApp. These connect to the respective platform APIs to deliver messages to channels or direct messages.
Webhook Channels
Webhook channels allow you to send notifications to custom endpoints or enable your customers to set up their own webhook integrations. This provides flexibility for custom delivery methods or integrations with other systems.
Channel Configuration
Each channel requires specific configuration settings:
Provider Credentials
Channels need authentication credentials to connect to their providers. This might include API keys, access tokens, service account credentials, or other authentication methods required by the provider.
Channel Settings
Depending on the channel type, you may need to configure:
- Sender information (email addresses, phone numbers, app identifiers)
- Provider-specific settings (tracking options, authentication methods)
Environment-Specific Configuration
Channels are configured per environment (development, staging, production). This allows you to use test credentials in development and production credentials in production, ensuring safe testing without affecting real users.
Managing Channels
Creating Channels
Channels are created through the Notiflows dashboard or API. When you create a channel, you provide the necessary configuration and credentials. Once created, a channel is available across all environments in your account, though each environment may have different configuration values.
Channel Availability
After creation, channels are immediately available for use in your notiflows. You can reference channels by their unique identifier when configuring channel steps in your notiflows.
Updating Channels
You can update channel configuration at any time. Changes take effect immediately and don't require versioning. This allows you to update credentials, modify settings, or switch providers without recreating the channel.
Channel Status
Channels can be active or inactive. Active channels are available for use in notiflows. Inactive channels are disabled and won't be used for delivery, which is useful for temporarily disabling a channel without deleting it.
Using Channels in Notiflows
Channel Steps
In your notiflows, you add channel steps that specify which channel to use for delivery. Each channel step:
- References a specific channel
- Uses a template to format the notification content
- Can include conditional logic to determine when to use the channel
Multiple Channels
A single notiflow can use multiple channels, allowing you to send the same notification through email, SMS, and push simultaneously, or conditionally choose channels based on user preferences or other factors.
Channel Data
Some channels require recipient-specific data. For example:
- Push channels need device tokens
- SMS channels need phone numbers
- Email channels need email addresses
This information is stored as channel data on user records and is automatically used when delivering through that channel.
Best Practices
Provider Selection
Choose providers based on:
- Reliability and uptime
- Delivery rates and reputation
- Cost and pricing structure
- Regional coverage and compliance
- Features and capabilities you need
Multiple Providers
Consider configuring multiple channels of the same type with different providers. This provides redundancy and allows you to switch providers if needed without downtime.
Environment Separation
Always use separate channel configurations for development and production. This prevents test messages from being sent to real users and protects your production provider accounts.
Credential Security
Store channel credentials securely and rotate them regularly. Never commit credentials to version control or expose them in client-side code.
Monitoring
Monitor channel performance, delivery rates, and error rates. This helps you identify issues early and choose the best channels for different use cases.
Testing
Test channels thoroughly in development before using them in production. Send test messages to verify configuration and delivery.
By properly configuring and managing channels, you ensure reliable delivery of notifications through the communication methods your users prefer, while maintaining flexibility to adapt as your needs change.