Skip to content

Push Notification Integrations

Push notification integrations allow your bots to send proactive messages to users outside of an active conversation. This is useful for appointment reminders, status updates, promotional messages, and other scenarios where you need to reach users who are not currently engaged with the chat widget.

Supported Providers

ProviderPlatformAuthentication
FCM (Firebase Cloud Messaging)Android, WebFirebase service account
APNs (Apple Push Notification service)iOS, macOSAPNs key or certificate
Web Push (VAPID)All modern browsersVAPID key pair

Configuring FCM

Firebase Cloud Messaging is the standard for push notifications on Android devices and can also deliver to web browsers.

  1. Go to Settings > Integrations > Add Integration.
  2. Select Push Notifications as the type, then choose FCM.
  3. Enter a label (e.g., "Firebase Production").
  4. Upload or paste your Firebase service account JSON key from the Firebase Console.
  5. Enter your Firebase Project ID.
  6. Click Test Connection, then Save.

TIP

Download the service account key from Firebase Console > Project Settings > Service accounts > Generate new private key. Use a dedicated service account with only the Firebase Cloud Messaging API permission.

Configuring APNs

Apple Push Notification service delivers notifications to iOS and macOS devices.

  1. Select Push Notifications > APNs.
  2. Choose authentication method: Key (recommended) or Certificate.
  3. For key-based auth:
    • Enter your Key ID and Team ID from Apple Developer.
    • Upload the .p8 private key file.
    • Enter the Bundle ID of your app.
  4. For certificate-based auth:
    • Upload the .p12 certificate file.
    • Enter the certificate password.
  5. Select the environment: Sandbox (development) or Production.
  6. Click Test Connection, then Save.

WARNING

APNs sandbox and production environments are separate. Notifications sent to the wrong environment will fail silently. Make sure the environment setting matches how your app was built and signed.

Configuring Web Push (VAPID)

Web Push uses the VAPID (Voluntary Application Server Identification) protocol to deliver notifications to browsers without requiring a third-party service.

  1. Select Push Notifications > Web Push.
  2. Enter a label (e.g., "Web Push Production").
  3. Enter your VAPID Public Key and VAPID Private Key.
  4. Enter a contact email (required by the VAPID spec for abuse reporting).
  5. Click Test Connection, then Save.

If you do not have VAPID keys, you can generate them using the web-push library:

npx web-push generate-vapid-keys
imagePush notification provider configuration showing FCM, APNs, and Web Push provider cards with credential fields, environment selector, and test notification button
Push notification provider configuration

Notification Triggers

After configuring a push integration, you can set up triggers that automatically send notifications based on events.

  1. Go to Settings > Notifications > Triggers (or navigate from the push integration).
  2. Click Create Trigger.
  3. Configure the trigger:
FieldDescription
NameDescriptive label for the trigger
Event TypeThe event that fires the trigger (e.g., conversation.escalated, appointment.reminder)
ConditionsOptional filter conditions (e.g., only fire for specific bot IDs or user segments)
Message TemplateThe notification title and body, with support for variable substitution
ChannelWhich push provider to use (FCM, APNs, Web Push, or all)

TIP

Use variable placeholders in message templates like {{user.name}} and {{bot.name}} to personalize notifications. Available variables depend on the event type.

Testing Push Delivery

To verify your push integration works end to end:

  1. Open the integration and click Send Test Notification.
  2. Select a registered device or browser subscription from the list.
  3. Enter a test message title and body.
  4. Click Send.

The test notification should appear on the target device within a few seconds. If it does not arrive, check:

  • The device or browser has granted notification permissions
  • The push subscription is still valid (subscriptions can expire)
  • The credentials in the integration are correct and not expired

Managing Subscriptions

Users who interact with your chat widget or mobile app can opt in to push notifications. Their subscriptions are managed automatically by OmniBots. You can view active subscriptions from the Subscriptions tab on each push integration.

ColumnDescription
Device/BrowserIdentifier for the subscribed endpoint
CreatedWhen the subscription was registered
Last ActiveWhen the last notification was successfully delivered
StatusActive, Expired, or Unsubscribed

Next Steps

OmniBots AI Bot Platform