n8nのテンプレートの使い方:公式ギャラリーから取り込んで安全に直す

公開 書いた人 大林 諒

n8nには、作者が公開したワークフローをそのまま取り込める公式のテンプレートギャラリーがあります。便利ですが、取り込んだだけでは動かず、作者のシートや宛先が残ったまま本番に出すと事故になります。ここでは「問い合わせ受付」ワークフローを育てる3つの型を例に、探し方、取り込む前の安全確認、取り込み方、取り込んだあとに直すところ、自社の雛形を社内で使い回す方法までを通します。前提は、「問い合わせ受付」が1本動いていることです。版は2026年10月時点の安定版2.44.7で確かめています。

この記事の内容
  1. 先に決めること
  2. 取り込み方と、直すところの一覧
  3. 手順
  4. 応用:問い合わせ受付を育てる3つの型
  5. 自社用のテンプレートを作って社内で使い回す
  6. できないことと、その代わり
  7. よく詰まるところ
  8. 次にやること

先に決めること

テンプレートは完成品ではなく見本として使う

ギャラリーのテンプレートは、作者のシート、チャンネル、業務に合わせて作られています。テンプレートから持ってくるのは「どのノードをどうつなぐか」という骨組みで、中身は自社の値で入れ直すものと決めておきます。実際に本番で動かしていると、テンプレートの一部だけを自社の既存ワークフローに貼り込む使い方がいちばん多くなります。

本番とは別の名前・別の宛先で試す

取り込んだワークフローは、最初は「【試作】問い合わせ振り分け」のように本番と分かる名前を変え、書き込み先もテスト用のシート「問い合わせ一覧(テスト)」とチャンネル #問い合わせ-テスト にします。作者の送り先が残ったまま本番のCredential(認証情報)を付けると、知らない宛先に社内のデータを送りかねません。

誰が取り込んでよいか

コミュニティノード(n8n社以外が作ったノード)を入れられるのは、オーナー(Owner)と管理者(Admin)だけです。テンプレートを試すのは誰でもよく、コミュニティノード入りのものを入れるかはオーナーが決める、と分けます。n8n Cloudでは、n8nが確認した「verified」のものしか入りません。

自社の雛形をどこに置くか

自社で作ったワークフローを雛形として配るなら、置き場所は版とプランで決まります。無料のCommunity editionは、無料登録をしてもワークフローの共有が使えないので、JSONファイルで配ります。チームのプロジェクトは、無料登録で使えるかの記載が公式の中で食い違うので料金ページで確かめます。n8n CloudのStarter・Proと、セルフホストのBusiness以上は、チームのプロジェクト(共有の置き場)に置けます。プランの違いは「n8nの料金:Cloudとセルフホストの費用、商用利用の線引き」にまとめています。

取り込み方と、直すところの一覧

取り込み方は6通りあります。

取り込み方向く場面Credential注意
公式サイトから直接(Import to an n8n destination)ギャラリーのテンプレートを丸ごと入れる取り込み時の設定画面で選ぶ自社のn8nで一度「Templates」を開いておく必要がある
JSONをコピーしてキャンバスに貼るギャラリーのものを一部だけ使う、中身を読んでから入れる付け直す読んでから貼れるので一番安全
「Import」の「From file」社内で配ったJSONファイルを入れる同じn8nなら付いたまま、別のn8nなら付け直すピン留めしたデータが入っていることがある
「Import」の「From URL」社内のファイル置き場やGitHubのJSONを入れる同上URLはn8nのサーバーから取りに行く
「Duplicate」(複製)同じn8nの中で雛形を複製する付いたまま複製先の人がCredentialを使えるかを確かめる
自前のテンプレートライブラリ何台ものn8nに同じ雛形を配る取り込み時の設定画面で選ぶAPIを自分で用意する。セルフホストだけ

取り込んだあとに直すところは、どの取り込み方でも同じ6つで、手順4で順に直します。

手順

1. 公式ギャラリーで探す

  1. 左のメニューの下のほうにある「Templates」を押す。n8nのサイトのテンプレート一覧(n8n.io/workflows)が開く
  2. 検索欄に、使いたいサービス名とやりたいことを英語で入れる(例: form google sheets slack)
  3. カテゴリ(「Sales」「IT Ops」「Ticket Management」など)や、使っているアプリで絞る
  4. 気になるテンプレートを開き、説明、使っているノード、「Created by」(作者)、「Last update」(最終更新)を読む

2026年10月26日時点で13,701件あり、英語のサービス名で探すのが早いです。選ぶときは使っているノードの一覧を先に見て、公式ノードだけで組まれているものを選びます。「Last update」が古いものは、設定項目が今と違うことがあります。「Verified Creators」の作者でも、自社のデータの扱いに合う保証にはならないので、確認は省きません。

n8n.io/workflows で「form google sheets slack」と検索した結果の一覧
n8n.io/workflows で「form google sheets slack」と検索した結果の一覧

2. 取り込む前に中身を読む

他人が作ったワークフローは、動かした時点で、つないだCredentialの権限で何でもできます。入れる前に、データをどこへ送っているかを読みます。

  1. テンプレートのページで「Use for free」を押す
  2. 出てきた選択肢から「Copy template to clipboard (JSON)」を選ぶ
  3. テキストエディタに貼り、template.json という名前で保存する
  4. 下の表の順に中身を確かめる
見るところ何が起きうるか確かめ方
外へ出ていくURLHTTP Requestで作者のサーバーや知らないAPIにデータを送るhttp で検索し、宛先を全部書き出す
Codeノードの中身コードの中で外へ送る、データを書き換えるjsCode か pythonCode を探して全部読む
ノードの種類コミュニティノードが入っている"type" が n8n-nodes-base. と @n8n/ で始まらないものを探す
Credentialの種類思ったより広い権限のつなぎ先がある"credentials" の下の種類を見る
固定のIDやアドレス作者のシートや宛先に書き込むdocs.google.com、@、チャンネル名で検索する
ピン留めしたデータ作者のテストデータが入っている"pinData" の中身を見る

jq(JSONを読むコマンド)が入ったPCなら、次の4行で一度に見られます。1行目がノードの種類と名前、2行目が中に書かれたURL、3行目がCodeノードの中身、4行目が公式以外のノードです。

jq -r '.nodes[] | [.type, .name] | @tsv' template.json
jq -r '.. | strings | scan("https?://[^ \"<>()]+")' template.json | sort -u
jq -r '.nodes[] | select(.type == "n8n-nodes-base.code") | .name, .parameters.jsCode' template.json
jq -r '.nodes[] | select(.type | startswith("n8n-nodes-base.") or startswith("@n8n/") | not) | .type' template.json

実際に問い合わせフォームのテンプレートで2行目を流すと、作者のスプレッドシートのURLと、https://your.app.n8n.cloud/webhook/uuid のような仮のURLが出てきました。これが取り込み後に直す場所です。

Codeノードは、行数が少なくても全部読みます。外へ送る処理(fetch、httpRequest、require)や、意味の分からない長い文字列があれば、そのテンプレートは使わず、骨組みだけ見て自分で組み直します。コードの書き方は「n8nのCodeノード:JavaScriptとPythonで足りないところを書く」で扱います。

テンプレートのページで「Use for free」を押したときの選択肢
テンプレートのページで「Use for free」を押したときの選択肢

3. 取り込む

読み終わったら、空のワークフローに入れます。

  1. 「Overview」で「Create workflow」を押し、名前を「【試作】問い合わせ振り分け」にする
  2. キャンバスの空いたところを一度押してから、Ctrl + V(Macは Cmd + V)で貼る

一部だけ使うときは、貼ったあとに範囲をドラッグして選び、Ctrl + C で本番側へ写します。

ファイルやURLから入れるときは、ワークフロー名のすぐ右にある「…」(ワークフローのメニュー)を使います。

  1. 「…」を押し、「Import」にカーソルを合わせる
  2. 「From file」でPCのJSONを選ぶか、「From URL」で「Workflow URL」にJSONのURLを入れて「Import」を押す

「From URL」は、ブラウザではなくn8nのサーバーがそのURLを取りに行きます。社内のファイルサーバーのURLは、n8nのサーバーから届かなければ取り込めません。GitHubなら、ファイルの画面のURLではなく、JSONそのものが返る「Raw」のURLを入れます。

ワークフローのメニューで「Import」を開き、「From URL」「From file」が並んでいるところ
ワークフローのメニューで「Import」を開き、「From URL」「From file」が並んでいるところ

公式サイトから直接入れる方法もあります。自社のn8nで一度、左メニュー下の「Templates」を開くと、そのn8nがサイト側の取り込み先の一覧に載ります。テンプレートのページの「Use for free」で「Import to an n8n destination」から自社のn8nを選ぶと、「Set up ‘〜’ template」という画面が出るので、サービスごとにCredentialを選んで「Continue」を押します(あとで付けるなら「Skip」)。中身を読む前に入ってしまうので、手順2で読んだテンプレートだけに使います。

「Set up '〜' template」の画面で、Google SheetsとSlackのCredentialを選ぶ欄が並んでいるところ
「Set up ‘〜’ template」の画面で、Google SheetsとSlackのCredentialを選ぶ欄が並んでいるところ

4. 取り込んだら直すところ

Credentialを付け直す

ギャラリーのテンプレートのJSONには、Credentialの中身は入っていません。入っているのは "id": "credential-id" のような仮の値と、種類の名前だけです。取り込むと、Credentialが要るノードに警告の印が付き、開くと「Credentials for 〜 are not set.」と出ます。

  1. 警告の付いたノードを開く
  2. Credentialの欄で、自社の共用アカウントで作ったCredentialを選ぶ。無ければ「Create new credential」で作る
  3. 全部のノードで警告が消えたことを確かめる

1つでも残っていると、「Publish」を押しても「〜 nodes have issues, fix them before publishing.」と出て公開できません。Credentialの作り方と、誰のアカウントでつなぐかは「n8nの認証情報(Credential):OAuth2・APIキー・共有と権限」で詳しく書いています。

別のn8nから書き出したJSONを入れると、「Credentials with name 〜 do not exist for 〜.」と出て、同じ名前で作れば自動で選ばれる、とヒントが出ます。社内でCredentialの名前をそろえておくと手間が減ります。

取り込み直後のキャンバス。Google SheetsとSlackのノードに警告の印が付いている
取り込み直後のキャンバス。Google SheetsとSlackのノードに警告の印が付いている

固定値を自社の値に替える

テンプレートには、作者のスプレッドシート、シート名、Slackのチャンネル、送信元のメールアドレスが固定値で入っています。Google Sheetsノードの「Document」が作者のシートのままだと、自社のCredentialでは開けず、権限のエラーになります。ノードを1つずつ開き、「Document」「Sheet」「Channel」などを「From list」で選び直します。

先頭の「Edit Fields (Set)」ノードに送り先やシートのURLを集めてあるテンプレートは、直す場所が1か所で済みます。自社の雛形でもこの形をまねします。

トリガーを付け替える

テンプレートの入口(トリガー)は、作者の都合で選ばれています。「問い合わせ受付」に合わせるなら、Gmailの受信やチャットのトリガーを消し、自社の入口に付け替えます。

  1. テンプレートのトリガーを選んで消す
  2. 「問い合わせ受付」と同じ入口(「Webhook」か「n8n Form Trigger」)を置く
  3. 次のノードにつなぎ、式の参照先を直す

付け替えると、後ろのノードの式が前の入口の項目名を指したままになります。たとえば {{ $json.subject }} は、Webhookから受けた値なら {{ $json.body.subject }} です。プレビューが空になっている欄を1つずつ直します。式の書き方は「n8nの使い方入門:最初のワークフローを作って動かす」、Webhookの受け方は「n8nで外部サービスとつなぐ:Webhook・HTTP Request・API」にまとめています。

Webhookに contact のような固定のパスが入っていると、既存のワークフローと重なったときに公開で「The URL path that the “〜” node uses is already taken.」と出て止まります。パスは自社用の名前に変えます。

コミュニティノードが入っていないか

自社のn8nに入っていないコミュニティノードがあると、そのノードを開いたときに「Install this node to use it」と出ます。入れるかどうかの判断は次のとおりです。

状況判断
同じことが公式ノードかHTTP Requestでできる入れずに置き換える
n8nが確認した「verified」のノードで、ノードパネルの「More from the community」に出るオーナーか管理者が入れてよい
確認されていないノード入れない。どうしても要るなら中身を読み、オーナーが決める
n8n Cloudで、確認されていないノード入れられない。置き換える

公式の説明では、コミュニティノードはn8nが動いているマシン全体に手が届き、ワークフローのデータも読めます。作者が版を上げたときに前の動きが壊れることもあります。実際に本番で動かしていると、置き換えられるものは全部置き換え、入れたものは「Settings」の「Community nodes」の一覧で月に1回見直す運用に落ち着きます。

取り込んだワークフローで、未導入のコミュニティノードを開いたときの「Install this node to use it」
取り込んだワークフローで、未導入のコミュニティノードを開いたときの「Install this node to use it」

ピン留めしたデータと付箋を片付ける

作者が試したときのデータがピン留め(Pin data)されていると、そのノードはテスト実行で動かず同じ値を出し続け、直しても結果が変わらないように見えます。OUTPUTの上の帯の「Unpin」で外します。

付箋(Sticky Note)には、作者が書いた使い方が英語で入っています。読んで、自社でやったことを日本語で書き直し、元のテンプレートのURLと取り込んだ日も残します。取り込んだワークフローは写しなので、作者があとで直しても自社の分には反映されません。どこから来たかが分かれば、作者の更新を見に行けます。

最後に、ワークフロー名の右の「…」から「Settings」を開き、「Timezone」と「Error Workflow (to notify when this one errors)」を自社の値にします。テンプレートによっては、作者の国のタイムゾーンが入っています。

5. テスト用の宛先で通してから本番に出す

  1. 書き込み先を「問い合わせ一覧(テスト)」と #問い合わせ-テスト にしたまま「Execute workflow」を押す
  2. テスト用の問い合わせを、種類を変えて何通か流す
  3. 全部のノードに緑の印が付き、テスト用のシートとチャンネルにだけ届いたことを確かめる
  4. 書き込み先を本番のシートとチャンネルに替え、名前から「【試作】」を外す
  5. 「Publish」を押す

セルフホストなら、取り込んだあとに n8n audit を流すと、危ないノードや守られていないWebhookが一覧で出ます。流し方は「n8nを止めずに運用する:アップデート・バックアップ・エラー通知・脆弱性」に書いています。

応用:問い合わせ受付を育てる3つの型

ギャラリーでよく見つかる型のうち、「問い合わせ受付」を育てるのに使う3つを、どう直すかまで書きます。

型1:問い合わせの種類をAIで振り分ける

ギャラリーを classify email や support ticket で探すと、受信したメールやチケットをLLMで分類して振り分ける型が出てきます。直すところは3つです。

  • 入口を「問い合わせ受付」のWebhookかForm Triggerに付け替える
  • 分類を自社の4種類(見積もり・不具合・採用・営業売り込み)にし、どれにも当てはまらないものを捨てない
  • LLMのCredentialを自社のAPIキーにし、本文を社外のAPIに送ってよいかを先に決める

振り分けのノードの設定と、どれにも当てはまらない問い合わせが黙って消える罠は「n8nでAIエージェントを作る:ChatGPT・Claude・Geminiをつなぐ」で詳しく書いています。

型2:毎朝、未対応の件数を知らせる

daily report google sheets slack で探すと、決まった時刻にシートを読んでSlackに送る型が出ます。自社用に直した完成形はこうなります。

  1. 「Schedule Trigger」で「Trigger Interval」を「Days」、「Trigger at Hour」を8時にする
  2. 「Google Sheets」の「Get row(s) in sheet」で「問い合わせ一覧」を読み、「Filters」の「Add Filter」で「Column」を「対応状況」、「Value」を「未対応」にする
  3. 「Summarize」で「Fields to Summarize」の「Aggregation」を「Count」、「Field」を「対応状況」にする
  4. 「Slack」で #問い合わせ に 未対応の問い合わせは {{ $json.count_対応状況 }} 件です と送る

テンプレートのままだと、未対応が0件の朝にGoogle Sheetsが何も出さず、そこで流れが止まってSlackに何も届きません。来ない通知には誰も気づかないので、Google Sheetsノードの「Settings」タブで「Always Output Data」をオンにし、0件でも次へ進めます。時刻がずれるときは、ワークフローの「Timezone」が Asia/Tokyo になっているかを見ます。定期実行の組み方は「n8nの定期実行とサブワークフロー:Schedule Triggerと部品化」で扱います。

Schedule Trigger・Google Sheets・Summarize・Slackの4つを並べた「毎朝の未対応件数」
Schedule Trigger・Google Sheets・Summarize・Slackの4つを並べた「毎朝の未対応件数」

型3:止まったら気づく

error notification で探すと、「Error Trigger」でほかのワークフローの失敗を受けてSlackやメールに送る型が出ます。送り先を業務の #問い合わせ ではなくエラー専用の #n8n-監視 にし、見張りたいワークフローの「Settings」で「Error Workflow」に指定します。テンプレートの通知文がトリガーでの失敗を考えていない書き方なら、その場合だけ空欄の通知が届くので、「n8nを止めずに運用する:アップデート・バックアップ・エラー通知・脆弱性」の式に差し替えます。

自社用のテンプレートを作って社内で使い回す

雛形にする前に外すもの

動いている本番のワークフローを、そのまま雛形として配ると、中に残っているものも一緒に配られます。

外すもの理由どうするか
Credentialの名前書き出したJSONに入る。名前の付け方によっては誰のアカウントか分かる「Google 共用」のように役割の名前にしておく
ピン留めしたデータ書き出したJSONにそのまま入る。顧客の名前やメールアドレスが含まれる書き出す前に「Unpin」で外す
HTTP RequestのヘッダーcURLから取り込んだノードには認証のヘッダーが入っていることがあるCredentialに移し、ヘッダーから消す
本番のシートのID・チャンネル複製した人が本番に書き込む先頭の「Edit Fields (Set)」に集め、ここに自社の値 のような印にする

Credentialの名前とcURLのヘッダーは、公式の説明でも共有前に消すように書かれています。雛形の先頭には付箋を置き、何をする雛形か、どのCredentialが要るか、どこを替えるかを日本語で書きます。名前は「【雛形】毎朝の未対応件数」のように、一覧で見て雛形と分かる形にそろえます。

置き場所と配り方

使っている版・プラン置き場所配り方
セルフホストのCommunity edition社内の共有ドライブにJSONを置く「…」の「Export JSON」で書き出し、使う人が「Import」の「From file」で入れる(公式の説明での表記は「Download」「Import from File」)
Cloud Starter・Pro、セルフホストBusiness以上チームのプロジェクト「雛形」(Starterは1つまで、Proは3つ、Businessは6つ)使う人が「Duplicate」で複製し、「Move」で自分の作業先へ移す
n8nが2台以上ある(開発と本番、拠点ごと)JSONかn8n packagesJSONを「From URL」で入れるか、n8n packagesをAPIかCLIで移す

プロジェクトは、オーナーか管理者が左のメニューの「Add project」で作り、「Project settings」の「Project members」で使う人を足します。置いたワークフローはメンバー全員に共有されます。メンバーに編集の権限(Editor)を付けられるのはProからなので、雛形の置き場と作業の場所を分けるならPro以上にします。「Move」で移すと、それまでの個別の共有は全部外れます。Credentialは一緒に共有するかを聞かれ、共有しないと移した先で動かないことがあります。

n8n packagesは、ワークフローとフォルダの構成をまとめて別のn8nへ移す仕組みです。2026年10月時点ではPreview(試験提供)で、APIかCLIからしか使えず、Credentialの中身とピン留めしたデータは運ばれません。使えるプランは公式に書かれていません。台数が少ないうちはJSONで足ります。

自前のテンプレートライブラリを立てる

セルフホストでは、「Templates」の行き先を、公式のギャラリーから自社で用意したライブラリに替えられます。環境変数 N8N_TEMPLATES_HOST に自社のAPIのURLを入れると、n8nの画面の中で自社の雛形を検索して、取り込み時の設定画面ごと使えるようになります。

    environment:
      - N8N_TEMPLATES_HOST=https://templates.example.co.jp/api/

替える先のAPIは、n8nの公式ライブラリと同じ入口と同じ形の返事を用意する必要があります。

入口返すもの
GET /templates/workflows/<id>一覧と詳細に出すテンプレートの情報(workflow の中にさらに workflow がある形)
GET /workflows/templates/<id>キャンバスに入れるワークフロー本体
GET /templates/search検索結果(page・rows・category・search を受ける)
GET /templates/collections/<id>1つのコレクション
GET /templates/collectionsコレクションの一覧
GET /templates/categoriesカテゴリの一覧
GET /health生きているかの確認

公式の説明が特に注意しているのは、最初の2つで返事の形が違うことです。取り違えると、一覧には出るのに取り込めません。また、公式の説明には無く2.44.7の画面のコードから分かることですが、これらの入口はブラウザから直接呼ばれ、n8n-version というヘッダーが付きます。ライブラリ側でn8nのドメインからの呼び出しをCORSで許可し、このヘッダーも通さないと「There was a problem fetching workflow templates.」と出ます。

社員30名ほどでn8nが1台なら、プロジェクトかJSONの置き場で足ります。割に合うのは、n8nが何台もある場合です。

逆に、公式ギャラリーからの取り込みを止めたいときは N8N_TEMPLATES_ENABLED=false にします。公式の説明は止まり方までは書いていませんが、2.44.7のコードでは、止まるのはテンプレートの画面とサイトからの直接の取り込みで、JSONの貼り付けとファイルからの取り込みは残ります。持ち込みを全部は止められません。

できないことと、その代わり

できないこと代わりの手
テンプレートのCredentialをそのまま使う中身は入っていない。自社の共用アカウントで作って選ぶ
取り込んだあと、作者の更新を自動で受け取る付箋に元のURLと取り込んだ日を残し、必要なときに見比べる
Community editionで雛形を他の人と共有するJSONを社内の共有ドライブに置いて配る。共有が要るならCloud Starter・ProかBusiness
n8n Cloudで確認されていないコミュニティノード入りのテンプレートを使う公式ノードとHTTP Requestで置き換える。どうしても要るならセルフホストにする
ギャラリーにあることを、安全の保証にする取り込む前にJSONを読む。データの送り先とCodeノードは自分で確かめる
画面だけで自前のテンプレートライブラリを作る公式と同じ入口のAPIを自分で用意する。1台ならプロジェクトかJSONで足りる

よく詰まるところ

症状原因直し方
「〜 nodes have issues, fix them before publishing.」で公開できないCredentialが付いていないノードが残っている警告の印が付いたノードを開き、Credentialを選ぶ
「Install this node to use it」と出る入っていないコミュニティノードが含まれているオーナーが入れるか、公式ノードとHTTP Requestで置き換える
「This node is not currently installed. It is either from a newer version of n8n…」と出る自社より新しい版のn8nで作られたノードn8nを上げるか、ノードを組み直す
Google Sheetsで権限のエラーや「見つからない」エラーになる「Document」が作者のシートのまま「From list」で自社のシートを選び直す
「The URL path that the “〜” node uses is already taken.」Webhookのパスが既存のものと重なったWebhookノードの「Path」を自社用の名前に変える
直しても、テストの結果が変わらない作者のデータがピン留めされたままOUTPUTの帯の「Unpin」で外す
「From URL」で「The data in the file does not seem to be a n8n workflow JSON file!」URLがJSONそのものでないJSONだけが返るURL(GitHubなら「Raw」)を入れる
「From URL」で取り込めず、ブラウザでは開けるURLを取りに行くn8nのサーバーから社内のURLに届かない「From file」で入れるか、サーバーから届く場所に置く
「Import to an n8n destination」の一覧に自社のn8nが出ないそのn8nでまだ「Templates」を開いていない自社のn8nで「Templates」を一度開く
別のn8nから入れたJSONでCredentialが選ばれていないCredentialの名前が違う同じ名前で作るか、ノードごとに選び直す
時刻が日本時間とずれる作者のタイムゾーンが設定に残っている「Settings」の「Timezone」を Asia/Tokyo にする
コンテナを作り直したら、入れたコミュニティノードが消えた~/.n8n/nodes をボリュームに残していないn8nのデータフォルダ全体をボリュームに置く

次にやること

あわせて読む