Skip to content

fix(docs): document framework bridge URL retry behaviour fixes MRK-1214#11747

Open
jainpawan21 wants to merge 7 commits into
nextfrom
fix/docs-updates-inbox-framework-retry
Open

fix(docs): document framework bridge URL retry behaviour fixes MRK-1214#11747
jainpawan21 wants to merge 7 commits into
nextfrom
fix/docs-updates-inbox-framework-retry

Conversation

@jainpawan21

@jainpawan21 jainpawan21 commented Jun 30, 2026

Copy link
Copy Markdown
Member

What changed? Why was the change needed?

Screenshots

Expand for optional sections

Related enterprise PR

Special notes for your reviewer

Greptile Summary

This PR adds and improves documentation across several areas: bridge endpoint retry behavior, SMS Webhook provider setup, Inbox subscriber profile fields, Slack OAuth alternative flow, and Resend React Email integration. It also updates the SMS Webhook docReference URL in the shared provider config and adds permanent redirects for the old generic-sms doc paths.

  • Bridge endpoint retry docs: Documents the retry policy (3 attempts, exponential backoff at 2^n × 500ms, HTTP codes 408/429/500/503/504/521/522/524, and common network error codes). All values verified against the source implementation in http-client.types.ts.
  • SMS Webhook page: New sms-webhook.mdx covering configuration fields, request/response format, token auth flow, and passthrough body overrides; backed by redirects from the two legacy URLs.
  • Inbox & Slack docs: Clarifies HMAC requirements for subscriber profile field updates and addresses a prior review finding by marking subscriberId/context as mutually-requiring in the Slack OAuth alternative snippet.

Confidence Score: 5/5

Documentation-only change plus a single URL string update in a provider config constant; safe to merge.

All numeric values in the retry behavior section (status codes, error codes, timeout, retry count, backoff formula) were verified against the live source in http-client.types.ts and http-client.service.ts. The CLI command and flags documented in resend.mdx exist in the CLI entry point. The only code-path change is the docReference URL update in sms.ts, which is covered by two permanent redirects in docs.json.

docs/platform/integrations/email/resend.mdx — step 1 of the React Email section says "steps below" but the Resend setup steps are above.

Important Files Changed

Filename Overview
docs/framework/endpoint.mdx Adds a "Retry behavior" section and a new FAQ accordion. All documented values (HTTP status codes, error codes, timeout, retry count, and backoff formula) match the source implementation in http-client.types.ts.
docs/platform/integrations/email/resend.mdx Adds a "React Email with Code Steps" section. Minor doc inaccuracy: step 1 says "steps below" but the Resend connection steps are in the section above.
docs/platform/integrations/sms/sms-webhook.mdx New SMS Webhook provider documentation with accurate request/response format, token auth flow, and passthrough override example.
docs/platform/integrations/chat/slack.mdx Adds a Note block documenting how to use channelConnections.create as an alternative to the managed OAuth flow; correctly flags that at least one of subscriberId or context is required, addressing prior review feedback.
packages/shared/src/consts/providers/channels/sms.ts Updates the SMS Webhook docReference URL from the old /channels/sms/generic-sms path to the new /platform/integrations/sms/sms-webhook path; redirects in docs.json cover the old URL.
docs/docs.json Adds sms-webhook to the SMS provider list and adds two permanent redirects from legacy /channels/sms/generic-sms and /integrations/providers/sms/generic-sms paths.
docs/platform/inbox/prepare-for-production.mdx Clarifies HMAC behavior to cover subscriber profile field updates and updates the subscriber prop example from a string to a full subscriber object.
docs/platform/inbox/setup-inbox.mdx Adds a short "Pass subscriber profile fields" section linking to the HMAC guide for existing subscriber updates.
docs/platform/inbox.mdx Adds a new FAQ accordion about passing/updating subscriber profile fields from the Inbox.
docs/platform/integrations/sms.mdx Adds the SMS Webhook provider card to the supported provider list.

Sequence Diagram

%%{init: {'theme': 'neutral'}}%%
sequenceDiagram
    participant W as Novu Worker
    participant B as Bridge Endpoint
    W->>B: POST /api/novu (attempt 1)
    alt 2xx success
        B-->>W: 200 OK
    else retryable error (408/429/500/503/504/521/522/524 or network code)
        B-->>W: error
        W->>W: "wait 2^1 x 500ms = 1s"
        W->>B: POST /api/novu (attempt 2)
        alt still failing
            B-->>W: error
            W->>W: "wait 2^2 x 500ms = 2s"
            W->>B: POST /api/novu (attempt 3)
            alt still failing
                B-->>W: error
                W->>W: "wait 2^3 x 500ms = 4s"
                W->>B: POST /api/novu (attempt 4 - final)
                B-->>W: step marked as failed
            else success
                B-->>W: 200 OK
            end
        else success
            B-->>W: 200 OK
        end
    end
Loading
%%{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"}}}%%
sequenceDiagram
    participant W as Novu Worker
    participant B as Bridge Endpoint
    W->>B: POST /api/novu (attempt 1)
    alt 2xx success
        B-->>W: 200 OK
    else retryable error (408/429/500/503/504/521/522/524 or network code)
        B-->>W: error
        W->>W: "wait 2^1 x 500ms = 1s"
        W->>B: POST /api/novu (attempt 2)
        alt still failing
            B-->>W: error
            W->>W: "wait 2^2 x 500ms = 2s"
            W->>B: POST /api/novu (attempt 3)
            alt still failing
                B-->>W: error
                W->>W: "wait 2^3 x 500ms = 4s"
                W->>B: POST /api/novu (attempt 4 - final)
                B-->>W: step marked as failed
            else success
                B-->>W: 200 OK
            end
        else success
            B-->>W: 200 OK
        end
    end
Loading

Reviews (3): Last reviewed commit: "Merge branch 'next' into fix/docs-update..." | Re-trigger Greptile

@linear-code

linear-code Bot commented Jun 30, 2026

Copy link
Copy Markdown

MRK-1214

@netlify

netlify Bot commented Jun 30, 2026

Copy link
Copy Markdown

Deploy Preview for dashboard-v2-novu-staging canceled.

Name Link
🔨 Latest commit 2c32af3
🔍 Latest deploy log https://app.netlify.com/projects/dashboard-v2-novu-staging/deploys/6a440bd1bdf9be00085b2010

@netlify

netlify Bot commented Jun 30, 2026

Copy link
Copy Markdown

Deploy Preview for dashboard-v2-novu-staging canceled.

Name Link
🔨 Latest commit 898927e
🔍 Latest deploy log https://app.netlify.com/projects/dashboard-v2-novu-staging/deploys/6a44abd89ff7270008920130

Comment thread docs/platform/integrations/chat/slack.mdx
Comment thread docs/platform/integrations/chat/slack.mdx Outdated
@testerarmy

testerarmy Bot commented Jun 30, 2026

Copy link
Copy Markdown

TesterArmy is running exploration tests on this Pull Request.

Result Dashboard Duration Commit Updated (UTC)
Open 2m 3s 898927e Jul 1, 2026 6:29am

Summary

All 10 steps passed.

Planned Steps (10/10 completed)

# Step Result
1 Navigate to the deployment URL at /framework/endpoint
2 Verify the 'Retry behavior' section is visible with the retry table and HTTP status codes
3 Screenshot the retry behavior section on the framework endpoint page
4 Navigate to /platform/integrations/sms/sms-webhook
5 Verify the SMS Webhook page loads and shows configuration fields table and request/response format sections
6 Navigate to /channels/sms/generic-sms to test the legacy redirect
7 Verify the page redirects to the SMS Webhook documentation page
8 Navigate to /platform/inbox/prepare-for-production
9 Verify the HMAC section mentions subscriber profile fields and the updated note about subscriberHash being required to update existing profiles
10 Navigate to /platform/integrations/email/resend and verify the React Email with Code Steps section is present
Recording (1)

Test Recording

All Screenshots (1)

Screenshot 1

Screenshot 1

@mintlify

mintlify Bot commented Jun 30, 2026

Copy link
Copy Markdown
Contributor

Preview deployment for your docs. Learn more about Mintlify Previews.

Project Status Preview Updated (UTC)
novu 🟢 Ready View Preview Jun 30, 2026, 7:18 PM

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants