Skip to content

Conversation

Aviatorscode2
Copy link
Contributor

@Aviatorscode2 Aviatorscode2 commented Sep 26, 2025

Summary by CodeRabbit

  • Documentation
    • Added a new "Throttle Step" workflow guide to Platform docs and navigation.
    • Describes limiting workflow executions per subscriber using Fixed and Dynamic windows, configuration fields (name, identifier, window, threshold), grouping by payload keys, and cross-channel behavior.
    • Covers dynamic window formats (ISO timestamps or duration objects), examples for group throttling, and subscriber experience guidance.

Copy link

linear bot commented Sep 26, 2025

Copy link

netlify bot commented Sep 26, 2025

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

Name Link
🔨 Latest commit 486051d
🔍 Latest deploy log https://app.netlify.com/projects/docs-novu/deploys/68e4abcae529380008094f11

Copy link
Contributor

coderabbitai bot commented Sep 26, 2025

Caution

Review failed

The pull request is closed.

Walkthrough

Adds a new Throttle Step documentation page to platform docs and updates the docs navigation to include it. No application runtime code changed; only documentation and metadata were added.

Changes

Cohort / File(s) Summary
Docs navigation update
content/docs/platform/meta.json
Added "workflow/throttle-step" to the pages array to surface the new doc in navigation.
New Throttle Step doc
content/docs/platform/workflow/throttle-step.mdx
Added documentation for the Throttle Step covering purpose, Fixed vs Dynamic window modes, configuration fields (Name, Identifier, window settings, thresholds, grouping), payload formats (ISO-8601 or duration object), cross-channel behavior, and subscriber notes.

Sequence Diagram(s)

sequenceDiagram
  autonumber
  participant W as Workflow Engine
  participant T as Throttle Step
  participant C as Counter Store
  participant N as Next Step

  rect rgba(135,206,235,0.12)
    W->>T: Evaluate throttle (payload, subscriber, group key)
    T->>C: Read window state / current count
    alt count < threshold
      C-->>T: count below threshold
      T->>C: Increment count / create or extend window
      T-->>W: Allow execution
      W->>N: Proceed
    else threshold reached
      C-->>T: count at/above threshold
      T-->>W: Throttle (delay/skip per config)
      Note right of W: Workflow paused or alternate branch taken
    end
  end
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

Suggested reviewers

  • scopsy

Poem

I’m a rabbit in the docs tonight,
Counting hops to keep flows light,
Fixed or dynamic, windows in sight,
Throttle the rush, steady the flight.
Carrots for clear docs — hop delight. 🥕

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Title Check ⚠️ Warning The title includes an internal ticket identifier and a “feature:” prefix that adds unnecessary noise, and the phrasing “content for the throttle step” is less direct than a concise summary of the main change. It does not clearly convey that documentation for the throttle step is being added. Please simplify the title to a concise summary of the change without ticket codes or prefixes, for example “Add throttle step documentation.”
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.

📜 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 65a78ed and 486051d.

📒 Files selected for processing (1)
  • content/docs/platform/workflow/throttle-step.mdx (1 hunks)

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
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: 2

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 79137d1 and 1e7127e.

⛔ Files ignored due to path filters (3)
  • public/images/workflows/dynamic-window.png is excluded by !**/*.png
  • public/images/workflows/fixed-window.png is excluded by !**/*.png
  • public/images/workflows/throttle-step-activity-feed.png is excluded by !**/*.png
📒 Files selected for processing (2)
  • content/docs/platform/meta.json (1 hunks)
  • content/docs/platform/workflow/throttle-step.mdx (1 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). (1)
  • GitHub Check: Build and Lint
🔇 Additional comments (1)
content/docs/platform/meta.json (1)

31-31: Entry looks good

The throttle step page is now discoverable alongside the other workflow docs, consistent with the existing slug conventions.

Aviatorscode2 and others added 2 commits September 26, 2025 13:17
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
@@ -0,0 +1,82 @@
---
title: 'Throttle Step'
description: 'Learn how to use the Throttle step in Novu workflows to control notification frequency.'
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 capitalize every instance of "throttle." Apply throughout.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Throttle is a feature in the UI, that was why it was capitalized.

Copy link
Contributor

Choose a reason for hiding this comment

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

Yes, but you capitalize it in some places and not others. In this description, it is not clear whether you are explicitly talking about a UI thing (click Throttle step) or a generic thing (the throttle step exists and does useful stuff).

Copy link
Contributor

@DianaHackmamba DianaHackmamba left a comment

Choose a reason for hiding this comment

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

Honestly, the only thing left is working out when "throttle" should be capitalized or not.


## Throttle window

The throttle window defines the time period in which executions are counted. Within this window, only the specified number of executions are allowed.
Copy link
Contributor

Choose a reason for hiding this comment

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

This is what I meant, Victor. Throttle is not capitalized in this paragraph, is in the next.

"Throttle step properties panel" looks like UI text, but "Throttle Window" capitalized here and not in the previous paragraph is inconsistent and confusing.

@jainpawan21 jainpawan21 changed the title Docs content for the throttle step feature: MRK-1066 content for the throttle step Oct 7, 2025
@jainpawan21 jainpawan21 merged commit 897597c into main Oct 7, 2025
0 of 5 checks passed
@jainpawan21 jainpawan21 deleted the MRK-1066 branch October 7, 2025 05:57
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.

3 participants