novu-dashboard-workflows
Author step content for Novu workflows defined in the Dashboard or generated/edited via the Novu MCP.
Skill by novuhq
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/novuhq-novu-dashboard-workflows
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: data, writing, productivity, agent-building
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/novu-dashboard-workflows
What's inside
- Skill name
novu-dashboard-workflows- Description
- Author step content for Novu workflows defined in the Dashboard or generated/edited via the Novu MCP. Use when filling in step controls (subject, body, editorType, headers, body, conditions) for email, in-app, sms, push, chat, delay, digest, throttle, or HTTP Request steps.
- License
- MIT
- Instructions
- 66 lines in SKILL.md · view on GitHub
Agent Skills spec issues
- name: "novu-dashboard-workflows" does not match folder "dashboard-workflows"
Files (11)
- SKILL.md
- chat-step.md · references/
- delay-step.md · references/
- digest-step.md · references/
- email-step.md · references/
- http-request-step.md · references/
- in-app-step.md · references/
- push-step.md · references/
- sms-step.md · references/
- step-conditions.md · references/
- throttle-step.md · references/
SKILL.md (first lines)
# Dashboard Workflows
Rules for authoring **step content** (subject, body, `editorType`, headers, body, conditions) on workflows that live in the Novu Dashboard — whether you're editing them by hand or via the Novu MCP.
> Authoring **in code** with [`@novu/framework`](../framework-integration)? Skip this skill — the Framework SDK encodes these constraints in its types and helpers.
>
> Still need to **decide** what the workflow should look like (channels, severity, critical, digest, templates)? Start with [`design-workflow/`](../design-workflow), then come back here to fill in the step content.
## When to use this skill
Use it whenever you write or edit the **controls** of a Dashboard / MCP step:
- "Set the email subject and body for this step"
- "Update the in-app notification copy"
- "Add headers to this HTTP Request step"
- "Change the digest window to 1 hour"
- "Skip this step when the subscriber is offline" (step condition)
- Any Novu MCP tool call that writes step content (`create_workflow`, `update_workflow_step`, etc.)
## Step Content Guidelines
These rules apply to **every** step type.
- Use Liquid variables in control values for personalization. Variables must be wrapped in double curly braces `{{` and `}}`. Example: `{{ subscriber.firstName }}`, `{{ payload.* }}`.
- **EXCEPTION:** In Block Editor (`editorType: "block"`) node attributes, never use curly braces — use bare variable names like `payload.actionUrl` instead of `{{ payload.actionUrl }}`. See [`references/email-step.md`](./references/email-step.md) for the full Block Editor rules.
- For steps **after** an HTTP Request step, use `{{ steps.<http-step-id>.<property> }}` to reference response data. Only properties defined in that HTTP step's `responseBodySchema` are available — never invent arbitrary response fields. Example: if HTTP step `fetch-user` defines `responseBodySchema` with `name` and `email`, use `{{ steps.fetch-user.name }}` and `{{ steps.fetch-user.email }}`.
- Never hardcode URLs, names, or product names — use variables instead.
- Keep content consistent with other workflow steps.
- Modify the content according to the user's intent.
- Preserve everything not explicitly asked to change.
- Keep the same `editorType` (`block` or `html` for email) and structure.
## Step Types
Each step type has its own content rules. Open the matching reference before writing controls.
| Step type | Reference | Use it for |
| -------------- | --------------------------------------------------------------- | ----------------------------------------------------------- |
| Email | [`references/email-step.md`](./references/email-step.md) | Detailed content, formal communications, receipts |
| In-App | [`references/in-app-step.md`](./references/in-app-step.md) | Real-time updates, activity feeds, high engagement |
| SMS | [`references/sms-step.md`](./references/sms-step.md) | Urgent alerts, verification codes, time-sensitive messages |
| Push | [`references/push-step.md`](./references/push-step.md) | Mobile engagement, re-engagement, time-sensitive updates |
| Chat | [`references/chat-step.md`](./references/chat-step.md) | Slack / Discord / Teams team & developer alerts |
| Delay | [`references/delay-step.md`](./references/delay-step.md) | Pause workflow execution before a channel step |
| Digest | [`references/digest-step.md`](./references/digest-step.md) | Batch multiple notifications into one |
| Throttle | [`references/throttle-step.md`](./references/throttle-step.md) | Limit notification frequency, prevent fatigue |
| HTTP Request | [`references/http-request-step.md`](./references/http-request-step.md) | Call external APIs / webhooks; fetch data for later steps |
| Step condition | [`references/step-conditions.md`](./references/step-conditions.md) | JSON-Logic for "send only if…", merge / replace / remove |
## Common Pitfalls
1. **Curly braces inside Block Editor attributes** — Maily TipTap node attrs (`url`, `text`, `src`, `id`, `each`, `href`, `externalLink`) take **bare** variable names. `"{{ payload.actionUrl }}"` is wrong; `"payload.actionUrl"` is right. See [`references/email-step.md`](./references/email-step.md).
2. **Referencing undeclared HTTP response fields** — `{{ steps.<http-step-id>.<property> }}` only works for properties listed in that step's `responseBodySchema`. Add the property to the schema first.
3. **Hardcoding array items instead of looping** — when the payload contains an array (`payload.items`, `payload.providers`), iterate with a Block Editor `repeat` node or an HTML `{% for %}` loop. Don't list array items as separate nodes / elements.
4. **Empty key/value entries in HTTP headers or body** — use an empty array `[]` when not needed. Never `[{ "key": "", "value": "" }]`.
5. **Hardcoded URLs / product names** — always pull from `payload.*` or `subscriber.*` so the workflow stays portable.
6. **Changing `editorType` when editing email** — keep `block` as `block` and `html` as `html` unless the user explicitly asks to switch.
7. **Replacing a step condition when the user said "add"** — "add" / "also" / "and" merges with `{ "and": [...] }`; "change to" / "set to" replaces; "remove" / "clear" returns `null`. See [`references/step-conditions.md`](./references/step-conditions.md).
## See Also
- [`design-workflow/`](../design-workflow) — choose channels, severity, `critical`, digest defaults, and pick a workflow template **before** authoring step content
- [`framework-integration/`](../framework-integration) — author the same workflows in code with `@novu/framework` instead
- [`trigger-notification/`](../trigger-notification) — fire a workflow once it's authoredFrom novuhq/skills, MIT.
More from novuhq/skills
- 0.520score
novu-manage-subscribers
novuhq
Create, update, search, and delete subscribers in Novu.
SkillCFreshness: C★ 4Claude Code +9 - 0.520score
novu-manage-preferences
novuhq
Configure notification preferences in Novu at the workflow and subscriber level.
SkillCFreshness: C★ 4Claude Code +9 - 0.520score
novu-design-workflow
novuhq
Design notification workflows the Novu way — choose channels, set severity, decide when a workflow is critical, configure digests, and route based on…
SkillCFreshness: C★ 4Claude Code +9 - 0.520score
novu-trigger-notification
novuhq
Trigger Novu notification workflows to send messages across email, SMS, push, chat, and in-app channels.
SkillCFreshness: C★ 4Claude Code +9 - 0.511score
novu-inbox-integration
novuhq
Integrate Novu's in-app notification inbox into web applications.
SkillCFreshness: C★ 4Claude Code +9 - 0.511score
novu-framework-integration
novuhq
Build code-first notification workflows with @novu/framework.
SkillCFreshness: C★ 4Claude Code +9 - 0.277score
connect-agent
novuhq
No description from the publisher yet.
SkillCFreshness: C★ 4Claude Code +9
Signals
- Stars
- 4
- Forks
- 2
- Open issues
- 0
- Last commit (this folder)
- Apr 29, 2026 (6 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/novuhq/skills
- Website
- novu.co
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from novuhq
- 0.714score
AGENTS.md · novuhq/novu
novuhq
AGENTS.md from novuhq/novu: 44 lines covering Cursor Cloud specific instructions, Build, AI Boundaries, Developer-local agent config and more.
TemplateAFreshness: A★ 40.2KCodex +5 - 0.707score
Cursor rules · novuhq/novu
novuhq
17 Cursor rule files from novuhq/novu: api-property-optionality-hygiene, api, clickhouse, context-engineering, dal-repository and more.
TemplateAFreshness: A★ 40.2KCursor - 0.520score
novu-manage-subscribers
novuhq
Create, update, search, and delete subscribers in Novu.
SkillCFreshness: C★ 4Claude Code +9 - 0.520score
novu-design-workflow
novuhq
Design notification workflows the Novu way — choose channels, set severity, decide when a workflow is critical, configure digests, and route based on…
SkillCFreshness: C★ 4Claude Code +9 - 0.520score
novu-manage-preferences
novuhq
Configure notification preferences in Novu at the workflow and subscriber level.
SkillCFreshness: C★ 4Claude Code +9 - 0.520score
novu-trigger-notification
novuhq
Trigger Novu notification workflows to send messages across email, SMS, push, chat, and in-app channels.
SkillCFreshness: C★ 4Claude Code +9
Cite this page
novu-dashboard-workflows skill. Agent Mart. https://agentmart.dev/skills/novuhq-novu-dashboard-workflows (last updated 2026-10-24)