docs(docs): add multi-SDK server-side examples across platform docs fixes DOC-397#11746
Conversation
Co-authored-by: Dima Grossman <dima@grossman.io>
Co-authored-by: Dima Grossman <dima@grossman.io>
Co-authored-by: Dima Grossman <dima@grossman.io>
Co-authored-by: Dima Grossman <dima@grossman.io>
✅ Deploy Preview for dashboard-v2-novu-staging canceled.
|
|
Preview deployment for your docs. Learn more about Mintlify Previews.
|
|
TesterArmy is running exploration tests on this Pull Request.
SummaryAll 10 steps passed. Planned Steps (10/10 completed)
|
|
@cursoragent review comments |
|
All five Greptile review comments are addressed in commit Fixes applied
NoteSimilar invalid |
… fixes DOC-397 Co-authored-by: Dima Grossman <dima@grossman.io>
|
@cursoragent review comments |
|
Fixed the remaining Greptile review comment in commit Fix applied
Review statusAll 6 Greptile issues are now addressed:
PR #11746 is updated and ready for re-review. I can also sweep the other push provider pages ( |
Co-authored-by: Dima Grossman <dima@grossman.io>



Summary
Adds full 7-tab server-side SDK examples (Node.js, Python, Go, PHP, .NET, Java, cURL) to every in-scope documentation page that previously showed TypeScript-only or partial SDK snippets.
43 files updated across platform, guides, and community docs (~133 code blocks expanded).
Review fixes (Greptile)
map[string]anynested literals), PHP (array syntax), .NET (Dictionary/Overrides), and Java (Map.of/additionalProperties) in topic and web-push override tabs[], C#Dictionary, and JavaMap.of(); added missingimport java.util.Map;to the "Send a notification" Java tabNovuinside thewithblock instead of reusing a module-level clientworkflow_identifiervswelcome-email)What changed
Tier 1 — Core platform
manage-contexts.mdx,contexts.mdx,multi-tenancy.mdxsubscribers.mdx,tenants.mdxtrigger-workflow.mdx,trigger-overrides.mdxTier 2 — Integrations
Tier 3 — Guides & AI
build-with-ai/skills.mdxTier 4 — Community
deploy-with-docker.mdx— self-hosted examples withserverURLon all SDK tabsExcluded (intentionally unchanged)
docs/api-reference/**— auto-generated from OpenAPIdocs/.mintlify/skills/**— synced from external repo@novu/react, Inbox quickstarts)guides/webhooks/segment.mdx— raw fetch in Segment runtimeTest plan
<Tab title="Java">tabsGreptile Summary
This PR expands documentation across 43 files by adding full 7-tab server-side SDK examples (Node.js, Python, Go, PHP, .NET, Java, cURL) to every in-scope platform, guide, and community page that previously showed only TypeScript or partial snippets. It also applies targeted fixes to previously reviewed syntax errors in FCM, APNS, and webhook pages.
Dictionaryinitializers, JavaMap.of/Map.ofEntrieswith proper imports).fcm.mdxandapns.mdxoverride tabs, Python context-manager reuse inclerk.mdx,auth0.mdx, andstripe.mdx, missingimport java.util.Mapin the APNS Java tab, and thetrigger-workflow.mdxcross-reference identifier mismatch.apns.mdxhas a duplicateusing System.Collections.Generic;in its first .NET tab — a copy-paste artifact that should be removed.Confidence Score: 5/5
Documentation-only change with no runtime code; all previously flagged syntax errors have been corrected and the one remaining nit (duplicate using directive in a C# example) has no functional impact.
Every previously reported syntax error across FCM, APNS, the webhook guides, and trigger-workflow.mdx has been addressed in this revision. The only new issue is a duplicate
using System.Collections.Generic;in one .NET code snippet in apns.mdx — a cosmetic copy-paste artifact that doesn't affect readers' ability to use the example.docs/platform/integrations/push/apns.mdx — duplicate using directive in its first .NET tab.
Important Files Changed
using System.Collections.Generic;in the first .NET tab is the only issue.Novuinside thewithblock, fixing the previously flagged context-manager reuse issue.workflow_identifierwith your workflow ID, such aswelcome-email", resolving the previous identifier mismatch.Map.ofEntries/Map.entrycorrectly with proper imports.Flowchart
%%{init: {'theme': 'neutral'}}%% flowchart TD A[PR: Multi-SDK Docs Expansion] --> B[43 Files Updated] B --> C[Platform Docs] B --> D[Guide Docs] B --> E[Community Docs] C --> C1[Push: FCM, APNS, Expo, OneSignal...] C --> C2[Email: SendGrid, Mailersend...] C --> C3[SMS: Twilio, Gupshup] C --> C4[Chat: Slack, Discord, Teams...] C --> C5[Concepts: Subscribers, Tenants] C --> C6[Workflow: Trigger, Overrides, Contexts] D --> D1[Webhooks: Clerk, Auth0, Stripe] D --> D2[Integrations: Inngest, Trigger.dev] D --> D3[Use Cases & Recipes] E --> E1[Deploy with Docker] C1 & C2 & C3 & C4 & C5 & C6 & D1 & D2 & D3 & E1 --> F[7-Tab SDK Examples Added] F --> G[Node.js] F --> H[Python] F --> I[Go] F --> J[PHP] F --> K[.NET] F --> L[Java] F --> M[cURL]%%{init: {'theme': 'base', 'themeVariables': {"darkMode": true, "background": "#0d1117", "primaryColor": "#21262d", "primaryTextColor": "#e6edf3", "primaryBorderColor": "#8b949e", "lineColor": "#8b949e", "textColor": "#e6edf3", "edgeLabelBackground": "#161b22", "actorBkg": "#21262d", "actorBorder": "#8b949e", "actorTextColor": "#e6edf3", "actorLineColor": "#8b949e", "signalColor": "#8b949e", "signalTextColor": "#e6edf3", "noteBkgColor": "#373320", "noteBorderColor": "#d4a72c", "noteTextColor": "#f0e6c0", "labelBoxBkgColor": "#21262d", "labelBoxBorderColor": "#8b949e", "labelTextColor": "#e6edf3", "loopTextColor": "#e6edf3", "activationBkgColor": "#30363d", "activationBorderColor": "#8b949e"}}}%% flowchart TD A[PR: Multi-SDK Docs Expansion] --> B[43 Files Updated] B --> C[Platform Docs] B --> D[Guide Docs] B --> E[Community Docs] C --> C1[Push: FCM, APNS, Expo, OneSignal...] C --> C2[Email: SendGrid, Mailersend...] C --> C3[SMS: Twilio, Gupshup] C --> C4[Chat: Slack, Discord, Teams...] C --> C5[Concepts: Subscribers, Tenants] C --> C6[Workflow: Trigger, Overrides, Contexts] D --> D1[Webhooks: Clerk, Auth0, Stripe] D --> D2[Integrations: Inngest, Trigger.dev] D --> D3[Use Cases & Recipes] E --> E1[Deploy with Docker] C1 & C2 & C3 & C4 & C5 & C6 & D1 & D2 & D3 & E1 --> F[7-Tab SDK Examples Added] F --> G[Node.js] F --> H[Python] F --> I[Go] F --> J[PHP] F --> K[.NET] F --> L[Java] F --> M[cURL]Reviews (3): Last reviewed commit: "docs(docs): add missing Map import in AP..." | Re-trigger Greptile