-
Notifications
You must be signed in to change notification settings - Fork 111
Update content on Pushpad guide #992
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: push-provider-guides
Are you sure you want to change the base?
Conversation
❌ Deploy Preview for docs-novu failed. Why did it fail? →
|
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the WalkthroughExpanded the Pushpad integration doc into a step-by-step configuration and usage guide covering credential retrieval, dashboard setup, subscriber registration, and example API/SDK snippets for registering uids and sending notifications via Novu. Changes
Sequence Diagram(s)sequenceDiagram
autonumber
actor Developer
participant Pushpad
participant Novu
participant ClientSDK
rect rgba(54,162,235,0.08)
Developer->>Pushpad: Create project -> obtain Project ID & Access Token
Developer->>Novu: Add Pushpad credentials (Project ID, Token) in Integrations
end
rect rgba(75,192,192,0.06)
ClientSDK->>Pushpad: Register user uid and device token
Pushpad-->>ClientSDK: Confirmation (device registered)
ClientSDK->>Novu: (optional) Update subscriber with device token via API
Novu-->>ClientSDK: Subscriber updated
end
rect rgba(153,102,255,0.06)
Developer->>Novu: Create workflow / trigger notification (provider: Pushpad)
Novu->>Pushpad: Send notification with provider integration & device token
Pushpad-->>ClientSDK: Deliver push notification
end
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes
Suggested reviewers
Poem
Pre-merge checks and finishing touches❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
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. Comment |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
content/docs/platform/integrations/push/(providers)/pushpad.mdx (1)
84-88: Fix invalid JSON syntax in the cURL example.Line 86 uses single quotes around the string value, which violates JSON specification. JSON requires double quotes for all string values.
Apply this diff to correct the JSON syntax:
-d '{ "providerId": "pushpad", - "deviceTokens": ['user123'], + "deviceTokens": ["user123"], "integrationIdentifier": "pushpad-MnGLxp8uy" }'
🧹 Nitpick comments (1)
content/docs/platform/integrations/push/(providers)/pushpad.mdx (1)
71-71: Align deviceTokens examples between Node.js and cURL.The Node.js example (line 71) shows multiple generic tokens, while the cURL example (line 86) shows a single uid. For consistency and clarity, both examples should demonstrate the same pattern. Since the guide explains that
uidis the identifier to use (line 49), both examples should consistently demonstrate this pattern.Consider updating the Node.js example to align with the uid pattern:
credentials: { - deviceTokens: ["token1", "token2", "token3"], + deviceTokens: ["user123"], },Alternatively, update the cURL example to show multiple tokens like the Node.js example for demonstration purposes.
Also applies to: 86-86
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (5)
public/images/channels-and-providers/push/pushpad/access-token.pngis excluded by!**/*.pngpublic/images/channels-and-providers/push/pushpad/add-token.pngis excluded by!**/*.pngpublic/images/channels-and-providers/push/pushpad/new-project.pngis excluded by!**/*.pngpublic/images/channels-and-providers/push/pushpad/project-id.pngis excluded by!**/*.pngpublic/images/channels-and-providers/push/pushpad/pushpad-integration.pngis excluded by!**/*.png
📒 Files selected for processing (1)
content/docs/platform/integrations/push/(providers)/pushpad.mdx(3 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (4)
- GitHub Check: Redirect rules - docs-novu
- GitHub Check: Header rules - docs-novu
- GitHub Check: Pages changed - docs-novu
- GitHub Check: Build and Lint
🔇 Additional comments (2)
content/docs/platform/integrations/push/(providers)/pushpad.mdx (2)
37-37: Cross-references and external links are properly formatted.The internal cross-reference to Step 1 (line 37) uses correct markdown anchor formatting, and external links to Pushpad documentation include appropriate security attributes (
target="_blank"andrel="noopener noreferrer").Also applies to: 47-47, 23-23
6-116: Excellent restructuring of the Pushpad integration guide.The documentation has been significantly improved from a minimal setup mention to a comprehensive, step-by-step guide. The logical flow (credentials → connection → subscriber setup → sending notifications) guides users effectively. Clear instructions with image references and code examples in multiple languages make this highly usable.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
content/docs/platform/integrations/push/(providers)/pushpad.mdx (1)
78-92: Fix JSON syntax errors in cURL examples—multiple files affected.Single quotes are not valid in JSON. The original issue at pushpad.mdx line 86 also appears in two other provider examples. All three require correction:
- pushpad.mdx line 86:
"providerId": "pushpad", - "deviceTokens": ['user123'], + "deviceTokens": ["user123"], "integrationIdentifier": "pushpad-MnGLxp8uy"
- pusher-beams.mdx line 55:
"providerId": "pusher-beams", - "deviceTokens": ['userId-from-pusher-beams'], + "deviceTokens": ["userId-from-pusher-beams"], "integrationIdentifier": "pusher-beams-MnGLxp8uy"
- push-webhook.mdx line 58:
"providerId": "push-webhook", - "deviceTokens": ['ANY_RANDOM_STRING'], + "deviceTokens": ["ANY_RANDOM_STRING"], "integrationIdentifier": "push-webhook-MnGLxp8uy"The field name
deviceTokensis correct and matches the Novu API specification and other correctly-formatted examples (FCM, APNS, OneSignal, Expo all use this same field name with proper double quotes).
🧹 Nitpick comments (2)
content/docs/platform/integrations/push/(providers)/pushpad.mdx (2)
45-49: Clarify relationship between uid and deviceTokens array.The text explains that a
uidis a single identifier assigned per user (line 49), but the code examples below showdeviceTokensas an array that can contain multiple tokens. Clarify whether:
- A single uid maps to a single device token in the array, or
- Multiple uids can be registered as multiple device tokens for the same subscriber
Consider adding explicit guidance: "For Pushpad, register the
uidas a device token in thedeviceTokensarray."
69-69: Clarify that integrationIdentifier is a placeholder.The
integrationIdentifiervalue ("pushpad-MnGLxp8uy") appears in both code examples but is not clearly marked as a placeholder.Add a note explaining:
- This is a placeholder value
- How to find/retrieve the actual integration identifier for their Pushpad integration in Novu
- Whether they should use the integration name created in Step 2 or find it elsewhere in the dashboard
This prevents users from copying the placeholder value directly and encountering failures.
Also applies to: 87-87
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
content/docs/platform/integrations/push/(providers)/pushpad.mdx(3 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (4)
- GitHub Check: Redirect rules - docs-novu
- GitHub Check: Header rules - docs-novu
- GitHub Check: Pages changed - docs-novu
- GitHub Check: Build and Lint
🔇 Additional comments (3)
content/docs/platform/integrations/push/(providers)/pushpad.mdx (3)
6-8: Clear and informative introduction.The expanded introductory content effectively sets context for the guide and clearly describes Pushpad's capabilities.
10-39: Well-structured configuration guide with clear steps.The dual-step approach (obtaining credentials then connecting in Novu) is logical and easy to follow. Cross-references and visual aids enhance clarity.
Please verify that all referenced images exist in the correct path:
/images/channels-and-providers/push/pushpad/new-project.png/images/channels-and-providers/push/pushpad/project-id.png/images/channels-and-providers/push/pushpad/add-token.png/images/channels-and-providers/push/pushpad/access-token.png/images/channels-and-providers/push/pushpad/pushpad-integration.png
94-116: Clear workflow trigger example.The example effectively demonstrates the minimal required pattern for sending a notification via Novu's trigger API. The explanation on line 96 appropriately directs readers to the workflow creation documentation.
content/docs/platform/integrations/push/(providers)/pushpad.mdx
Outdated
Show resolved
Hide resolved
content/docs/platform/integrations/push/(providers)/pushpad.mdx
Outdated
Show resolved
Hide resolved
content/docs/platform/integrations/push/(providers)/pushpad.mdx
Outdated
Show resolved
Hide resolved
content/docs/platform/integrations/push/(providers)/pushpad.mdx
Outdated
Show resolved
Hide resolved
content/docs/platform/integrations/push/(providers)/pushpad.mdx
Outdated
Show resolved
Hide resolved
content/docs/platform/integrations/push/(providers)/pushpad.mdx
Outdated
Show resolved
Hide resolved
content/docs/platform/integrations/push/(providers)/pushpad.mdx
Outdated
Show resolved
Hide resolved
Co-authored-by: DianaHackmamba <diana@hackmamba.io>
Co-authored-by: DianaHackmamba <diana@hackmamba.io>
Co-authored-by: DianaHackmamba <diana@hackmamba.io>
Co-authored-by: DianaHackmamba <diana@hackmamba.io>
Co-authored-by: DianaHackmamba <diana@hackmamba.io>
content/docs/platform/integrations/push/(providers)/pushpad.mdx
Outdated
Show resolved
Hide resolved
content/docs/platform/integrations/push/(providers)/pushpad.mdx
Outdated
Show resolved
Hide resolved
content/docs/platform/integrations/push/(providers)/pushpad.mdx
Outdated
Show resolved
Hide resolved
content/docs/platform/integrations/push/(providers)/pushpad.mdx
Outdated
Show resolved
Hide resolved
content/docs/platform/integrations/push/(providers)/pushpad.mdx
Outdated
Show resolved
Hide resolved
content/docs/platform/integrations/push/(providers)/pushpad.mdx
Outdated
Show resolved
Hide resolved
Co-authored-by: DianaHackmamba <diana@hackmamba.io>
Co-authored-by: DianaHackmamba <diana@hackmamba.io>
Co-authored-by: DianaHackmamba <diana@hackmamba.io>
Co-authored-by: DianaHackmamba <diana@hackmamba.io>
| @@ -1,23 +1,59 @@ | |||
| --- | |||
| title: 'Pushpad' | |||
| description: 'Learn how to use the Pushpad provider to send web push notifications using Novu' | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should this end in a period?
| ### Step 1: Get your Pushpad credentials | ||
|
|
||
| This identifier (`uid` or `user ID`) allows targeting a specific browser when sending push notifications. | ||
| To configure the Pushpad integration, you need: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I suggest moving this before Step 1 and putting it under ### Prerequisites
| - An active Pushpad account | ||
| - A Pushpad auth token (found in the [account settings](https://pushpad.xyz/access_tokens)) | ||
| - Your Pushpad project ID (found in the project settings) | ||
|
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Having one list following another is difficult. I suggest adding an intro sentence before the numbered list.
h3
intro text
steps
|  | ||
| 3. Click **Settings** on the project page and record the **Project ID**. You need it to connect to Novu. | ||
|  | ||
| 4. Navigate to the [access token](https://pushpad.xyz/access_tokens) page |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| 4. Navigate to the [access token](https://pushpad.xyz/access_tokens) page | |
| 4. Navigate to the [access token](https://pushpad.xyz/access_tokens) page. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this the correct capitalization for "access token page"?
| 3. Click **Settings** on the project page and record the **Project ID**. You need it to connect to Novu. | ||
|  | ||
| 4. Navigate to the [access token](https://pushpad.xyz/access_tokens) page | ||
| 5. Click **Add access token** |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| 5. Click **Add access token** | |
| 5. Click **Add access token**. |
| Once you have the `uid` value, the `deviceToken` for your Novu subscriber can be set using this code: | ||
| ### Step 2: Connect Pushpad to Novu | ||
|
|
||
| Next, add these credentials to your Pushpad integration in the Novu dashboard. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| Next, add these credentials to your Pushpad integration in the Novu dashboard. | |
| Add these credentials to your Pushpad integration in the Novu dashboard. |
| ### Step 2: Send a notification | ||
|
|
||
| ## SDK Trigger Example | ||
| Now you're ready to send a push notification. [Create a workflow with a Push step](/platform/workflow/build-a-workflow) and trigger it. Novu then sends the notification to the `uid`s associated with the subscriber. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| Now you're ready to send a push notification. [Create a workflow with a Push step](/platform/workflow/build-a-workflow) and trigger it. Novu then sends the notification to the `uid`s associated with the subscriber. | |
| Now you're ready to send a push notification. [Create a workflow with a Push step](/platform/workflow/build-a-workflow) and then trigger it. Novu sends the notification to the `uid`s associated with the subscriber. |
Summary by CodeRabbit