Skip to content

Mobile Push Notifications

Notifications wired into your backend operations, with deep links that take users exactly where they need to go.

A push notification that opens the home screen is a missed opportunity. Notifications that fire from backend business events, carry structured deep link context, and route the user directly to the relevant screen are a different proposition entirely.

We build notification systems where the trigger comes from within your backend operations, the payload carries enough context to navigate without additional API calls, and HubSpot workflow actions can drive users to specific features and content within the app. Universal Links on iOS, App Links on Android, and coordinated push and in-app routing throughout.

The gap between a push notification and a useful one

These are the four patterns that limit how much work notifications actually do for a mobile app.

Notifications land on the home screen, not where they need to go

Without deep linking, tapping a notification just opens the app. The user has to navigate to whatever prompted the alert, if they bother at all. A notification that says "Your booking is confirmed" should take the user directly to that booking, not to a home screen.

Push as an afterthought, not wired into business operations

When notifications are bolted on rather than integrated into backend business logic, they fire too late, with the wrong content, or not at all. A payment confirmed, a booking updated, a task assigned: these are backend events that should trigger notifications as part of the operation, not via a separate polling process.

Your CRM team can't drive users into specific parts of the app

HubSpot can send a marketing email with a link. It can't, without custom integration, send a push notification that routes the user directly to a feature, piece of content, or call to action within the app. That gap means engagement campaigns have to use email when push would be far more effective.

Notifications with no context produce low engagement

A notification that says "You have an update" and opens the app home screen requires the user to do all the work. Contextual notifications carry enough data to navigate the user to exactly the right place, with the relevant content already loaded, the moment the app opens.

Intelligent triggers, deep links, and CRM-driven engagement

Notifications designed around what the business needs to communicate, integrated where the data lives, and routed to exactly the right place in the app.

Backend event-driven triggers

Notifications built as a first-class output of backend business operations, not a separate service polling for changes. When an order is confirmed, a booking is updated, a payment is processed, or any other backend event fires, the notification is triggered from within that operation. The right notification at the right moment, because it knows what just happened.

Deep link architecture

Universal Links (iOS) and App Links (Android) that route users to a specific screen, content item, feature, or action within the app. Every notification payload carries a deep link. The React Native handler routes correctly whether the app is open, backgrounded, or fully closed, and we handle the edge cases (cold-start navigation, auth gates, content not yet loaded) that basic implementations miss.

HubSpot-triggered deep-linked notifications

Custom workflow actions in HubSpot that fire a push notification and specify exactly where in the app the user should land. A contact reaching a lifecycle milestone, a deal changing stage, or a campaign enrolment: each can trigger a notification that carries a deep link to the relevant screen or feature. HubSpot drives the activity; the app takes the user there. See our HubSpot mobile integration service for the full CRM layer.

Contextual payload design

Notification payloads carry enough structured data that the app knows what to display before making any additional API calls. The title, body, target screen, content identifier, and any action context are all in the payload. The user experience is immediate: no loading spinner, no waiting for a follow-up request.

Custom notification actions with deep link context

Interactive action buttons that also carry navigation intent. "View booking" navigates to the booking. "Accept" both records the response and routes the user to the next step. Each action is handled by a coordinated pair: the React Native notification handler on the client and the backend endpoint that processes the action and determines where the user should go next.

Push and in-app coordination

When a user is already in the app, a push notification is redundant and disruptive. We build the coordination layer that routes to push when the user is outside the app, and to an in-app message or silent navigation when they are active. The right channel for the user's current state, not the same channel for every situation.

"Talk Think Do has provided us with a unique balance of strategic guidance, enhanced governance and 'make it happen' capabilities, which means we can scale our digital ambitions with confidence. The team are experienced, practical, people who quickly cut to the important issues."

Colin Waggett

CEO, Third Space

From trigger mapping to go live

We start by cataloguing every notification type, its trigger source, its payload, and its deep link destination. Everything is agreed before any code is written.

1 to 2 weeks

Trigger and deep link mapping

We identify every backend event that should trigger a notification, define the payload for each notification type, and map each type to its deep link destination within the app. We also identify where HubSpot workflow triggers are needed and what screens or features each campaign should route to.

The output is a notification catalogue: every type, its trigger source, its payload structure, and its deep link target. Agreed before any code is written.

Backend integration

We wire notification triggers directly into the relevant backend operations, not as a side effect but as part of the operation itself. The notification service is an internal API that backend services call when a triggering event occurs.

We also build the HubSpot custom workflow action at this stage, so the CRM team has a notification trigger available as a first-class workflow action in HubSpot.

Deep link implementation

We configure Universal Links on iOS and App Links on Android, implement the React Native deep link handler, and test navigation for every notification type across cold start (app closed), warm start (app backgrounded), and active (app open) states.

Edge cases are handled explicitly: authentication gates that must be passed before the target screen is shown, content that may have been deleted or changed, and notification actions that carry their own navigation logic.

HubSpot workflow testing and go live

We test each HubSpot workflow trigger end-to-end: enrolment criterion fires, notification is sent, user receives the correct content, tapping navigates to the right destination. We test on real devices across iOS and Android versions and confirm the experience is correct across all notification states.

You receive documentation and runbooks, and the option to continue under managed application support.

Frequently asked questions

What is the difference between a notification with a deep link and a standard push?

A standard push notification opens the app to whatever screen was last active, or to the home screen. A deep-linked notification opens the app at a specific, predefined destination: a booking, a product, a feature, or an action. The notification payload includes a URL or structured route that the app's deep link handler resolves to a specific screen.

The practical difference is engagement. A notification that takes the user directly to the relevant content converts significantly better than one that requires the user to navigate there manually.

How do you trigger notifications from backend business events?

Rather than building a separate notification service that polls for changes, we integrate notification triggers directly into the backend operation where the event occurs. When a payment is confirmed, the payment handler calls the notification service. When a booking is updated, the booking service fires the notification. The notification is part of the business operation, not an afterthought.

This approach means notifications fire at exactly the right moment, with exactly the right context, because they are triggered by the authoritative source of the event rather than a polling process that may lag behind.

How does HubSpot drive users to specific screens in the app?

We build a custom workflow action in HubSpot that accepts a target screen or feature as a parameter alongside the notification content. When HubSpot triggers the action (based on contact lifecycle stage, deal pipeline event, or any other enrolment criterion), the notification is sent with a deep link payload that routes the user to the specified destination.

The HubSpot team configures when and why the notification fires. The deep link target is set in the workflow action parameters. The user taps the notification and arrives at exactly the screen the campaign intended. This is part of our HubSpot mobile integration service.

What is the difference between a Universal Link and a custom URI scheme?

Custom URI schemes (e.g. myapp://booking/123) are simple to implement but have weaknesses: they only work if the app is installed, they can be intercepted by other apps that register the same scheme, and they have limited support in some contexts (email clients, web views). Universal Links on iOS and App Links on Android are HTTP URLs (e.g. https://yourapp.com/booking/123) that the operating system routes to the app when it is installed, or to the website when it is not. They are more reliable, more secure, and handle the "app not installed" fallback gracefully.

We implement Universal Links and App Links as the primary deep link mechanism, with custom URI scheme fallbacks where necessary.

What happens if the app is closed when a deep-linked notification arrives?

This is called a cold-start deep link, and it requires specific handling. When the app launches from a notification tap, it needs to resolve the deep link before the normal startup navigation runs, not after. We implement the correct launch handling in the React Native app so the user is routed to the target screen as part of the startup sequence, not navigated away from the home screen after a brief flash.

We also handle authentication gates: if the target screen requires the user to be logged in, the app authenticates first, then navigates to the intended destination.

Do you use Azure Notification Hubs or Firebase for delivery?

The delivery mechanism (whether that is a direct APNs/FCM integration, Azure Notification Hubs, or another aggregator) is chosen based on the architecture and scale requirements of the specific project. The delivery layer is infrastructure; our focus is on the trigger logic, the deep link architecture, and the HubSpot integration that sit above it.

For most projects we integrate directly with APNs and FCM to avoid adding a third-party dependency. Where existing infrastructure uses Azure Notification Hubs or a service like OneSignal, we work with what is already in place. We'll give you an honest recommendation in the architecture phase.

How do notifications coordinate with in-app messages?

Push notifications are most useful when the user is not in the app. When a user is active, a push notification is disruptive and often redundant. We build a coordination layer: the backend (or HubSpot workflow) checks the user's current state before deciding whether to send a push notification or route to an in-app message instead.

This coordination is part of the broader notification design, and it connects to our HubSpot mobile integration work where HubSpot-triggered messages need to reach the user through the right channel at the right moment.

Ready to make your notifications do more?

Book a free 30-minute consultation. We'll discuss what your notifications currently do, what they should do, and how trigger logic, deep linking, and HubSpot integration can close the gap.

Book a free consultation

or call 01202 375647