Pitch deck studio: reps pick the slides before every meeting
Let each rep open a deal, tick the slides that fit, and get a tailored Google Slides deck filed in Drive and logged on the CRM record.
Build me an internal app my sales reps open before a customer meeting to assemble a tailored pitch deck in Google Slides for one specific HubSpot deal, instead of duplicating last quarter's file and hand editing it. This is rep driven and curation first: the rep picks the template and toggles individual slides before anything is generated. Nothing runs on a schedule or on a deal stage change.
Deal picker view. On open, resolve the signed in user to their HubSpot owner record using List Owners filtered by their email, then load that person's open deals with Search Deals, filtered to their owner id and to open pipeline stages, sorted by close date ascending. Render one card per deal showing the account name, amount, deal stage and close date. When a deal is selected, use Get Deal with associations plus Get Company and Get Contact to resolve the account name and the primary contact. Scope everything per user: a rep only ever sees deals they own.
Template and slide curation view. Once a deal is picked, list the master templates in a configured Drive template folder with Google Drive List Files, querying for presentations whose parent is that folder. When the rep picks a template, read its slides with Google Slides Get Slides and render them in order as a thumbnail strip using Get Page Thumbnail for each slide. Put a checkbox on every optional slide so the rep keeps the industry case study that fits, drops the two that do not, and decides whether to include the pricing tier slide and the security appendix. Slides marked required in app configuration render locked and checked. Show the expected placeholder tokens on screen next to the strip, {{Company}}, {{Contact}}, {{Amount}} and {{CloseDate}}, so whoever maintains the templates knows exactly what gets substituted.
Build my deck button, backed by an embedded background agent. Pressing it kicks off a background agent for that deal, that template and that slide selection. The agent finds or creates the deal's folder in Drive with List Files and Create Folder, copies the template into it with Copy File and names the copy after the account and the date, deletes every unchecked slide with Google Slides DeleteObject, fills the placeholders with ReplaceAllText using the real deal values, fixes the ordering afterwards with UpdateSlidesPosition, then writes the result back to the CRM: HubSpot Create Note on the deal with the deck link and the list of slides included, and HubSpot Update Deal to stamp the deck URL property.
Handle the atomicity of Google Slides edits carefully. A batch of slide edits is applied all or nothing, so one failed slide deletion rolls the whole batch back. Have the agent re-read the copied presentation and verify the slide ids before deleting, retry once with any stale ids removed, and if it still fails, leave the copy in place, mark the build failed with a readable reason, and surface that in the app rather than leaving a half built deck behind.
Build history. Each deal keeps a decks built history persisted in the app: deck name, link, a thumbnail of the title slide, which optional slides were included, who built it and the timestamp. Show it on the deal detail view, newest first, so a rep can reopen what they sent last time. History is scoped per user like the deal list.
Handle the empty and in progress states plainly: no open deals for this rep, no templates in the folder, a template with no slides, and a build still running with a progress indicator that resolves into the finished deck link.
What does this prompt do?
- Every rep signs in and sees only their own open deals, sorted by close date, with the account name, amount, stage and close date on each card.
- Pick one of your approved master templates and preview every slide as a thumbnail, then tick the ones this particular buyer should see and untick the rest.
- Hit Build my deck and a background assistant copies the template, drops the slides you unticked, swaps the placeholders for the real deal details, and puts the slides back in the right order.
- The finished deck link lands back on the HubSpot deal as a note and a deck link field, and every deal keeps a history of the decks that rep has built, with thumbnails, dates and links.
What do I need to use this?
- A HubSpot account where your deals live, with each rep set as the owner of their own deals
- A Google account with access to the Drive folder that holds your master deck templates
- At least one master template built in Google Slides, with placeholder text such as {{Company}} and {{Amount}} wherever deal details should appear
- A field on the HubSpot deal to hold the finished deck link, for example a Deck URL property
How can I customize it?
- Change which deals show up: sort by amount instead of close date, or narrow the list to deals closing this quarter
- Change the placeholder tokens to match how your templates are written, and add your own such as {{Owner}} or {{RenewalDate}}
- Decide which slides are optional and which are always included, so the intro and pricing pages cannot be unticked by accident
- Choose where finished decks get saved in Drive, and whether reps can see each other's build history or only their own
FAQs
Can reps see each other's deals?
Will this overwrite my master template?
How do the placeholders get filled in?
How is this different from generating a deck automatically when a deal changes stage?
What happens if a build fails halfway through?
Related templates
Stop buying stale lists. Reps run a saved search, work the results like an inbox, and only the accounts they approve ever reach your CRM.
Pick a date, a starting point and a radius, then build a sequenced day of customer visits that lands straight on your calendar.
One screen where reps filter for companies that fit, see who is actually reachable at each account, and save only the addresses that verify.
See every competitor battlecard next to the number of open deals that name that competitor, so the cards carrying real pipeline get refreshed first.
Score every target account against the buying committee you actually need, see the exact holes, and have an assistant fill them in your CRM.
One desk to pull scripts from Drive, give every line its own voice, redo the one take that missed, and share approved audio in Slack.
Stop duplicating last quarter's deck.
Give every rep one screen where they pick the slides that fit the deal and walk away with a finished deck, already filed and logged on the CRM record.