mcpField
N
novu-dashboard-workflows

novu-dashboard-workflows

github.com/novuhq開発4460 回インストール19 週間前に更新
リポジトリ

novu-dashboard-workflows について

Novu Dashboardのワークフローで、手動またはNovu MCP経由でステップ内容を作成・編集するためのガイドです。複数のステップ種別を扱い、変数やエディター構造、条件の適切な扱い方を示します。

主な機能

  1. 01メール、通知、HTTPステップのルール
  2. 02Liquid変数によるパーソナライズ
  3. 03HTTPレスポンススキーマの順守
  4. 04エディター種別と構造の維持
  5. 05意図に応じた条件の統合・置換

活用シーン

  1. 01Dashboardワークフローのメール本文編集
  2. 02通知の遅延やダイジェスト時間の変更
  3. 03HTTPリクエストのヘッダーや本文の追加
  4. 04ステップ条件の更新

MCP 対応

create_workflowやupdate_workflow_stepなど、Novu MCPでワークフローのステップ内容を作成・更新する操作をガイドします。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/novuhq/skills --skill novu-dashboard-workflows

インストール後、Claude Code で/novu-dashboard-workflowsを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
chat-step.md
delay-step.md
digest-step.md
email-step.md
http-request-step.md
in-app-step.md
push-step.md
sms-step.md
step-conditions.md
throttle-step.md

詳細

ダッシュボードのワークフロー

Novu ダッシュボード上のワークフローで、ステップのコンテンツ(件名、本文、editorType、ヘッダー、本文、条件)を作成する際のルールです。手動で編集する場合も、Novu MCP 経由で編集する場合も適用されます。

@novu/framework を使ってコードで作成していますか?このスキルはスキップしてください。Framework SDK の型とヘルパーがこれらの制約を組み込んでいます。

ワークフローの構成(チャンネル、重要度、クリティカル、ダイジェスト、テンプレート)を決める必要がありますか?まずは design-workflow/ から始めて、その後ここに戻ってステップのコンテンツを入力してください。

このスキルを使う場面

ダッシュボード/MCP のステップの設定項目を記述または編集する場合に使用してください。

  • 「このステップのメールの件名と本文を設定する」
  • 「アプリ内通知の文面を更新する」
  • 「この HTTP Request ステップにヘッダーを追加する」
  • 「ダイジェストの期間を 1 時間に変更する」
  • 「サブスクライバーがオフラインの場合、このステップをスキップする」(ステップ条件)
  • ステップのコンテンツを書き込む Novu MCP ツール呼び出し(create_workflow、update_workflow_step など)

ステップコンテンツのガイドライン

これらのルールはすべてのステップタイプに適用されます。

  • 設定値でパーソナライズするには、Liquid 変数を使用してください。変数は二重波括弧 {{ と }} で囲む必要があります。例:{{ subscriber.firstName }}、{{ payload.* }}。
  • 例外: Block Editor(editorType: "block")のノード属性では、波括弧を使用しないでください。{{ payload.actionUrl }} ではなく、payload.actionUrl のように変数名だけを記述してください。Block Editor のルール全体については、references/email-step.md を参照してください。
  • HTTP Request ステップ以降のステップでレスポンスデータを参照するには、{{ steps.<http-step-id>.<property> }} を使用してください。使用できるのは、その HTTP ステップの responseBodySchema で定義されたプロパティのみです。任意のレスポンスフィールドを作り出してはいけません。例:HTTP ステップ fetch-user の responseBodySchema で name と email が定義されている場合は、{{ steps.fetch-user.name }} と {{ steps.fetch-user.email }} を使用してください。
  • URL、名前、製品名をハードコードせず、代わりに変数を使用してください。
  • 他のワークフローステップと一貫性のあるコンテンツにしてください。
  • ユーザーの意図に沿ってコンテンツを変更してください。
  • 変更を明示的に求められていないものはすべて保持してください。
  • 同じ editorType(メールの場合は block または html)と構造を維持してください。

ステップの種類

各ステップの種類には、それぞれ固有のコンテンツルールがあります。コントロールを作成する前に、該当するリファレンスを開いてください。

ステップの種類リファレンス用途
メールreferences/email-step.md詳細なコンテンツ、正式な連絡、領収書
アプリ内references/in-app-step.mdリアルタイム更新、アクティビティフィード、高いエンゲージメント
SMSreferences/sms-step.md緊急アラート、確認コード、時間制限のあるメッセージ
プッシュreferences/push-step.mdモバイルでのエンゲージメント、再エンゲージメント、時間制限のある更新
チャットreferences/chat-step.mdSlack / Discord / Teams のチームおよび開発者向けアラート
遅延references/delay-step.mdチャネルステップの前にワークフローの実行を一時停止
ダイジェストreferences/digest-step.md複数の通知をまとめて1つにする
スロットルreferences/throttle-step.md通知頻度を制限し、疲労を防ぐ
HTTP リクエストreferences/http-request-step.md外部 API / webhook を呼び出す、後続のステップで使うデータを取得する
ステップ条件references/step-conditions.md「次の場合のみ送信」のための JSON-Logic、マージ / 置換 / 削除

よくある落とし穴

  1. Block Editor 属性内の波括弧 — Maily TipTap ノード属性(url、text、src、id、each、href、externalLink)には、変数名のみを指定します。"{{ payload.actionUrl }}" は誤りで、"payload.actionUrl" が正しい形式です。references/email-step.md を参照してください。
  2. 宣言されていない HTTP レスポンスフィールドの参照 — {{ steps.<http-step-id>.<property> }} は、そのステップの responseBodySchema に記載されたプロパティでのみ機能します。まず、そのプロパティをスキーマに追加してください。
  3. ループせずに配列の項目をハードコードする — ペイロードに配列(payload.items、payload.providers)が含まれる場合は、Block Editor の repeat ノードまたは HTML の {% for %} ループで反復処理してください。配列の項目を個別のノード / 要素として列挙しないでください。
  4. HTTP ヘッダーまたはボディに空のキー / 値を指定する — 不要な場合は空の配列 [] を使用してください。[{ "key": "", "value": "" }] は使用しないでください。
  5. URL / 製品名のハードコード — ワークフローのポータビリティを保つため、必ず payload.* または subscriber.* から取得してください。
  6. メール編集時の editorType の変更 — ユーザーが明示的に切り替えを求めない限り、block は block のまま、html は html のままにしてください。
  7. ユーザーが「追加」と言ったときにステップ条件を置き換える — 「追加」 / 「さらに」 / 「および」は { "and": [...] } でマージし、「変更」 / 「設定」は置き換え、「削除」 / 「クリア」は null を返します。references/step-conditions.md を参照してください。

関連項目

  • design-workflow/ — ステップのコンテンツを作成する前に、チャネル、重大度、critical、ダイジェストのデフォルト値を選び、ワークフローテンプレートを選択します
  • framework-integration/ — 代わりに @novu/framework を使って、同じワークフローをコードで作成します
  • trigger-notification/ — ワークフローの作成後に実行します

コメント