Push notifications are one of the few growth levers that still work without a marketing budget. A user who gets a well-timed nudge — “your order shipped,” “your friend just replied” — comes back to the app. Skip them, and even a beautifully built no-code app quietly bleeds retention. The good news: you don’t need a native mobile team to ship real push notifications anymore. You need to pick the right service and wire it up correctly.

The Three Ways to Add Push Without Writing Code

Every no-code push setup boils down to one of three patterns:

  • Native platform integration — FlutterFlow ships a built-in Firebase Cloud Messaging (FCM) connector, so push is a checkbox plus a config file, not a separate vendor.
  • Third-party push services — OneSignal, Pusher Beams, and Courier sit on top of FCM/APNs and add a dashboard, audience segmentation, and A/B testing that raw FCM doesn’t give you.
  • Backend-triggered push — Supabase Edge Functions or Xano webhooks fire a push when a database row changes (new order, new message), which is what most “real” apps actually need instead of one-off blasts.

How the Main Options Compare

Service Free Tier Setup Complexity Best For
FlutterFlow + Firebase Cloud Messaging Generous — FCM itself is free at any volume Low (native connector) FlutterFlow apps that want zero extra vendors
OneSignal Up to 10,000 subscribers free Low–Medium (SDK or plugin) Segmentation, A/B testing, in-app messaging
Pusher Beams Limited free tier, then usage-based Medium Apps that also need real-time chat/presence
Courier Free dev tier Medium Multi-channel (push + email + SMS) from one API

Step-by-Step: FlutterFlow + Firebase Cloud Messaging

This is the fastest path if your app is already built in FlutterFlow, since Firebase is FlutterFlow’s default backend.

  1. In FlutterFlow, go to Settings > Firebase and confirm your project is connected (if not, connect or create a Firebase project first).
  2. Enable Cloud Messaging in the Firebase console under Project Settings > Cloud Messaging.
  3. Back in FlutterFlow, open Settings > Push Notifications and toggle it on — FlutterFlow auto-generates the device token handling.
  4. Add an Action on the relevant trigger (e.g., “on new chat message”) that calls the built-in “Send Push Notification” action, targeting either a specific user or a topic.
  5. Test on a real device — iOS Simulator and most emulators do not receive push notifications, so this step gets skipped more often than it should.

Step-by-Step: Bubble.io + OneSignal

  1. Install the OneSignal plugin from the Bubble plugin marketplace.
  2. Create a OneSignal app, grab the App ID and REST API key, and paste them into the plugin’s settings.
  3. Add the OneSignal JavaScript snippet to your Bubble app’s SEO/meta header for web push, or configure the native wrapper (e.g., via a service like BDK or Adalo’s export) for mobile push.
  4. Use a Bubble workflow action (“OneSignal – Send Notification”) triggered on the backend event you care about — new signup, new order status, abandoned cart after 24 hours.
  5. Segment your audience in OneSignal’s dashboard using Bubble’s custom data tags so you’re not blasting every user with every message.

Mistakes That Quietly Kill Push Campaigns

  • Not testing on a real device. Simulators routinely fake success on push registration calls.
  • Skipping the iOS permission prompt design. iOS shows the system permission dialog exactly once — apps that ask immediately on first launch, before explaining the value, see opt-in rates under 40%. A soft pre-prompt screen roughly doubles that.
  • No segmentation. Sending every notification to every user is the single fastest way to get uninstalled or opted out of push entirely.
  • Ignoring quiet hours. A notification at 2am local time does more brand damage than the notification itself was worth.
  • Forgetting Android’s notification channels. Android 8+ requires channels for user-level control — apps that dump everything into one default channel can’t let users mute just the marketing pings.

FAQ

Do I need a paid plan to start? No — FCM is free at any scale, and OneSignal’s free tier covers most early-stage apps up to 10,000 subscribers.

Can I send push notifications from a no-code web app, not just mobile? Yes, both OneSignal and Firebase support web push via service workers, though Safari’s support lags Chrome and Firefox.

Will push work if my app is a wrapped PWA? It depends on the wrapper — confirm your export tool (FlutterFlow, Adalo, Bubble’s native wrapper) actually registers a real device token with APNs/FCM rather than only supporting web push.

Verdict

For most FlutterFlow builders, the native Firebase Cloud Messaging integration is the right default — it’s free, already connected, and good enough for transactional pushes. Reach for OneSignal once you need segmentation, A/B testing, or in-app messaging on top of push, and reach for Courier only if you want one API driving push, email, and SMS together. Whichever you pick, the setup step that actually determines whether your campaign works isn’t the API integration — it’s testing delivery on a real device and designing the permission prompt so users say yes.