2Slides Logo
クローズドウォン取引から顧客オンボーディングデッキを自動化(2026年版)
2Slides Team
6 min read

成約済み案件から顧客オンボーディング用デッキを自動作成する(2026年版)

顧客オンボーディング用デッキを自動化するには、HubSpot、Salesforce、Pipedriveで案件が成約済み(Closed Won)になった際にWebhookを発火し、n8nのSetノードで案件フィールドをプロンプトにマッピングし、2Slidesの POST /api/v1/slides/generate エンドポイントを呼び出して固定テーマから編集可能なPPTXを取得します。2つ目のスケジュールされたワークフローは利用状況メトリクスから90日レビュー用デッキを作成します。8ページのキックオフデッキは80クレジット(約0.20ドル)で、案件成立から約30秒後にCSMのSlackに届きます。Customer Success opsやRevOpsエンジニア向けに構築されています。

主なポイント

  • 成約済みWebhook 1つとn8nのHTTP Requestノード2つで、CRMの案件フィールドを80クレジット(約0.20ドル)の8ページ編集可能オンボーディングデッキに変換。
  • Fast PPTのgenerateエンドポイントはネイティブPPTXを返すため、CSMはキックオフコール前に30/60/90日プランを編集可能。
  • キックオフから85日後にスケジュールされたワークフローが利用状況メトリクスを取得し、100クレジットの10ページ90日レビュー用デッキを作成。
  • すべての顧客に1つのthemeIdを使うことでブランド統一。ブランドスライドをreferenceImageUrlに指定するcreate-like-thisで画像デザイン版を作成可能(10ページあたり1,010クレジット)。
  • APIは1キーあたり1分間に6リクエストまで許容。四半期末の大量成約時は10秒間隔のキューを用意。

対象者

Customer Success opsやRevOpsを担当し、新規顧客ごとに45分かけて案件メモをキックオフテンプレートにコピーし、目標を打ち直し、90日プランを作成し、最初のビジネスレビュー前に利用数値で繰り返す作業をしている方。このレシピはコピー&ペースト作業を省きつつ、CSMが最終PPTXをコントロールできるようにします。

顧客ごとに変わらない静的なPDFのオンボーディングデッキを使っている場合は、このレシピは不要です。共有リンクの方が顧客成功プレゼン生成ツールより安価です。

ワークフロー概要

ステップツール処理内容2Slidesエンドポイント / クレジット
1CRM(HubSpot、Salesforce、Pipedrive)案件ステージがClosed Wonに変わりWebhook発火(案件ID付き)なし
2n8n Webhook + HTTP Request + Set案件、連絡先、メモを取得しプロンプトにマッピングなし
3n8n HTTP Request固定のthemeIdmode: "async"でプロンプトを送信POST /api/v1/slides/generate、10クレジット/ページ
4n8n Wait + HTTP Request10秒ごとにstatussuccessまたはfailedになるまでポーリングGET /api/v1/jobs/{jobId}、無料
5n8n SlackまたはEmailノードdownloadUrlをCSMに投稿しCRMに書き戻すなし
6n8n スケジュールトリガー + データウェアハウスクエリ(85日目)利用状況メトリクスを取得し90日レビュー用プロンプトを作成POST /api/v1/slides/generate、10クレジット/ページ
7オプションのプレミアムパスブランドスライドをreferenceImageUrlにして画像デザインのレビュー用デッキ作成POST /api/v1/slides/create-like-this、10 + 100クレジット/ページ

ステップ1:APIキーを取得し認証を確認

2slides.com/apiのAPI Keysタブでキーを作成。すべてのアカウントは登録時に500クレジット(キックオフデッキ6枚分)を無料付与され、サブスクリプションなしでキーが使えます。n8nではHeader Auth認証情報として、スケジューラーではSLIDES_API_KEYとして保存し、ノードの本文やブラウザ側スクリプトに直接貼り付けないでください。

2Slides API reference: base URL and Bearer authentication
図1: 2slides.com/apiのAPIリファレンス。すべての呼び出しで使うベースURLとBearerヘッダーを示す。

認証を確認するには以下を実行:

curl https://2slides.com/api/v1/echo \ -H "Authorization: Bearer $SLIDES_API_KEY"

200レスポンスなら認証成功。401はキーの末尾に空白が入っていることが多いです。

ステップ2:オンボーディング用テーマを1つ選んで固定

テンプレートライブラリを一度検索し、クリーンなカバー、タイムラインレイアウト、連絡先レイアウトがあるテーマを選び、そのthemeIdをハードコードします。検索は無料で、1,500以上のテンプレートのthemeIdとメタデータを返します。

curl "https://2slides.com/api/v1/themes/search?query=customer%20onboarding%20timeline&limit=5" \ -H "Authorization: Bearer $SLIDES_API_KEY"

2Slides Templates Hub for choosing one consistent onboarding theme
図2: Templates Hubでテーマを視覚的にプレビューし、ワークフローに使うthemeIdをコピー。

1つのthemeIdでオンボーディングプレゼン自動化をブランド統一

ブランドの一貫性は1つの決定から生まれます:すべてのキックオフデッキと90日レビューで同じthemeIdを使うこと。顧客は1日目も90日目も同じ色とレイアウトを見て、CSMはスタイルを変更しません。デザインチームが承認済みテンプレートを持っている場合は、ブランドテンプレートの自動入力ガイドでライブラリに登録し、themeIdを自社デザインに向けられます。

プレミアムオプション:ブランドスライドを使ったcreate-like-this

戦略的アカウント向けに、Fast PPT呼び出しをPOST /api/v1/slides/create-like-thisに切り替え、承認済みブランドスライドの公開URLをreferenceImageUrlに渡します。パイプラインはその画像からデザインシステムを推測し、画像デザインのスライドをPDFとページごとの画像で返します。出力は編集不可のPPTXではないため、CSMが編集するよりプレゼン用に使います。10ページあたり10クレジット+100クレジットで約2,000クレジット。

ステップ3:CRMフィールドをプロンプトテンプレートに変換

Fast PPTパスはCSMがFast PPTで手動で使う流れと同じ:内容を貼り付け、テーマを選び、PPTXを受け取る。APIは貼り付け作業を自動化します。あなたの仕事はテンプレートとして一度だけ貼り付け内容を上手に書くこと。

2Slides Fast PPT: paste content or import from Notion, Google Docs, OneDrive, Dropbox and generate an editable deck
図3: WebアプリのFast PPT。generateエンドポイントはテキストボックスの代わりにWebhookから同じ処理を行う。

n8nのSetノードでCRMプロパティを汎用名にマッピングし、どのCRMでも使えるようにします:companycsmNameplanseatsstartDatedealNotes(発見メモや「顧客目標」フィールド)、contacts(役職、スポンサー、管理者フラグ)。次に以下のようなテンプレートでuserInputを組み立てます(n8n式構文):

Create a customer onboarding kickoff deck for {{ $json.company }}, a new customer of Northstar Analytics. CSM: {{ $json.csmName }}. Plan: {{ $json.plan }}, {{ $json.seats }} seats, contract start {{ $json.startDate }}. Goals from the sales notes: {{ $json.dealNotes }} Key contacts: {{ $json.contacts }} Build exactly 8 slides: 1. Welcome cover with the customer name, kickoff date and CSM name 2. What you purchased: plan, seats, modules, contract dates 3. Your three goals, rewritten as measurable outcomes 4. Days 1-30: SSO, data import, admin training 5. Days 31-60: team rollout, first dashboards, adoption target 6. Days 61-90: review prep, success criteria check 7. Your team: CSM, solutions engineer, support channel, executive sponsors on both sides 8. Next steps with owners and dates before the kickoff call Use only facts from the notes above. Where a detail is missing, insert a bracketed placeholder such as [CSM to confirm] so it is easy to find in PowerPoint.

角括弧のプレースホルダー指示は重要です:出力は編集可能なPPTXなので、CSMは[を検索して2分で空欄を埋められ、8枚すべてを校正するより速いです。

以下は現実的な値を使った呼び出し例(デフォルトの同期モードで、完成デッキを1レスポンスで返します):

curl -X POST https://2slides.com/api/v1/slides/generate \ -H "Authorization: Bearer $SLIDES_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "themeId": "YOUR_ONBOARDING_THEME_ID", "responseLanguage": "English", "mode": "sync", "userInput": "Create a customer onboarding kickoff deck for Acme Logistics, a new customer of Northstar Analytics. CSM: Priya Shah. Plan: Business, 120 seats, contract start 2026-10-01. Goals from the sales notes: replace weekly Excel fleet reports with live dashboards; cut month-end reporting from 5 days to 1; give 40 regional managers self-serve access. Key contacts: Dana Ortiz (VP Operations, executive sponsor), Luis Ferreira (BI lead, admin). Build exactly 8 slides: 1 welcome cover with customer name, kickoff date and CSM; 2 what you purchased; 3 the three goals as measurable outcomes; 4 days 1-30 (SSO, data import, admin training); 5 days 31-60 (regional manager rollout, first 5 dashboards); 6 days 61-90 (review prep, success criteria check); 7 your team and support channels; 8 next steps with owners and dates. Where a detail is missing, insert a bracketed placeholder for the CSM to fill in." }'

レスポンスは { "success": true, "data": { "jobId": "...", "status": "success", "downloadUrl": "https://..." } } の形。8ページで80クレジット。ダウンロードリンクに依存せず、自分のストレージにコピーしてください。

ステップ4:n8nでClosed-Won Webhookから顧客オンボーディングデッキを自動化

これは成約済みWebhookからスライド作成までの流れ。CRMごとにWebhook発火の仕様が異なります:

  • HubSpot:プライベートアプリでdeal.propertyChangedealstageを購読し、n8nでclosedwonをフィルター。ペイロードはIDのみなので後でレコードを取得(HubSpot Webhookドキュメント)。
  • Pipedrive:更新済み案件イベントを購読し、status = wonでフィルター。
  • SalesforceStageName = Closed Wonのレコードトリガーフローでn8nのWebhook URLにHTTPコールアウト。

n8nのノード構成:

  • Webhookトリガー(POST):CRMペイロード受信。
  • IF:ステージがClosed Wonかつonboarding_deck_urlが空の場合のみ続行。Webhook再送で重複デッキ作成防止。
  • HTTP Request(GET, CRM API):案件、連絡先、メモを取得。
  • Setノード:ステップ3のフィールドをマッピングしuserInputを組み立て。
  • HTTP Request(POST generate)https://2slides.com/api/v1/slides/generateにHeader Auth認証とJSONボディ(themeIduserInputresponseLanguage: "English"mode: "async")を送信。非同期は1秒未満でdata.jobIdを返すため、n8nは長時間接続を保持しない。
  • Waitノード:10秒待機。
  • HTTP Request(GET jobs)https://2slides.com/api/v1/jobs/{{ $json.data.jobId }}
  • IFsuccessなら続行、pendingまたはprocessingならWaitに戻る、failedならSlackでopsチャンネルにアラート。
  • Slackノード(またはGmail/Outlook):CSMに顧客名、downloadUrl、キックオフ日、案件リンクをメッセージ。
  • HTTP Request(PATCH, CRM API)downloadUrlonboarding_deck_urlに書き戻し、次回IFノードで検知。

四半期末に20件の案件が1時間以内に成立する場合は、送信前に10秒Waitを入れたバッチループを追加。generateは1キーあたり1分間に6リクエスト、ジョブ取得は10リクエストまで。詳しくはn8nと2SlidesのウォークスルーHubSpot営業デッキ自動化記事を参照。

公平を期すために:GammaのAPI(developers.gamma.app)も似たn8n+HubSpotオンボーディングデッキレシピを公開。Gamma APIキーはProプラン必須、2Slidesキーはどのアカウントでも使えます。2Slidesは当社製品なので比較時はご留意ください。n8n HTTP Requestノードドキュメントは両レシピ共通です。

ステップ5:85日目にQBRデッキ自動化をスケジュール

キックオフデッキは言葉ベース、レビューは数値ベースなのでトリガーはWebhookからスケジュールに変わります。n8nの毎日Schedule Trigger(またはcronジョブ)が85日前のkickoff_dateを持つ顧客を選び、データウェアハウスや分析APIから利用状況メトリクスを取得し10ページレビュー用デッキを生成。5日間のリードタイムでCSMが数値を検証しプレースホルダーを修正して90日コールに備えられます。

数値は8〜12個に抑えましょう。多すぎるとダッシュボードのエクスポートのように読みにくくなります。QBRデッキガイドに90日以降の四半期レビュー用スライド構成があります。

以下はNode.js版の完全な送信・ポーリング・ダウンロードループで、四半期QBRデッキ自動化APIジョブにも流用可能です:

// review-deck.mjs (Node 20+, no dependencies) // Run daily from a scheduler: SLIDES_API_KEY=... ONBOARDING_THEME_ID=... node review-deck.mjs const BASE = "https://2slides.com"; const HEADERS = { Authorization: `Bearer ${process.env.SLIDES_API_KEY}`, "Content-Type": "application/json", }; const THEME_ID = process.env.ONBOARDING_THEME_ID; // same theme as the kickoff deck const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms)); function buildPrompt(c) { return `Create a 90-day customer review deck for ${c.company}, a customer of Northstar Analytics. Audience: ${c.sponsor} (executive sponsor) and ${c.admin} (admin). Presenter: ${c.csmName}. Kickoff goals: ${c.goals.join("; ")}. Usage for days 1-85: ${c.weeklyActiveUsers} weekly active users of ${c.seats} seats (${c.adoptionPct}% adoption), ${c.dashboards} dashboards published, ${c.reportsAutomated} recurring reports automated, ${c.ticketsOpened} support tickets opened (${c.ticketsOpen} still open), active in ${c.weeksActive} of 12 weeks. Build exactly 10 slides: 1 cover; 2 executive summary in three sentences; 3 goals vs outcomes table; 4 adoption trend; 5 feature adoption; 6 business impact using the numbers above; 7 open issues and owners; 8 roadmap items that match their goals; 9 plan for days 91-180; 10 next steps with owners and dates. Use only the numbers given. Where a number is missing, write [CSM to confirm].`; } async function generateDeck(customer) { const submit = await fetch(`${BASE}/api/v1/slides/generate`, { method: "POST", headers: HEADERS, body: JSON.stringify({ themeId: THEME_ID, userInput: buildPrompt(customer), responseLanguage: customer.language ?? "English", // a language name such as "Spanish", not a code mode: "async", }), }); const submitted = await submit.json(); if (!submitted.success) throw new Error(submitted.error); const jobId = submitted.data.jobId; // Poll every 10 s. The jobs endpoint is free and allows 10 requests per minute. for (;;) { await sleep(10_000); const res = await fetch(`${BASE}/api/v1/jobs/${jobId}`, { headers: HEADERS }); const { data } = await res.json(); if (data.status === "success") return data.downloadUrl; if (data.status === "failed") throw new Error(`Job ${jobId} failed`); } } async function main() { // Your warehouse query: customers where kickoff_date = today minus 85 days const customers = await loadCustomersDueForReview(); for (const c of customers) { const url = await generateDeck(c); const file = await fetch(url); await saveToStorage(`${c.company}-90-day-review.pptx`, Buffer.from(await file.arrayBuffer())); await notifyCsm(c.csmName, c.company, url); // Slack or email, your implementation await sleep(10_000); // keeps generate calls under 6 per minute } } main().catch((err) => { console.error(err); process.exit(1); });

10ページのレビュー用デッキは100クレジット(約0.25ドル)。ループは意図的に1顧客ずつ処理し、10秒間隔で30顧客が同日に85日目を迎えてもレート制限内に収まります。

良い90日レビュー用デッキの例

レビュー用プロンプトを確定する前に、メトリクス駆動型デッキの強みを確認しましょう。以下2枚は2SlidesギャラリーのGrab投資家向けアップデートからの参照デッキで、API出力ではなくデザインの参考例です。

Grab investor update reference slides from the 2Slides Gallery showing metric-driven review layouts
図4: スライドごとに1つの主要指標を見せ、トレンドと理由を並べて示す。

Grab investor update reference slides from the 2Slides Gallery showing metric-driven review layouts
図5: 目標と成果の対比構造。90日レビューでそのまま使える。

3つの教訓:

  • スライド1枚につき1つの数値を示し、12個の表は避ける。
  • 各指標を顧客のキックオフ目標と結びつけ、レビューで開いたループを閉じる。
  • 未解決課題は担当者付きで専用スライドを設ける。

この視覚言語をテンプレートテーマの代わりに使うには、これらのスライドURLのいずれかをreferenceImageUrlとしてcreate-like-thisに渡します。

費用について

Fast PPTは1ページ10クレジット。クレジット単価は2,000クレジットの5ドルパックで0.0025ドル、40,000クレジットの80ドルパックで0.002ドル。顧客1件あたり8ページキックオフ+10ページレビューを想定。

ボリューム月あたりデッキ数月あたりクレジットおおよその費用
新規顧客20件キックオフ20 + レビュー20 = 4020×80 + 20×100 = 3,600約9ドル(5ドルパック2つで4,000クレジット)
新規顧客500件キックオフ500 + レビュー500 = 1,000500×80 + 500×100 = 90,000約180ドル(80ドルパック40,000クレジット×2.25)
プレミアム:画像デザインレビュー20件(2K、10ページ)2020×(10 + 1,000) = 20,200約43ドル(42.50ドルパック20,000クレジット)

20顧客規模では、API費用は両デッキ合わせて1顧客あたり0.45ドルで、手動版のCSM作業30時間/月に比べて大幅なコスト削減。

このユースケースにFast PPTと画像デザインスライドのどちらが良い?

質問Fast PPT generate(編集可能PPTX)create-pdf-slides / create-like-this(画像デザイン)
CSMはコール前に編集する?はい、キックオフデッキのデフォルトいいえ、PDFとページ画像で編集不可
10ページの費用100クレジット(約0.25ドル)2Kで1,010クレジット(約2.53ドル)
ブランドコントロール1つのthemeIdまたは自社アップロードテンプレート1つのreferenceImageUrlから派生したデザインシステム
ナレーションや動画レビュー用MP4は?非対応generate-narration(210クレジット/ページ)+download-slides-pages-voices

目安:キックオフデッキは編集が必須なのでFast PPT一択。90日レビューは基本Fast PPTで、トップティアアカウントやナレーション動画はcreate-like-thisを使う。

よくある落とし穴

  • 四半期末の大量処理でレート制限にかかる。 generateは1キーあたり1分間に6リクエスト。Webhookごとに並列実行せず10秒Waitで直列化。
  • APIキーの管理場所が誤っている。 キーはn8n認証情報かサーバー環境変数に保管。ブラウザウィジェットやクライアント側CRMカードからAPIを呼ばない。
  • Fast PPTデッキのナレーションを試みる。 generate-narrationcreate-pdf-slidescreate-like-thisのみ対応。ナレーション動画は最初からcreate-like-thisで生成。
  • 言語コードではなく言語名を使う。 responseLanguage"Spanish""Japanese"など言語名。CRMのロケールフィールドをSetノードで言語名にマッピング。
  • 案件タイムライン全文をプロンプトに入れる。 20ページの通話メモは混乱したデッキに。Codeノードで3つの目標と5つの事実に要約するか、専用の「顧客目標」CRMプロパティを使う。
  • Webhook再送でデッキが重複作成される。 CRMはタイムアウト時に再送する。downloadUrlを案件に書き戻し、生成前に存在をチェック。

よくある質問

n8nなしで顧客オンボーディングデッキを自動化できますか?

はい。ワークフローはHTTP呼び出し2回とポーリング1回なので、Zapier、Make、Salesforce FlowのHTTPコールアウト、ステップ5の60行Node.jsスクリプトなども可能。n8nはWaitとIFノードでポーリングループが見える化され便利ですが、エンドポイントと1ページあたり10クレジットの料金はどのオーケストレーターでも同じです。

成約後、キックオフデッキの生成にどれくらいかかりますか?

Fast PPTデッキは通常30秒程度で完成。非同期フローでは送信で1秒未満にjobIdを受け取り、10秒後の最初のポーリングでprocessing、2〜3回目のポーリングでsuccessdownloadUrlが返ります。CSMはステージ変更から1分以内にSlack通知を受け取ることが多いです。

CSMは生成されたオンボーディングデッキを編集できますか?

はい。generateエンドポイントはデザイン済みテンプレートからネイティブPPTXを返すため、PowerPoint、Keynote、Google Slidesでテキスト、順序、レイアウトを編集可能。ステップ3のプロンプトはCRMに情報がない箇所に[CSM to confirm]のプレースホルダーを入れるため、編集は書き直しではなく簡単な検索&置換になります。

90日レビュー用デッキはどんなデータを取り込むべきですか?

8〜12個の数値を渡します:座席数に対する週次アクティブユーザー数、採用機能数、ワークフローやレポートの自動化数、開いたサポートチケット数と未解決数、12週間中のアクティブ週数、各キックオフ目標の進捗。85日目に取得し、CSMが5日間検証して90日コールに備えます。元の目標も含めてループを閉じます。

この顧客成功プレゼン生成ツールは非英語顧客に対応していますか?

はい。responseLanguage"Spanish""Portuguese""Japanese"など言語名を指定すると、デッキ内容はその言語で作成され、テーマは同じままです。2Slidesは20以上の出力言語をサポート。CRMのロケールフィールドをSetノードで言語名にマッピングし、顧客ごとに作業言語のデッキを自動配信できます。

次のステップ

About 2Slides

Create stunning AI-powered presentations in seconds. Transform your ideas into professional slides with 2slides AI Agent.

Try For Free