

Автоматизация презентаций по внедрению клиентов из закрытых сделок (2026)
Для автоматизации презентаций по внедрению клиентов запускайте webhook при переходе сделки в статус Closed Won в HubSpot, Salesforce или Pipedrive, сопоставляйте поля сделки в промпт с помощью узла Set в n8n и вызывайте эндпоинт 2Slides POST /api/v1/slides/generate, чтобы получить редактируемый PPTX из одной фиксированной темы. Второй, запланированный workflow формирует презентацию обзора за 90 дней на основе метрик использования. Каждая 8-страничная стартовая презентация стоит 80 кредитов, примерно $0.20, и появляется в Slack менеджера по работе с клиентами примерно через 30 секунд после закрытия сделки. Создано для специалистов Customer Success и инженеров RevOps.
Основные выводы
- Один webhook на Closed-Won и два HTTP Request узла в n8n превращают поля сделки CRM в 8-страничную редактируемую презентацию по внедрению за 80 кредитов (около $0.20).
- Эндпоинт Fast PPT
generateвозвращает нативный PPTX, так что менеджер по работе с клиентами редактирует план на 30/60/90 дней перед стартовым звонком, а не собирает его заново. - Запланированный workflow запускается через 85 дней после старта, подтягивает метрики использования из вашего хранилища и генерирует 10-страничную презентацию обзора за 90 дней за 100 кредитов.
- Один
themeIdдля каждого клиента обеспечивает брендированность презентаций;create-like-thisс вашим бренд-слайдом вreferenceImageUrlсоздаёт версию с дизайном из изображения за 1,010 кредитов за 10 страниц. - API позволяет 6 запросов в минуту на ключ, поэтому при массовом закрытии сделок в конце квартала нужна очередь с интервалом 10 секунд.
Для кого это
Вы управляете операциями Customer Success или RevOps, и каждый новый клиент требует одинаковых 45 минут работы: копировать заметки по сделке в шаблон презентации, переписывать цели, составлять план на 90 дней, а затем повторять с цифрами по использованию перед первым бизнес-обзором. Этот рецепт убирает слой копирования и вставки, оставляя менеджера по работе с клиентами контролировать итоговый PPTX.
Пропустите этот рецепт, если ваша презентация по внедрению — это один статичный PDF, который не меняется для каждого клиента; в таком случае проще использовать общую ссылку, чем генератор презентаций для Customer Success.
Обзор workflow
| Шаг | Инструмент | Что происходит | Эндпоинт 2Slides / кредиты |
|---|---|---|---|
| 1 | CRM (HubSpot, Salesforce, Pipedrive) | Статус сделки меняется на Closed Won; срабатывает webhook с ID сделки | нет |
| 2 | n8n Webhook + HTTP Request + Set | Получение сделки, контактов и заметок; маппинг в промпт | нет |
| 3 | n8n HTTP Request | Отправка промпта с фиксированным themeId и mode: "async" | POST /api/v1/slides/generate, 10 кредитов/страница |
| 4 | n8n Wait + HTTP Request | Опрос каждые 10 секунд до status = success или failed | GET /api/v1/jobs/{jobId}, бесплатно |
| 5 | n8n Slack или Email узел | Отправка downloadUrl менеджеру по работе с клиентами; запись обратно в CRM | нет |
| 6 | n8n Schedule Trigger + запрос в хранилище (день 85) | Получение метрик использования, формирование промпта для обзора за 90 дней | POST /api/v1/slides/generate, 10 кредитов/страница |
| 7 | Опциональный премиум путь | Бренд-слайд в referenceImageUrl для презентации с дизайном из изображения | POST /api/v1/slides/create-like-this, 10 + 100 кредитов/страница |
Шаг 1: Получите API-ключ и подтвердите аутентификацию
Создайте ключ на вкладке API Keys на 2slides.com/api. Каждый аккаунт получает 500 бесплатных кредитов при регистрации — достаточно для 6 стартовых презентаций, и ключ работает без подписки. Сохраните его в n8n как Header Auth credential и в вашем планировщике как SLIDES_API_KEY; никогда не вставляйте ключ напрямую в тело узла или скрипт на стороне браузера.

Проверьте ключ перед настройкой остального:
curl https://2slides.com/api/v1/echo \
-H "Authorization: Bearer $SLIDES_API_KEY"Ответ 200 означает, что аутентификация работает. Ошибка 401 обычно означает лишний пробел в конце вставленного ключа.
Шаг 2: Выберите одну тему для презентации по внедрению и закрепите её
Один раз найдите в библиотеке шаблон с чистой обложкой, таймлайном и макетом контактов, и зафиксируйте его themeId. Поиск бесплатен и возвращает themeId и метаданные из более чем 1500 шаблонов.
curl "https://2slides.com/api/v1/themes/search?query=customer%20onboarding%20timeline&limit=5" \
-H "Authorization: Bearer $SLIDES_API_KEY"
Поддерживайте брендирование презентаций по внедрению с одним themeId
Брендирование достигается одним решением: каждая стартовая презентация и каждый обзор за 90 дней используют один и тот же themeId. Клиент видит одинаковые цвета и макеты в день 1 и день 90, а менеджер по работе с клиентами не тратит время на изменение стилей. Если у вашей дизайн-команды есть утверждённый шаблон, руководство по заполнению шаблона с брендом покажет, как добавить его в библиотеку, чтобы ваш themeId указывал на ваш дизайн.
Премиум-опция: create-like-this с вашим бренд-слайдом
Для стратегических клиентов замените вызов Fast PPT на POST /api/v1/slides/create-like-this и передайте публичный URL одного утверждённого бренд-слайда в referenceImageUrl. Пайплайн выведет всю систему дизайна из этого изображения и вернёт слайды с дизайном из изображения в PDF и по страницам. Выход не редактируемый PPTX, используйте для презентаций, которые менеджер по работе с клиентами показывает, а не редактирует; бюджетируйте 10 кредитов за планирование плюс 100 кредитов за страницу при 2К.
Шаг 3: Превратите поля CRM в шаблон промпта
Путь Fast PPT — это то, что менеджер по работе с клиентами использует вручную в Fast PPT: вставить контент, выбрать тему, получить PPTX. API автоматизирует вставку. Ваша задача — один раз хорошо написать шаблон вставки.

В узле Set в n8n сопоставьте свойства CRM с общими именами, чтобы шаблон работал с любой CRM: company, csmName, plan, seats, startDate, dealNotes (заметки по сделке или поле "цели клиента") и 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, менеджер по работе с клиентами может быстро найти все [ и заполнить пробелы за пару минут вместо проверки восьми слайдов на выдуманные детали.
Вот пример вызова с реалистичными значениями в режиме по умолчанию sync, который возвращает готовую презентацию в одном ответе:
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://..." } }. Восемь страниц стоят 80 кредитов. Скопируйте файл в своё хранилище, не полагайтесь на ссылку скачивания в долгосрочной перспективе.
Шаг 4: Автоматизируйте презентации по внедрению из webhook Closed-Won в n8n
Это путь от webhook закрытой сделки к слайдам. Каждый CRM срабатывает немного по-своему:
- HubSpot: подпишитесь на
deal.propertyChangeпо полюdealstageв приватном приложении и фильтруйте в n8n поclosedwon. В нагрузке передаются ID, а не вся сделка, поэтому после нужно получить запись (документация HubSpot по webhook). - Pipedrive: подпишитесь на событие "обновленная сделка" и фильтруйте по
status = won. - Salesforce: Flow с триггером на запись Opportunity, где
StageName = Closed Won, с HTTP вызовом на URL webhook n8n.
Workflow n8n по узлам:
- Webhook trigger (POST): получает нагрузку CRM.
- IF: продолжает только если стадия Closed Won и
onboarding_deck_urlпуст, чтобы повторные webhook не создавали вторую презентацию. - HTTP Request (GET, CRM API): получает сделку, контакты и заметки.
- Set node: маппит поля из Шага 3 и собирает
userInput. - HTTP Request (POST generate):
https://2slides.com/api/v1/slides/generateс Header Auth и JSON телом{ themeId, userInput, responseLanguage: "English", mode: "async" }. Async возвращаетdata.jobIdменее чем за секунду, так что n8n не держит долгое соединение. - Wait node: 10 секунд.
- HTTP Request (GET jobs):
https://2slides.com/api/v1/jobs/{{ $json.data.jobId }}. - IF:
success— продолжить;pendingилиprocessing— вернуться к Wait;failed— отправить оповещение в Slack в канал ops. - Slack node (или Gmail/Outlook): отправить менеджеру по работе с клиентами сообщение с именем клиента,
downloadUrl, датой старта и ссылкой на сделку. - HTTP Request (PATCH, CRM API): записать
downloadUrlобратно вonboarding_deck_url, чтобы IF узел видел это при следующем запуске.
Если ваша команда закрывает 20 сделок в последний час квартала, добавьте цикл с ожиданием 10 секунд перед каждой отправкой; generate позволяет 6 запросов в минуту на ключ, а эндпоинт jobs — 10 запросов в минуту. Руководство по n8n и 2Slides подробно описывает настройку учётных данных и опрос, а пост об автоматизации sales deck в HubSpot показывает тот же паттерн для пред-продажных презентаций.
Для справедливости: API Gamma (developers.gamma.app) описывает похожий рецепт с n8n и HubSpot для презентаций по внедрению. Ключи Gamma требуют Pro-план, а ключи 2Slides работают на любом аккаунте; 2Slides — наш продукт, учитывайте это при сравнении. Документация узла HTTP Request в n8n применима к обоим рецептам.
Шаг 5: Запланируйте автоматизацию QBR-презентации на 85-й день
Стартовые презентации строятся из слов; обзорные — из цифр, поэтому триггер меняется с webhook на расписание. Ежедневный Schedule Trigger в n8n (или cron) выбирает клиентов, у которых kickoff_date был 85 дней назад, подтягивает метрики использования из хранилища или API аналитики и генерирует 10-страничный обзор. Пять дней запаса дают менеджеру по работе с клиентами время проверить цифры и исправить заполнители перед звонком на 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. Цикл обрабатывает по одному клиенту за раз намеренно; с интервалом 10 секунд вы не превысите лимит даже если 30 клиентов достигают 85-го дня в один день.
Как выглядит хорошая 90-дневная обзорная презентация
Перед финализацией промпта обзора посмотрите, как сильные презентации, основанные на метриках, решают задачу. Два слайда ниже взяты из отчёта для инвесторов Grab, размещённого в галерее 2Slides; это референсные презентации для вдохновения дизайном, а не вывод API из этого workflow.


Три урока из этого:
- Ведите с одним числом на слайд, а не таблицей из двенадцати.
- Сопоставляйте каждую метрику с целью клиента из старта, чтобы обзор замыкал цикл, который они помнят.
- Выделяйте открытые вопросы на отдельный слайд с ответственными.
Чтобы повторно использовать этот визуальный язык вместо темы шаблона, передайте один из этих URL слайдов в referenceImageUrl для create-like-this.
Стоимость
Fast PPT стоит 10 кредитов за страницу. Кредиты стоят $0.0025 за штуку в пакете $5 (2,000 кредитов) и $0.002 в пакете $80 (40,000 кредитов). Предположим 8-страничную стартовую презентацию и 10-страничную обзорную на клиента.
| Объём | Презентаций в месяц | Кредитов в месяц | Приблизительная стоимость |
|---|---|---|---|
| 20 новых клиентов | 20 старт + 20 обзор = 40 | 20 x 80 + 20 x 100 = 3,600 | $9 (два пакета по $5 покрывают 4,000 кредитов) |
| 500 новых клиентов | 500 старт + 500 обзор = 1,000 | 500 x 80 + 500 x 100 = 90,000 | около $180 при пакете $80 = 40,000 |
| Премиум: 20 обзорных презентаций с дизайном из изображения (2K, 10 страниц) | 20 | 20 x (10 + 1,000) = 20,200 | около $43 (пакет за $42.50 содержит 20,000 кредитов) |
При объёме 20 клиентов стоимость API — $0.45 за клиента за обе презентации, против примерно 30 часов работы менеджера по работе с клиентами в месяц вручную.
Fast PPT или слайды с дизайном из изображения для этого кейса?
| Вопрос | Fast PPT generate (редактируемый PPTX) | create-pdf-slides / create-like-this (дизайн из изображения) |
|---|---|---|
| Будет ли менеджер по работе с клиентами редактировать перед звонком? | Да, по умолчанию для стартовых презентаций | Нет, выход — PDF и изображения страниц |
| Стоимость за 10 страниц | 100 кредитов, около $0.25 | 1,010 кредитов при 2K, около $2.53 |
| Контроль бренда | Один themeId или ваш загруженный шаблон | Система дизайна из одного referenceImageUrl |
| Озвучка или MP4 для видеообзора? | Не поддерживается | generate-narration (210 кредитов/страница) + download-slides-pages-voices |
Правило: стартовые презентации всегда Fast PPT, потому что их редактируют. Для обзоров за 90 дней по умолчанию используйте Fast PPT, а create-like-this оставьте для топовых клиентов или озвученного видео, которое спонсор может посмотреть без встречи.
Частые ошибки
- Всплески в конце квартала превышают лимит запросов.
generateпозволяет 6 запросов в минуту на ключ. Последовательно отправляйте запросы с ожиданием 10 секунд, а не запускайте по одному исполнению на каждый webhook. - API-ключ в неправильном месте. Храните ключ в учётных данных n8n или переменной окружения сервера. Никогда не вызывайте API из виджета браузера или клиентской карточки CRM.
- Попытка озвучить Fast PPT презентацию.
generate-narrationпринимает задания только отcreate-pdf-slidesиcreate-like-this. Для озвученного видео обзора сразу генерируйте обзор черезcreate-like-this. - Коды языков вместо названий.
responseLanguageпринимает"Spanish"или"Japanese", а неesилиja. Преобразуйте поле локали CRM в название языка в узле Set. - Вставка всей истории сделки в промпт. Двадцать страниц заметок создают запутанную презентацию. Сначала сократите до 3 целей и 5 фактов в узле Code или используйте отдельное поле CRM "цели клиента".
- Дублирование презентаций из-за повторных webhook. CRM повторно отправляют webhook при таймаутах. Записывайте
downloadUrlобратно в сделку и проверяйте его перед генерацией.
Часто задаваемые вопросы
Можно ли автоматизировать презентации по внедрению без n8n?
Да. Workflow — это два HTTP вызова и опрос, так что Zapier, Make, Salesforce Flow с HTTP вызовом или 60-строчный скрипт Node.js из Шага 5 тоже подойдут. n8n удобен, потому что узлы Wait и IF делают цикл опроса видимым, но эндпоинты и стоимость 10 кредитов за страницу одинаковы в любом оркестраторе.
Сколько времени занимает генерация стартовой презентации после закрытия сделки?
Fast PPT презентации обычно готовы примерно за 30 секунд. В асинхронном режиме вызов submit возвращает jobId менее чем за секунду, первый опрос через 10 секунд обычно показывает processing, а второй или третий — success с downloadUrl. Менеджер по работе с клиентами обычно получает сообщение в Slack в течение минуты после изменения стадии.
Может ли менеджер по работе с клиентами редактировать сгенерированную презентацию по внедрению?
Да. Эндпоинт generate возвращает нативный PPTX, построенный на основе шаблона, так что текст, порядок и макеты редактируемы в PowerPoint, Keynote или Google Slides. В промпте из Шага 3 есть заполнители [CSM to confirm] там, где в CRM нет данных, что превращает редактирование в быстрое поиск и заполнение, а не переписывание.
Какие данные должна подтягивать обзорная презентация за 90 дней?
Передавайте 8–12 чисел: еженедельных активных пользователей из общего числа мест, использованные функции, автоматизированные отчёты или рабочие процессы, открытые и ещё открытые тикеты поддержки, количество активных недель из 12 и прогресс по каждой цели старта. Подтягивайте их на 85-й день, чтобы менеджер по работе с клиентами имел 5 дней на проверку перед звонком, и включайте исходные цели, чтобы презентация замыкала цикл.
Поддерживает ли этот генератор презентаций Customer Success клиентов, говорящих не на английском?
Да. Установите responseLanguage в название языка, например "Spanish", "Portuguese" или "Japanese", и содержимое презентации будет на этом языке, а тема останется той же. 2Slides поддерживает более 20 языков вывода. Преобразуйте поле локали CRM в название языка в узле Set, чтобы каждый клиент автоматически получал презентацию на своём рабочем языке.
Следующие шаги
- Получите API-ключ на 2slides.com/api. 500 бесплатных кредитов хватит на 6 стартовых презентаций, чтобы автоматизировать внедрение клиентов из нескольких закрытых сделок перед покупкой.
- Посмотрите, как другие команды используют те же эндпоинты в хабе AI presentation API use cases by team.
- Расширьте пайплайн с помощью руководства по QBR-презентациям для второго квартала и далее, а также руководства по заполнению шаблона с брендом, чтобы направить
themeIdна ваш утверждённый дизайн.
About 2Slides
Create stunning AI-powered presentations in seconds. Transform your ideas into professional slides with 2slides AI Agent.
Try For Free