novu-framework-integration
Build code-first notification workflows with @novu/framework.
Skill by novuhq
Chalk Labs
Need help deploying novu-framework-integration?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
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-framework-integration
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: frontend, backend, devops, cloud
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-framework-integration
What's inside
- Skill name
novu-framework-integration- Description
- Build code-first notification workflows with @novu/framework. Use when defining workflows in TypeScript (Zod / JSON Schema / Class Validator), composing channel steps (email, SMS, push, chat, in-app) with action steps (delay, digest, custom), exposing Step Controls for non-technical teammates, rendering React/Vue/Svelte Email templates, hosting the Bridge Endpoint inside Next.js, Express, NestJS, Remix, Nuxt, SvelteKit, H3, or AWS Lambda, syncing to Novu Cloud via CLI / GitHub Actions, securing production with HMAC, or implementing translations, hydration, multi-channel orchestration, and LLM-powered notification logic in code.
- License
- MIT
- Instructions
- 822 lines in SKILL.md · view on GitHub
Agent Skills spec issues
- name: "novu-framework-integration" does not match folder "framework-integration"
- body: 822 lines (spec recommends under 500)
Files (10)
- SKILL.md
- bridge-endpoint.md · references/
- deployment.md · references/
- email-templates.md · references/
- examples.md · references/
- schema-validation.md · references/
- security.md · references/
- studio-and-cli.md · references/
- translations.md · references/
- workflow-and-steps.md · references/
SKILL.md (first lines)
# Framework Integration
Use `@novu/framework` to build notification workflows **in code**, alongside your application source. Workflows live in your repo, content is rendered using libraries you already use (React Email, Vue Email, Svelte Email), and a single HTTP endpoint (the Bridge) lets Novu Cloud execute them with just-in-time data from your services.
> Use this skill when building workflows **in code**. For workflows authored in the Novu Dashboard, just trigger them via [`trigger-notification`](../trigger-notification) — no Framework needed.
## When to Use the Framework
| Use Framework | Use Dashboard Workflows |
| --- | --- |
| Workflows must live in source control / GitOps | Non-technical peers own all the content |
| Need just-in-time data from your DB / APIs | All data fits in the trigger payload |
| Render emails with React/Vue/Svelte Email | Block editor is enough |
| Execute custom code (LLMs, third-party APIs) | Pure send-only flows |
| Need typed payload + step controls | Quick prototype |
The two approaches **coexist** — a single environment can have both code-defined and dashboard-defined workflows.
## How It Works
1. You define workflows in code with `workflow(...)` from `@novu/framework`.
2. You expose a single `/api/novu` HTTP route in your app — the **Bridge Endpoint**.
3. You sync the bridge URL to Novu Cloud (via `npx novu sync` or GitHub Action).
4. Novu Cloud calls your bridge over an authenticated tunnel during workflow execution to fetch step content with the latest data.
```
Trigger ──► Novu Cloud Worker ──► Your Bridge (/api/novu) ──► Provider (SendGrid, FCM, …)
```
## Quick Start
### 1. Bootstrap a project
```bash
npx novu init --secret-key=<YOUR_NOVU_SECRET_KEY>
```
This creates a sample bridge app with a workflow, env file, and a working `/api/novu` route.
### 2. Or add to an existing app
```bash
npm install @novu/framework zod @react-email/components react-email
```
```bash
NOVU_SECRET_KEY=<YOUR_NOVU_SECRET_KEY>
```
### 3. Define a workflow
```typescript
import { workflow } from "@novu/framework";
import { z } from "zod";
export const welcomeWorkflow = workflow(
"welcome-email",
async ({ step, payload, subscriber }) => {
await step.email("send-email", async (controls) => {
return {
subject: controls.subject,
body: `Welcome ${subscriber.firstName ?? payload.userName}!`,
};
}, {
controlSchema: z.object({
subject: z.string().default("Welcome to {{payload.appName}}"),
}),
});
},
{
payloadSchema: z.object({
userName: z.string(),
appName: z.string().default("Acme"),
}),
name: "Welcome Email",
description: "Sent when a new user signs up",
tags: ["onboarding"],
}
);
```
### 4. Mount the Bridge Endpoint
Pick the wrapper that matches your framework — see [Bridge Endpoint Setup](#bridge-endpoint-setup) below.
### 5. Run the Local Studio
```bash
npx novu@latest dev --port <YOUR_APP_PORT>
```
Open `http://localhost:2022` to preview workflows, edit controls, and trigger test events. The Studio creates a public tunnel automatically so Novu Cloud can reach your local bridge.
## Workflow Anatomy
> Designing the workflow itself? See [`design-workflow/`](../design-workflow) for channel selection, severity, `critical`, digest defaults, step conditions, and the 9 reference templates (order confirmation, payment failed, account suspended, comment, trial expiring, password reset, webhook fan-out, fetch-then-notify). The Framework SKILL covers **how to express** those decisions in code; `design-workflow/` covers **what to decide**.
```typescript
workflow(workflowId, handler, options);
```
| Param | Type | Description |
| --- | --- | --- |
| `workflowId` | `string` | Unique identifier in your environment |
| `handler` | `({ step, payload, subscriber }) => Promise<void>` | Workflow body — calls steps in order |
| `options` | `WorkflowOptions` | Schema, name, description, tags, preferences |
### Workflow Options
| Option | Type | Purpose |
| --- | --- | --- |
| `payloadSchema` | `ZodSchema \| JsonSchema \| ClassValidatorClass` | Validates the trigger payload, infers TS type for `payload` |
| `name` | `string` | Human-readable name shown in Dashboard / `<Inbox />` |
| `description` | `string` | Description shown in Dashboard |
| `tags` | `string[]` | Categorize for filtering / Inbox tabs |
| `severity` | `'low' \| 'medium' \| 'high'` | Visual prioritization in the Inbox. Leave unset for most workflows. |
| `critical` | `boolean` | Bypasses subscriber preferences, skips digest, runs without delays. Reserve for must-deliver events. |
| `preferences` | `WorkflowPreferences` | Default channel preferences and `readOnly` flag |From 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-dashboard-workflows
novuhq
Author step content for Novu workflows defined in the Dashboard or generated/edited via the Novu MCP.
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.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.511score
novu-inbox-integration
novuhq
Integrate Novu's in-app notification inbox into web applications.
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)
- May 8, 2026 (5 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-dashboard-workflows
novuhq
Author step content for Novu workflows defined in the Dashboard or generated/edited via the Novu MCP.
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.520score
novu-manage-preferences
novuhq
Configure notification preferences in Novu at the workflow and subscriber level.
SkillCFreshness: C★ 4Claude Code +9
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get novu-framework-integration running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
novu-framework-integration skill. Agent Mart. https://agentmart.dev/skills/novuhq-novu-framework-integration (last updated 2026-10-24)