

Automatyzacja prezentacji onboardingowych klientów z zamkniętych wygranych transakcji (2026)
Aby zautomatyzować prezentacje onboardingowe klientów, wyzwól webhook, gdy transakcja osiągnie status Closed Won w HubSpot, Salesforce lub Pipedrive, zmapuj pola transakcji do promptu za pomocą węzła Set w n8n i wywołaj endpoint 2Slides POST /api/v1/slides/generate, aby otrzymać edytowalny plik PPTX z jednego stałego motywu. Drugi, zaplanowany workflow tworzy prezentację przeglądową po 90 dniach na podstawie metryk użytkowania. Każda 8-stronicowa prezentacja kickoff kosztuje 80 kredytów, około 0,20 USD, i trafia na Slack CSM około 30 sekund po zamknięciu transakcji. Stworzone dla zespołów Customer Success i inżynierów RevOps.
Kluczowe wnioski
- Jeden webhook Closed-Won plus dwa węzły HTTP Request w n8n zamieniają pola transakcji CRM w 8-stronicową edytowalną prezentację onboardingową za 80 kredytów (około 0,20 USD).
- Endpoint Fast PPT
generatezwraca natywny plik PPTX, więc CSM może edytować plan na 30/60/90 dni przed rozmową kickoff, zamiast go odtwarzać. - Zaplanowany workflow uruchamia się 85 dni po kickoff, pobiera metryki adopcji z magazynu danych i generuje 10-stronicową prezentację przeglądową po 90 dniach za 100 kredytów.
- Jeden
themeIddla każdego klienta utrzymuje prezentacje w zgodzie z marką;create-like-thisz Twoim slajdem marki jakoreferenceImageUrldaje wersję zaprojektowaną graficznie za 1 010 kredytów za 10 stron. - API pozwala na 6 zapytań na minutę na klucz, więc przy zamknięciach na koniec kwartału potrzebna jest kolejka z 10-sekundową przerwą.
Dla kogo to jest
Prowadzisz operacje Customer Success lub RevOps i każdy nowy klient wymaga tych samych 45 minut pracy: kopiujesz notatki z transakcji do szablonu kickoff, przepisujesz cele, tworzysz plan na 90 dni, a potem powtarzasz to z danymi o użytkowaniu przed pierwszym przeglądem biznesowym. Ten przepis usuwa etap kopiuj-wklej, pozostawiając CSM kontrolę nad finalnym plikiem PPTX.
Pomiń ten przepis, jeśli Twoja prezentacja onboardingowa to jeden statyczny PDF, który nigdy się nie zmienia dla klienta; link udostępniony jest tańszy niż jakikolwiek generator prezentacji Customer Success.
Workflow w skrócie
| Krok | Narzędzie | Co się dzieje | Endpoint 2Slides / kredyty |
|---|---|---|---|
| 1 | CRM (HubSpot, Salesforce, Pipedrive) | Zmiana etapu transakcji na Closed Won; wyzwala webhook z ID transakcji | brak |
| 2 | n8n Webhook + HTTP Request + Set | Pobiera transakcję, kontakty i notatki; mapuje je do promptu | brak |
| 3 | n8n HTTP Request | Wysyła prompt z ustalonym themeId i mode: "async" | POST /api/v1/slides/generate, 10 kredytów/strona |
| 4 | n8n Wait + HTTP Request | Polling co 10 s aż status będzie success lub failed | GET /api/v1/jobs/{jobId}, bezpłatne |
| 5 | n8n Slack lub Email | Wysyła downloadUrl do CSM; zapisuje w CRM | brak |
| 6 | n8n Schedule Trigger + zapytanie do magazynu danych (dzień 85) | Pobiera metryki adopcji, tworzy prompt do prezentacji przeglądowej | POST /api/v1/slides/generate, 10 kredytów/strona |
| 7 | Opcjonalna ścieżka premium | Slajd marki jako referenceImageUrl dla graficznie zaprojektowanej prezentacji | POST /api/v1/slides/create-like-this, 10 + 100 kredytów/strona |
Krok 1: Uzyskaj klucz API i potwierdź uwierzytelnienie
Utwórz klucz na karcie API Keys na 2slides.com/api. Każde konto otrzymuje 500 darmowych kredytów przy rejestracji, co wystarcza na 6 prezentacji kickoff, a klucz działa bez subskrypcji. Przechowuj go w n8n jako poświadczenie Header Auth oraz w schedulerze jako SLIDES_API_KEY; nigdy nie wklejaj go bezpośrednio do ciała węzła lub skryptu po stronie przeglądarki.

Zweryfikuj klucz przed dalszą konfiguracją:
curl https://2slides.com/api/v1/echo \
-H "Authorization: Bearer $SLIDES_API_KEY"Odpowiedź 200 oznacza poprawne uwierzytelnienie. 401 zwykle oznacza spację na końcu wklejonego klucza.
Krok 2: Wybierz jeden motyw onboardingowy i zablokuj go
Przeszukaj bibliotekę szablonów raz, wybierz motyw z czystą okładką, układem osi czasu i układem kontaktów, i na stałe wpisz jego themeId. Wyszukiwanie jest darmowe i zwraca themeId oraz metadane z ponad 1 500 szablonów.
curl "https://2slides.com/api/v1/themes/search?query=customer%20onboarding%20timeline&limit=5" \
-H "Authorization: Bearer $SLIDES_API_KEY"
Zachowaj spójność marki automatyzując prezentacje onboardingowe jednym themeId
Spójność marki wynika z jednej decyzji: każda prezentacja kickoff i każda przeglądowa po 90 dniach używa tego samego themeId. Klient widzi te same kolory i układy w dniu 1 i 90, a CSM nigdy nic nie musi restylizować. Jeśli Twój zespół projektowy ma zatwierdzony szablon, przewodnik po wypełnianiu szablonów zgodnych z marką pokazuje, jak dodać go do biblioteki, aby themeId wskazywał na Twój własny projekt.
Opcja premium: create-like-this z Twoim slajdem marki
Dla strategicznych kont zamień wywołanie Fast PPT na POST /api/v1/slides/create-like-this i przekaż publiczny URL jednego zatwierdzonego slajdu marki jako referenceImageUrl. Pipeline wyprowadza cały system projektowy z tego obrazu i zwraca slajdy zaprojektowane graficznie jako PDF oraz obrazy stron. Wynik nie jest edytowalnym PPTX, więc używaj go do prezentacji, które CSM pokazuje, a nie edytuje; budżetuj 10 kredytów planowania plus 100 kredytów za stronę przy 2K.
Krok 3: Zamień pola CRM na szablon promptu
Ścieżka Fast PPT to ta, którą CSM używa ręcznie w Fast PPT: wkleja treść, wybiera motyw, otrzymuje PPTX. API automatyzuje wklejanie. Twoim zadaniem jest dobrze napisać wklejkę, raz, jako szablon.

W węźle Set w n8n zmapuj właściwości CRM na nazwy ogólne, aby szablon działał dla dowolnego CRM: company, csmName, plan, seats, startDate, dealNotes (notatki z odkrywania lub pole "cele klienta") oraz contacts (stanowiska, sponsor i admin oznaczeni). Następnie zbuduj userInput z szablonu takiego jak ten (składnia wyrażeń 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.Instrukcja z nawiasem klamrowym jest ważna: ponieważ wynik to edytowalny PPTX, CSM może wyszukać [ i uzupełnić każdą lukę w dwie minuty zamiast sprawdzać osiem slajdów pod kątem wymyślonych szczegółów.
Oto wywołanie z realistycznymi wartościami, w domyślnym trybie synchronicznym, który zwraca gotową prezentację w jednej odpowiedzi:
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."
}'Odpowiedź wygląda jak { "success": true, "data": { "jobId": "...", "status": "success", "downloadUrl": "https://..." } }. Osiem stron kosztuje 80 kredytów. Skopiuj plik do własnego magazynu zamiast polegać na linku do pobrania długoterminowo.
Krok 4: Automatyzuj prezentacje onboardingowe klientów z webhooka Closed-Won w n8n
To jest ścieżka od webhooka closed won do slajdów. Każdy CRM wyzwala ją nieco inaczej:
- HubSpot: subskrybuj
deal.propertyChangenadealstagew aplikacji prywatnej i filtruj w n8n poclosedwon. Payloady zawierają ID, nie całą transakcję, więc pobierz rekord później (dokumentacja webhooków HubSpot). - Pipedrive: subskrybuj zdarzenie "updated deal" i filtruj
status = won. - Salesforce: Flow wyzwalany na rekordzie Opportunity, gdzie
StageName = Closed Won, z wywołaniem HTTP do URL webhooka n8n.
Workflow n8n, węzeł po węźle:
- Webhook trigger (POST): odbiera payload CRM.
- IF: kontynuuje tylko, gdy etap to Closed Won i
onboarding_deck_urljest pusty, aby ponowne wywołania webhooka nie tworzyły drugiej prezentacji. - HTTP Request (GET, API CRM): pobiera transakcję, kontakty i notatki.
- Set node: mapuje pola z Kroku 3 i tworzy
userInput. - HTTP Request (POST generate):
https://2slides.com/api/v1/slides/generatez poświadczeniem Header Auth i JSON{ themeId, userInput, responseLanguage: "English", mode: "async" }. Async zwracadata.jobIdw mniej niż sekundę, więc n8n nie trzyma długiego połączenia. - Wait node: 10 sekund.
- HTTP Request (GET jobs):
https://2slides.com/api/v1/jobs/{{ $json.data.jobId }}. - IF:
successkontynuuje;pendinglubprocessingwraca do Wait;failedwysyła alert Slack do kanału operacji. - Slack node (lub Gmail/Outlook): wysyła wiadomość do CSM z nazwą klienta,
downloadUrl, datą kickoff i linkiem do transakcji. - HTTP Request (PATCH, API CRM): zapisuje
downloadUrldoonboarding_deck_url, aby węzeł IF widział to przy następnym wywołaniu.
Jeśli Twój zespół zamyka 20 transakcji w ostatniej godzinie kwartału, dodaj pętlę batch z 10-sekundowym Wait przed każdą wysyłką; generate pozwala na 6 zapytań na minutę na klucz, a endpoint jobs na 10 na minutę. Przewodnik n8n i 2Slides opisuje konfigurację poświadczeń i polling szczegółowo, a post o automatyzacji prezentacji sprzedażowych HubSpot pokazuje ten sam wzorzec dla prezentacji przed sprzedażą.
Dla uczciwości: API Gamma (developers.gamma.app) dokumentuje podobny przepis n8n plus HubSpot na prezentacje onboardingowe. Klucze Gamma wymagają planu Pro, podczas gdy klucze 2Slides działają na każdym koncie; 2Slides to nasz produkt, więc uwzględnij to przy porównaniu. Dokumentacja węzła HTTP Request n8n dotyczy obu przepisów.
Krok 5: Zaplanuj automatyzację prezentacji QBR na dzień 85
Prezentacje kickoff tworzone są z tekstu; prezentacje przeglądowe z liczb, więc wyzwalacz zmienia się z webhooka na harmonogram. Codzienny Schedule Trigger w n8n (lub cron job) wybiera każdego klienta, którego kickoff_date był 85 dni temu, pobiera metryki użytkowania z magazynu danych lub API analitycznego i generuje 10-stronicową prezentację przeglądową. 5 dni zapasu pozwala CSM zweryfikować liczby i uzupełnić placeholdery przed rozmową po 90 dniach.
Trzymaj się 8 do 12 liczb; więcej niż to sprawia, że prezentacja przypomina eksport dashboardu. Przewodnik po prezentacji QBR zawiera szczegółowy plan slajdów dla kwartalnych przeglądów po 90 dniach.
Poniższy kod Node.js pokazuje pełną pętlę wysyłania, pollingu i pobierania i jest tym samym kodem, którego użyjesz do automatyzacji kwartalnej prezentacji QBR:
// 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); });Każda 10-stronicowa prezentacja przeglądowa kosztuje 100 kredytów, około 0,25 USD. Pętla obsługuje jednego klienta na raz celowo; z 10-sekundową przerwą pozostajesz poniżej limitu nawet gdy 30 klientów osiąga dzień 85 tego samego dnia.
Jak wygląda dobra prezentacja przeglądowa po 90 dniach
Zanim sfinalizujesz prompt do przeglądu, zobacz, jak silne prezentacje oparte na metrykach radzą sobie z zadaniem. Dwa slajdy poniżej pochodzą z aktualizacji inwestora Grab, dostępnej w galerii 2Slides; są to prezentacje referencyjne do inspiracji projektowej, nie wynik API z tego workflow.


Trzy lekcje do zapamiętania. Zacznij od jednej liczby na slajd, nie tabeli z dwunastoma. Połącz każdą metrykę z celem kickoff klienta, aby przegląd zamknął pętlę, którą klient pamięta. Daj otwartym kwestiom osobny slajd z właścicielami. Aby ponownie użyć tego języka wizualnego zamiast motywu szablonu, przekaż jeden z tych URL slajdów jako referenceImageUrl do create-like-this.
Koszty
Fast PPT kosztuje 10 kredytów za stronę. Kredyty kosztują 0,0025 USD za sztukę w pakiecie 5 USD (2 000 kredytów) i 0,002 USD za sztukę w pakiecie 80 USD (40 000). Załóż 8-stronicową prezentację kickoff i 10-stronicową przeglądową na klienta.
| Wolumen | Prezentacje miesięcznie | Kredyty miesięcznie | Przybliżony koszt |
|---|---|---|---|
| 20 nowych klientów | 20 kickoff + 20 przegląd = 40 | 20 x 80 + 20 x 100 = 3 600 | 9 USD (dwa pakiety po 5 USD pokrywają 4 000 kredytów) |
| 500 nowych klientów | 500 kickoff + 500 przegląd = 1 000 | 500 x 80 + 500 x 100 = 90 000 | około 180 USD przy pakiecie 80 USD = 40 000 |
| Premium: 20 graficznie zaprojektowanych prezentacji przeglądowych (2K, 10 stron) | 20 | 20 x (10 + 1 000) = 20 200 | około 43 USD (pakiet 42,50 USD to 20 000 kredytów) |
Przy 20 klientach koszt API to 0,45 USD za oba zestawy, w porównaniu do około 30 godzin pracy CSM miesięcznie przy wersji manualnej.
Fast PPT czy graficznie zaprojektowane slajdy dla tego przypadku?
| Pytanie | Fast PPT generate (edytowalny PPTX) | create-pdf-slides / create-like-this (graficznie zaprojektowane) |
|---|---|---|
| Czy CSM edytuje przed rozmową? | Tak, domyślnie dla prezentacji kickoff | Nie, wynik to PDF plus obrazy stron |
| Koszt za 10 stron | 100 kredytów, około 0,25 USD | 1 010 kredytów przy 2K, około 2,53 USD |
| Kontrola marki | Jeden themeId lub własny przesłany szablon | System projektowy wyprowadzony z jednego referenceImageUrl |
| Narracja lub MP4 do wideo przeglądu? | Nieobsługiwane | generate-narration (210 kredytów/strona) + download-slides-pages-voices |
Zasada: prezentacje kickoff zawsze Fast PPT, bo są edytowane. Dla przeglądów 90-dniowych domyślnie Fast PPT, a create-like-this zarezerwuj dla kont top-tier lub narracyjnego wideo, które sponsor może obejrzeć bez spotkania.
Typowe pułapki
- Szczyty na koniec kwartału przekraczają limit zapytań.
generatepozwala na 6 zapytań na minutę na klucz. Serializuj wysyłki z 10-sekundowym Wait zamiast uruchamiać wiele wywołań równocześnie. - Klucz API w złym miejscu. Trzymaj klucz w poświadczeniach n8n lub zmiennej środowiskowej serwera. Nigdy nie wywołuj API z widgetu przeglądarkowego lub karty CRM po stronie klienta.
- Próba narracji prezentacji Fast PPT.
generate-narrationprzyjmuje zadania tylko zcreate-pdf-slidesicreate-like-this. Do narracyjnego wideo generuj przegląd od początku zcreate-like-this. - Kody języków zamiast nazw.
responseLanguageprzyjmuje"Spanish"lub"Japanese", nieesczyja. Mapuj pole lokalizacji CRM na nazwę języka w węźle Set. - Wrzucanie całej osi czasu transakcji do promptu. 20 stron notatek z rozmów daje chaotyczną prezentację. Podsumuj do 3 celów i 5 faktów w węźle Code lub użyj dedykowanego pola "cele klienta" w CRM.
- Duplikaty prezentacji z powodu ponownych wywołań webhooka. CRM ponawia wywołania przy timeoutach. Zapisz
downloadUrldo transakcji i sprawdzaj je przed generowaniem.
Najczęściej zadawane pytania
Czy mogę zautomatyzować prezentacje onboardingowe klientów bez n8n?
Tak. Workflow to dwa wywołania HTTP i polling, więc działają Zapier, Make, Flow Salesforce z wywołaniem HTTP lub 60-liniowy skrypt Node.js z Kroku 5. n8n jest wygodne, bo węzły Wait i IF pokazują pętlę pollingową, ale endpointy i koszt 10 kredytów za stronę są identyczne niezależnie od wybranego narzędzia.
Ile czasu zajmuje wygenerowanie prezentacji kickoff po zamknięciu transakcji?
Prezentacje Fast PPT zwykle kończą się w około 30 sekund. W trybie async wywołanie submit zwraca jobId w mniej niż sekundę, pierwszy polling po 10 sekundach zwykle pokazuje processing, a drugi lub trzeci zwraca success z downloadUrl. CSM zwykle widzi wiadomość Slack w ciągu minuty od zmiany etapu.
Czy CSM może edytować wygenerowaną prezentację onboardingową?
Tak. Endpoint generate zwraca natywny PPTX zbudowany na bazie zaprojektowanego szablonu, więc tekst, kolejność i układy są edytowalne w PowerPoint, Keynote lub Google Slides. Prompt z Kroku 3 prosi o placeholdery [CSM to confirm] tam, gdzie CRM nie ma szczegółu, co zmienia edycję w szybkie wyszukiwanie i uzupełnianie zamiast przepisywania.
Jakie dane powinna pobierać prezentacja przeglądowa po 90 dniach?
Przekaż 8 do 12 liczb: tygodniowa liczba aktywnych użytkowników względem miejsc, zaadaptowane funkcje, zautomatyzowane workflow lub raporty, otwarte i nadal otwarte zgłoszenia wsparcia, tygodnie aktywności z 12 oraz postęp w każdym celu kickoff. Pobierz je w dniu 85, aby CSM miał 5 dni na weryfikację przed rozmową, i dołącz oryginalne cele, aby prezentacja zamknęła pętlę.
Czy ten generator prezentacji Customer Success obsługuje klientów nieanglojęzycznych?
Tak. Ustaw responseLanguage na nazwę języka, np. "Spanish", "Portuguese" lub "Japanese", a zawartość prezentacji będzie napisana w tym języku, a motyw pozostanie ten sam. 2Slides obsługuje ponad 20 języków wyjściowych. Mapuj pole lokalizacji CRM na nazwę języka w węźle Set, aby każdy klient otrzymał prezentację w swoim języku pracy automatycznie.
Kolejne kroki
- Uzyskaj klucz API na 2slides.com/api. 500 darmowych kredytów wystarcza na 6 prezentacji kickoff, co pozwala zautomatyzować onboarding dla kilku pierwszych zamkniętych transakcji bez zakupu.
- Zobacz, jak inne zespoły używają tych samych endpointów w hubie AI presentation API use cases by team.
- Rozszerz pipeline o przewodnik po prezentacji QBR od drugiego kwartału oraz przewodnik po wypełnianiu szablonów zgodnych z marką, aby skierować
themeIdna własny zatwierdzony projekt.
About 2Slides
Create stunning AI-powered presentations in seconds. Transform your ideas into professional slides with 2slides AI Agent.
Try For Free