New: design and send email from the headless API.Explore the API
All posts
Guide

Build a Deck-Generation Workflow With Zapier and Preso

Set up no-code automations that generate on-brand pitch decks, sales decks, and updates the instant a trigger fires. Step-by-step guide using Preso and Zapier

TPThe Preso Team
14 minutes read

The Real Reason You Spend Too Much Time on Decks

You know the drill. A deal moves to the proposal stage. A new month closes in your CRM. A product launch date locks. Someone then has to stop what they are doing, open a slide editor, and start from a blank rectangle. They drag in yesterday's numbers, reformat text boxes until they break, hunt for a color that nearly matches the brand, and export a file that already feels stale. Even a fast operator loses an afternoon. If the deck has to go through a design team, count on a couple of days.

This is not a skill gap. It is a process gap. The deck should appear the moment it is needed, built directly from the same data that triggered the ask. Preso lets you describe a deck in plain English and get back a beautiful, on-brand presentation in seconds. When you pair Preso's triggers and API with an automation platform like Zapier, you wire up the exact workflow that generates a finished deck on a trigger. No copy-paste, no manual design, no waiting.

I will walk you through setting up a deck-generation workflow using Zapier and Preso. By the end, you will have a pipeline that fires whenever a specific event occurs in your stack and drops a polished, editable deck into your hands. We cover prerequisites, a step-by-step build, real-world triggers worth automating, pro tips, and a few traps that will save you hours of debugging.

What This Workflow Actually Does

Here is the pattern. A data source fires a trigger: a new row in a Google Sheet, a new deal stage in HubSpot, a Shopify order that hits a status, a webhook from your analytics tool. Zapier catches that event and hands it to Preso. Preso then uses a pre-configured blueprint plus the incoming data to design every slide in your brand. The result can land in your Preso workspace, an email, a Slack channel, or a Google Drive folder. You open it, tweak one slide if you want, and present. Or your team exports to PowerPoint, Google Slides, or PDF directly from Preso.

All of this runs without anyone clicking "New Slide." When you nail the setup once, it scales across teams, languages, and use cases. A startup can auto-generate monthly investor updates from Stripe MRR and product metrics. A sales team can get a discovery deck for every new enterprise account the moment a deal reaches a certain stage. A hospitality group can produce event proposals from new leads captured through a website form. The underlying technology is a REST presentation API and an MCP server that lets your stack, your workflows, or an AI agent request a deck just like calling a function.

Prerequisites

Before you start building the workflow, take care of three things.

  1. A Preso account with API access. You can sign up directly at trypreso.com. For automated builds, you will need API credentials or an access token. Head to the API page and contact the team to get production access. Once you have a key, store it somewhere safe. You will use it inside Zapier.
  2. A Zapier account. The free tier works for simple test workflows. If you plan to generate decks at volume, pick a plan that gives you enough tasks. Create your account at zapier.com.
  3. A defined trigger source. This is the app or event that starts the automation. Common sources include a CRM like HubSpot or Salesforce, a spreadsheet, a database, a form tool, or a scheduling app. Know which object you want to watch (e.g., "New Deal Entering Proposal Stage" or "New Row in Monthly Report Sheet") and have a sample record ready for testing.

For the steps below, I will use a straightforward example: generating a client-ready sales deck whenever a new row is added to a Google Sheet that tracks deal progress. You can swap in your own trigger app without changing the pattern.

Step 1: Create a Preso Blueprint That Knows Your Brand

A blueprint in Preso is a reusable template that holds your brand kit, slide layouts, narrative structure, and placeholder tokens for dynamic data. When the trigger fires, the blueprint gets populated with real values and becomes a fully designed deck.

Start by going to the blueprints library. You can build a new blueprint from scratch inside the Preso editor or clone an existing one. For this workflow, pick a blueprint that matches your output: a sales discovery deck, an investor update, a product launch deck, or any other use case. If you need a per-client brand kit that locks fonts and colors, grab the agencies template.

Open the blueprint in the editor. Verify that every dynamic field you plan to send from Zapier has a corresponding placeholder in the deck. Preso uses token syntax inside text boxes. For example, you might have a headline that reads "Q2 performance for [[client_name]]" and a chart that pulls data from a field called monthly_revenue. Keep the token names clean and predictable, you will map them to Zapier fields later.

Pro tip: Build one blueprint that covers the 80% case first. Do not try to support every edge case in your initial automation. A blueprint that generates a solid seven-slide deck for 90% of deals is wildly more valuable than a bloated template that breaks on missing data.

Step 2: Set Up Your Trigger in Zapier

Log into Zapier and click "Create Zap." A Zap is an automated workflow with a trigger and one or more actions.

  1. Choose your trigger app. For our example, select Google Sheets.
  2. Select the trigger event: "New Spreadsheet Row."
  3. Connect your Google account and pick the spreadsheet and worksheet that holds your deal data. Pull in a sample row so you can see the column headers. Zapier will parse these as fields you can use later.

Test the trigger. Zapier will find a recent row and show you the data. Confirm that the field names (like client_name, deal_size, product_focus) match what you intend to send to Preso. If a column header contains spaces or special characters, Zapier replaces them with underscores. Write these down, you will need them when mapping data to the Preso action.

This step is where most automations fail silently. If your sheet has blank optional fields, decide now how Preso should handle them. The Preso API gracefully skips tokens that receive no data, but only if you structure your blueprint slide text to make sense without those values. For example, instead of a slide that says "[[client_industry]] is a priority vertical," write "Our strategy for this sector" and let the token fill context, not the lede.

For inspiration on real-world triggers, read Forbes Advisor's guide to building automated workflows with Zapier. It outlines common patterns that apply directly to CRM-to-deck flows, form-to-document flows, and scheduled report generation.

Step 3: Add the Preso Action to Generate a Deck

Now you will connect the trigger data to Preso. In the Zap editor, add a new action step.

  1. Search for the Preso app. If you do not see it in the Zapier directory, you can use the Preso Webhooks by Zapier integration. The Preso team offers a Webhook action that accepts a JSON payload and returns a deck. Check the API documentation for the exact endpoint and payload structure.
  2. Configure the action as a "POST" request to the Preso deck-generation endpoint. The URL will be something like https://api.trypreso.com/v1/decks/generate (refer to your API access details for the live endpoint).
  3. Headers: Set Authorization to Bearer YOUR_API_KEY, and Content-Type to application/json.
  4. Build the JSON payload dynamically using data from the trigger step. The required fields typically include blueprint_id (the ID of the blueprint you created) and a data object with key-value pairs matching your tokens. For example:
{
  "blueprint_id": "bp_123abc",
  "data": {
    "client_name": "{{Trigger__client_name}}",
    "deal_size": "{{Trigger__deal_size}}",
    "product_focus": "{{Trigger__product_focus}}"
  }
}

Zapier lets you insert trigger fields using the field picker. Do not hardcode sample data in production.

Pro tip: Add an optional field for output_format and set it to "pptx", "pdf", or "gslides" if you want Preso to export the deck in a specific format automatically. Otherwise, the deck will appear in your Preso workspace ready to edit or export manually. If you plan to use the deck in PowerPoint, consider exporting directly from Preso's editor, but having the file land in a shared drive can speed up handoff.

Test the action. Zapier will send a request to Preso and return a response, usually a deck object with a URL to the generated presentation. Watch for error messages. If the request fails, check your API key, endpoint, and confirm that all required token fields are present and correctly named. One common gotcha: Zapier sends empty strings for blank cells. If your blueprint expects a numeric field and receives "", Preso might skip the chart. Map empty fields to sensible defaults or omit them entirely by using Zapier’s Formatter step to clean data before it hits the Preso action.

For a deeper dive on calling AI APIs through Zapier, the TechRadar article on AI agents and workflows in Zapier walks through the webhook pattern in detail. The principles are identical whether you are generating a deck with Preso or creating content with another service.

Step 4: Deliver the Deck to the Right People

A generated deck sitting in your Preso workspace is useful. A generated deck that automatically lands in the right Slack channel, email, or Google Drive folder is transformative. Add a second action step in your Zap to handle delivery.

Option A: Send an email with a link. Use the Email by Zapier or Gmail action. In the body, insert the deck URL from the Preso step response. Write a short note that includes the client name and a clear call to action: "Here is the deck for [[client_name]]. Open it, review slide 5, and send."

Option B: Post to Slack. Add a Slack action to send a channel message. Include the deck link and use dynamic text to tag the deal owner. This works well for sales teams that live in Slack.

Option C: Save the exported file to Google Drive or Dropbox. If you set output_format to "pdf", the Preso response will contain a file URL. Use the Google Drive "Upload File" action to fetch that URL and save the file into a client-specific folder.

Think about who needs to act on the deck and where they are already working. Do not add friction. If a rep has to log into another tool, adoption will drop. If the deck simply appears in their Slack DMs or in the client folder they already have open, they will use it.

Step 5: Test End-to-End and Handle Errors

Turn your Zap on and cause the trigger to fire in your source app. Add a new row to your spreadsheet or create a sample deal. Watch the Zap run in Zapier's task history. Look at the data that went into the Preso step and the response that came back. Open the generated deck and walk through every slide.

Check these things:

  • Did every token that had data populate correctly? If a chart is empty, inspect the blueprint to see whether the chart data source matches your field names.
  • Is the brand consistent? Colors, fonts, and imagery should match your brand kit. If something looks off, open the blueprint and adjust the brand settings. Preso's plain-English to deck engine works from your brand assets, but you must upload them once.
  • Does the narrative make sense? A boilerplate intro slide that reads "Q2 performance for " is worse than no deck. Build fallback text into your blueprint for every slide that could receive an empty value.
  • Is the deck actually helpful? Show it to someone who would receive it in a real workflow. If they say "I would still need to change half the slides," refine your blueprint or add more data. The first version rarely hits the mark. Iterate quickly.

Error handling matters because a deck-generation pipeline runs without you watching. If the trigger fires and the Preso call fails, you need to know. Add a Zapier error notification step: if the Preso action returns a non-200 status, send yourself an email or a Slack DM with the error payload. Also consider building a fallback: if generation fails, push a message to the sales rep with a link to a blank template they can fill manually. That keeps the business moving while you fix the bug.

Step 6: Scale the Workflow Across Use Cases

Once you have one deck-generation workflow running, replicate the pattern for other triggers. The same Preso API supports monthly investor updates, event sales proposals, wholesale buyer pitch decks, and marketing strategy decks. Each use case gets its own blueprint and its own Zap, but the underlying pattern does not change.

For startups, the highest-ROI second workflow is usually the board and investor update. Connect Stripe or your analytics database to Zapier, pull revenue, churn, and user growth data, and map it into an investor deck blueprint. Schedule the Zap to run monthly, or trigger it manually before the board meeting. The narrative stays on-brand because Preso designs the slides from your blueprint, not from a generic template.

For agencies, build a per-client trigger. When a new client brief lands in a project management tool, Zapier calls Preso with the client's brand kit and a blueprint tailored to that account. The resulting deck respects font, color, and logo, and the agency team just reviews and presents. This pattern quietly eliminates hours of formatting per client.

A recent Dev.to article on automating a workflow with Zapier describes a similar multi-step build, from Google Sheets to dynamic documents. Read it for the small decisions that make pipelines reliable: naming conventions, version control on blueprints, and how to handle duplicate triggers.

Pro Tips and Common Pitfalls

Name Your Blueprints and Zaps Clearly

Six months from now, someone will ask, "What does 'Zap 42' do?" Use a naming convention: Trigger Source - Deck Type - Recipient. Example: HubSpot - Sales Proposal - Email to Rep. Inside Preso, name your blueprints after the use case and the owner team: SaaS Series A Investor Update (Ops Team). This pays off when you have ten pipelines.

Lock Your Brand Kit

Preso allows per-client brand kits with lock guardrails. If you generate decks for external partners, lock down colors, fonts, and logo placement. You can still allow editors to swap images or adjust copy, but you prevent an accidental rebrand.

Keep Data Clean Before It Enters Preso

Zapier's Formatter step is your friend. Trim whitespace, convert dates to readable strings, and map picklist values to full words. A CRM field that says ind_us should become United States before it hits the narrative slide. Preso's AI will use whatever text you provide, so clean data means natural language.

Use the MCP Server for Agentic Workflows

If your stack includes AI agents or you want to trigger decks from a custom app, investigate Preso's MCP server. It exposes deck generation as a tool that any MCP-compatible client can call. That pattern opens up use cases like "AI assistant generates a deck when a user asks for a QBR summary." The Preso triggers page explains the difference between REST and MCP integration.

Test Every Field With Real Data Before Turning It On

Do not trust a sample row that was hand-crafted. Use yesterday's real deal. If your sheet has a column that is sometimes empty, test both paths. A flaky deck is worse than no deck because it erodes trust in the automation.

Avoid Over-Automating the Review Gate

Some teams want to add an approval step before the deck is sent. That is fine, but do not let approval become a bottleneck. If the trigger is "deal moves to proposal stage," the deck should be generated immediately, not wait for a manager to click. You can always generate it in draft and have the rep send manually. The goal is to eliminate the build time, not to remove human judgment.

Embedding Video and Learning Resources

If you are a visual learner, Zapier's YouTube channel has a detailed tutorial on automating work with AI agents and workflows. While it does not use Preso specifically, the patterns for setting up webhook actions and mapping dynamic data are universal and directly applicable to our workflow.

For teams that want a structured learning path, Coursera offers a course called Automate Workflows with Zapier that covers triggers, actions, and error handling in a production context. The principles transfer one-to-one to a Preso-Zapier pipeline.

Wired also published an accessible guide on building AI workflows with Zapier. It emphasizes the importance of testing with real-world variability, which is the number one reason deck-generation automations break after the first week. Block time to simulate a few edge cases before you declare the workflow production-ready.

What You Can Build Right Now

The Preso ecosystem is designed so that you do not need to stitch together five tools. You describe a deck in plain English, and the engine produces slides that respect your brand. When you add Zapier, the deck becomes an automatic artifact of your existing workflow. Here are three pipelines you can ship this week:

  • Sales proposal deck from HubSpot. Trigger: Deal stage equals "Proposal." Action: Preso generates a discovery deck using the sales blueprint with account name, deal value, and product interests. Delivery: Email to rep with link.
  • Monthly performance deck from Google Sheets. Trigger: Schedule (first of month). Action: Zapier reads a summary sheet, Preso builds a marketing performance deck with charts and narrative. Delivery: Save PDF to Google Drive, post link in Slack.
  • Event proposal from a website form. Trigger: New form submission (Typeform, JotForm). Action: Preso creates a venue proposal using a hospitality blueprint with event date, guest count, and budget. Delivery: Email attachment to the lead.

Each of these replaces two to five hours of manual work per instance. Multiply that by the number of deals, events, or reporting cycles you run, and the time savings compound immediately.

Conclusion and Key Takeaways

A deck-generation workflow with Zapier and Preso turns a reactive manual task into a reliable system. You define the blueprint once, wire it to a trigger that already exists in your stack, and let the automation run. The output is a beautiful, on-brand presentation, not a rough draft that someone has to redesign.

Key takeaways:

  • Match the trigger to a real, repetitive event: a deal stage change, a monthly close, a new lead. Do not automate for the sake of automation.
  • Invest time in a well-structured blueprint. Clean tokens, fallback text, and locked brand elements make the difference between a deck that just looks okay and one that actually gets used.
  • Use Zapier’s Formatter step to clean data before it hits Preso. Garbage in, generic slides out.
  • Test with real, edge-case data. Simulate empty fields, weird characters, and large numbers. If you test only the happy path, you will learn about the broken paths at the worst possible moment.
  • Deliver the deck where people already work. A link in Slack or an attachment in the client folder beats asking a rep to log into another tool.

Automated decks are not about removing your team’s voice. They are about removing the part of deck-building that wastes their time. When the template, the data, and the design engine all work together, your team focuses on the story, not the formatting.

Get started by grabbing a blueprint that matches your use case, contacting the Preso team for API access, and firing up your first Zap.