Skip to content

Conversation

Aviatorscode2
Copy link
Contributor

@Aviatorscode2 Aviatorscode2 commented Oct 15, 2025

Summary by CodeRabbit

  • Documentation
    • Added “Push Notification Activity Tracking” guide with end-to-end steps: enable the feature, capture client-side events (Expo, FCM, APNs, OneSignal), forward events from your backend via API/SDK, and view results in the Activity Feed.
    • Included TypeScript and JavaScript examples for client and server implementations.
    • Updated docs navigation to surface the new page.

Copy link

linear bot commented Oct 15, 2025

Copy link
Contributor

coderabbitai bot commented Oct 15, 2025

Walkthrough

Adds a new documentation page "push-activity-tracking" describing a client→backend→Novu flow for push notification activity tracking, and updates the push integration metadata to include that page.

Changes

Cohort / File(s) Summary of Changes
Push Docs Metadata
content/docs/platform/integrations/push/meta.json
Added "push-activity-tracking" to the pages array.
Push Activity Tracking Doc
content/docs/platform/integrations/push/push-activity-tracking.mdx
New doc explaining enabling the feature, obtaining Environment/Integration IDs, client-side event capture examples (Expo, FCM, APNs, OneSignal), backend forwarding to Novu (API/SDK examples), and end-to-end flow for activity feed.

Sequence Diagram(s)

sequenceDiagram
  autonumber
  participant U as Client App
  participant B as App Backend
  participant N as Novu API
  participant F as Novu Activity Feed

  rect rgba(200,230,255,0.25)
    note over U: Step 2 — capture push interaction on device
    U->>B: POST /track-push {eventType,eventId,timestamp,content,deviceId,platform}
  end

  rect rgba(220,255,220,0.25)
    note over B: Step 3 — backend forwards to Novu
    B->>N: trackActivity({environmentId,integrationId,requestBody})
    N-->>B: HTTP 2xx/4xx
  end

  rect rgba(255,240,200,0.25)
    note over N,F: Step 4 — event appears in Activity Feed
    N-->>F: store/display event
  end
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Suggested reviewers

  • djabarovgeorge
  • DianaHackmamba
  • jainpawan21

Poem

I thump my paws at every ping,
New tracks where push notifications sing.
From device to burrow, a tidy track,
Events hop home and never lack.
I log, I nibble, I bound with cheer—
The feed now shows each hop and near. 🐇✨

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title Check ✅ Passed The title clearly indicates that the pull request adds documentation for push activity tracking, which directly reflects the primary change in both the meta.json update and the new MDX page. It is concise, specific to the main feature, and immediately conveys the purpose of the changes.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch MRK-1077

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 453e1cb and 4f6240c.

📒 Files selected for processing (1)
  • content/docs/platform/integrations/push/push-activity-tracking.mdx (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • content/docs/platform/integrations/push/push-activity-tracking.mdx

Warning

Review ran into problems

🔥 Problems

Git: Failed to clone repository. Please run the @coderabbitai full review command to re-trigger a full review. If the issue persists, set path_filters to include or exclude specific files.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link

netlify bot commented Oct 15, 2025

Deploy Preview for docs-novu failed. Why did it fail? →

Name Link
🔨 Latest commit 4f6240c
🔍 Latest deploy log https://app.netlify.com/projects/docs-novu/deploys/68eeeee14ba72700088f69f9

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between e96aa5b and 453e1cb.

⛔ Files ignored due to path filters (1)
  • public/images/channels-and-providers/push/activity-tracking/enable-activity-tracking.png is excluded by !**/*.png
📒 Files selected for processing (2)
  • content/docs/platform/integrations/push/meta.json (1 hunks)
  • content/docs/platform/integrations/push/push-activity-tracking.mdx (1 hunks)

Comment on lines +7 to +18
Push notification providers typically do not offer native webhhoks support that can be used for activity tracking. To enable activity tracking for Push channels notifications, Novu supports a manual integration approach for push notifications.

Where your application captures and forwards push notification events to the Novu. Once received, Novu processes and displays these events alongside other channels for a unified tracking experience.

## How it works

The process involves four-step data flow from your subscriber's device to Novu's servers:

1. **Client application listens:** Your application listens for push notification interactions (e.g., the user opening a notification).
2. **Event sent to your backend:** When an event occurs, your app sends a payload containing the event details to an endpoint on your own server.
3. **Backend forwards to Novu:** Your server receives this data and uses the Novu SDK to securely forward the event to Novu's API.
4. **Event appears in Novu:** Novu processes the event and displays it in the **Activity Feed**, alongside events from your other channels.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Fix typos and fluent phrasing in the introduction.

Please correct: “webhhoks” → “webhooks,” drop the extra “the” before “Novu,” and change “four-step data flow” → “a four-step data flow” for readability.

🤖 Prompt for AI Agents
In content/docs/platform/integrations/push/push-activity-tracking.mdx around
lines 7 to 18, fix typos and improve phrasing in the introductory paragraph:
change “webhhoks” to “webhooks”, remove the extra “the” before “Novu” so it
reads “forwards push notification events to Novu”, and change “four-step data
flow” to “a four-step data flow”; ensure the sentences remain fluent and
grammatically correct after these edits.

Comment on lines +34 to +39
Next, when push notifications are delivered or interacted with, your app needs to capture those events and forward them to your backend. The exact code implementation will depends on the push provider you use.

The goal is to capture the event and send a JSON payload to your backend. The two most important fields to send are:
- `eventType`: A string describing the event (for example, `opened`, `clicked`).
- `eventId`: The unique identifier for the notification, which Novu includes in the push payload as `__nvMessageId`.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Tighten the wording in Step 2.

Change “will depends” to “will depend” to keep the prose grammatically correct.

🤖 Prompt for AI Agents
In content/docs/platform/integrations/push/push-activity-tracking.mdx around
lines 34 to 39, fix the grammatical typo "will depends" to "will depend" so the
sentence reads correctly; update the sentence accordingly and run a quick
spell/grammar check nearby for similar issues.

….mdx

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
description: 'Learn how to manually forward push notification events from your application to Novu for unified activity tracking.'
---

Push notification providers typically do not offer native webhhoks support that can be used for activity tracking. To enable activity tracking for Push channels notifications, Novu supports a manual integration approach for push notifications.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Push notification providers typically do not offer native webhhoks support that can be used for activity tracking. To enable activity tracking for Push channels notifications, Novu supports a manual integration approach for push notifications.
Push notification providers typically do not offer native webhook support that can be used for activity tracking. To enable activity tracking for Push channels notifications, Novu supports a manual integration approach for push notifications.


Push notification providers typically do not offer native webhhoks support that can be used for activity tracking. To enable activity tracking for Push channels notifications, Novu supports a manual integration approach for push notifications.

Where your application captures and forwards push notification events to the Novu. Once received, Novu processes and displays these events alongside other channels for a unified tracking experience.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The first sentence in this paragraph is incomplete. Is it supposed to be a continuation from the previous paragraph?


## How it works

The process involves four-step data flow from your subscriber's device to Novu's servers:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
The process involves four-step data flow from your subscriber's device to Novu's servers:
The process involves a four-step data flow from your subscriber's device to Novu's servers:


The process involves four-step data flow from your subscriber's device to Novu's servers:

1. **Client application listens:** Your application listens for push notification interactions (e.g., the user opening a notification).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do not use e.g. or i.e.

Also, the colon should be outside the bold formatting.


The process involves four-step data flow from your subscriber's device to Novu's servers:

1. **Client application listens:** Your application listens for push notification interactions (e.g., the user opening a notification).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
1. **Client application listens:** Your application listens for push notification interactions (e.g., the user opening a notification).
1. **Client application listens**: Your application listens for push notification interactions. For example, the user opens a notification.

First, you need to enable the feature in your Novu dashboard and retrieve the necessary credentials.

1. Log in to the Novu dashboard.
2. Navigate to the **Integration Store** page and select your push provider.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
2. Navigate to the **Integration Store** page and select your push provider.
2. Navigate to the **Integration Store** page and then select your push provider.

2. Navigate to the **Integration Store** page and select your push provider.
3. Enable the **Push Activity Tracking** toggle.
![](/images/channels-and-providers/push/activity-tracking/enable-activity-tracking.png)
4. Once enabled, your unique **Environment ID** and **Integration ID** will be displayed. Copy both of these; you will need them for your backend code.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
4. Once enabled, your unique **Environment ID** and **Integration ID** will be displayed. Copy both of these; you will need them for your backend code.
4. Once enabled, your unique **Environment ID** and **Integration ID** are displayed. Copy both of these; you will need them for your backend code.


## Step 2: Listen for push events in your app

Next, when push notifications are delivered or interacted with, your app needs to capture those events and forward them to your backend. The exact code implementation will depends on the push provider you use.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Next, when push notifications are delivered or interacted with, your app needs to capture those events and forward them to your backend. The exact code implementation will depends on the push provider you use.
Next, when push notifications are delivered or interacted with, your app needs to capture those events and forward them to your backend. The exact code implementation depends on the push provider that you use.


Next, when push notifications are delivered or interacted with, your app needs to capture those events and forward them to your backend. The exact code implementation will depends on the push provider you use.

The goal is to capture the event and send a JSON payload to your backend. The two most important fields to send are:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This implies there are more than two fields. As a reader, I want to know what they are.

```
<Callout>Both `Integration ID` and `Environment ID` can be found in the Integration Store under your push provider instance (after enabling Push Activity Tracking).</Callout>

Once these steps are completed, your application will begin sending push notification engagement data to Novu, giving you a complete, unified view of your notification performance in the Activity Feed. No newline at end of file
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Once these steps are completed, your application will begin sending push notification engagement data to Novu, giving you a complete, unified view of your notification performance in the Activity Feed.
Once these steps are completed, your application will send push notification engagement data to Novu, giving you a complete, unified view of your notification performance in the Activity Feed.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

27 words. Break this sentence up.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants