Turn Notion client records into personalized decks automatically. Build an end-to-end workflow that generates on-brand presentations from structured data.
You have a Notion database. It holds client names, project scope, deliverables, timelines, and budget. Every time a client kicks off, you manually copy that data into a deck template, spend an hour fighting alignment in PowerPoint, swap in the client logo, and hope the colors match your brand. Then you do it again for the next client. And the next.
This is not a scaling problem you should solve by hiring a designer. It is a workflow problem you should solve by connecting your database to your deck builder.
When a client record hits "active" status in Notion, a deck should generate automatically. The client name, project scope, and timeline should populate the slides. The brand colors and fonts should apply instantly. A shareable link should land in your inbox. You should never manually assemble a presentation again.
This guide walks you through building that pipeline end-to-end: from a structured Notion database, through an automation layer, to a finished, on-brand presentation ready to share.
Before you wire up the automation, gather these pieces:
A Notion database with client records. Each record should have fields for client name, project scope, key deliverables, timeline, and any other data you want to appear in the deck. If you do not have this yet, build a client portal and pipeline system in Notion first.
Access to Preso. You will use Preso's AI presentation builder to generate the actual decks. Preso accepts plain English descriptions and structured data, so it is the natural fit for this pipeline.
An automation tool. You need something to listen for changes in Notion and trigger downstream actions. Options include Zapier's Notion integration, Make's Notion connector, n8n's Notion integration, or Microsoft Power Automate's Notion connector. This guide uses Zapier, but the logic applies to any platform.
Preso API access or headless generation capability. If you want fully automated deck generation, you will need to call Preso's REST API or MCP server. If you prefer a hybrid approach (Notion triggers, manual deck creation in Preso), you can skip this and use the web editor instead.
A brand kit ready in Preso. Before you generate client decks, set up your brand kit once in Preso: colors, fonts, logo, and any reusable components. Every deck generated from this pipeline will inherit those rules automatically.
Basic comfort with APIs and webhooks. You do not need to be a developer, but you should be willing to copy API keys, read JSON, and test a webhook. If you are building this for a team, have a technical person on hand.
Your Notion database is the source of truth. Every field you create here becomes data you can pull into a presentation. Structure it thoughtfully.
Start with these core fields:
Client Name (text): The prospect or customer name. This will appear on the title slide and throughout the deck.
Project Scope (text or long text): A one or two sentence description of what you are building or proposing. Something like "Build a mobile app for appointment booking" or "Design a rebrand and launch campaign."
Key Deliverables (multi-select or text): Break down the major pieces of work. Use multi-select so you can filter and reuse these across clients. Examples: "UI Design," "API Development," "Brand Strategy," "Campaign Creative."
Timeline (date or text): When does the project start and end? A simple "3 months" or "Jan - Mar 2026" is enough.
Budget (number or currency): The deal size. You can hide this from the deck if it is sensitive, but having it in Notion helps you segment decks by value later.
Status (select): Set up options like "Prospect," "Active," "In Review," "Closed." This is your trigger field. When status changes to "Active," the automation fires.
Deck Generated (checkbox): A flag that marks whether a deck has already been created for this client. This prevents duplicate deck generation if the automation runs twice.
Deck Link (URL): Once a deck is generated, store the shareable link here. Your team can click it directly from Notion.
Add any additional fields specific to your business: account manager name, industry vertical, contract value, success metrics, or custom requirements. The more structured your database, the richer your decks can be.
You have two paths here. Path A is faster but less flexible. Path B gives you more control.
Path A: AI-Generated Decks from Text
Describe the deck you want in plain English, and let Preso's AI deck generation handle the rest. For example:
"Create a pitch deck for [Client Name]. The project scope is [Project Scope]. Key deliverables are [Key Deliverables]. Timeline is [Timeline]. Use our brand colors and logo. Include a title slide, project overview, timeline, deliverables breakdown, and next steps."
When you send this description to Preso's API, it generates a complete deck: layout, charts, imagery, and all. Every slide respects your brand kit. The entire deck is editable if you need to tweak it later.
This is the fastest path for high-volume pipelines. You do not design a template. You describe what you want once, and Preso generates a unique deck for every client record.
Path B: Manual Template in Preso
If you want pixel-perfect control, build a template deck manually in Preso's editor. Create a slide structure: title, overview, timeline, deliverables, budget, next steps. Leave placeholder text where client data should go. Save it as a template.
When a client record triggers the automation, you manually open the template, fill in the data from Notion, and save it as a new deck. This takes longer per client, but gives you complete control over layout and messaging.
For a true automation pipeline, Path A is recommended. It scales without manual intervention.
First, enable Notion's database automations. Open your client database, click the "Automate" button, and create a new automation.
Set the trigger: "When a database item's property changes."
Choose the property: "Status" (or whatever field you use to mark a client as active).
Set the condition: "Status is set to Active."
For now, do not set an action in Notion. Instead, you will use Notion's webhook capability to send this event to your automation platform (Zapier, Make, or n8n). This gives you more flexibility than Notion's native actions.
Alternatively, if you want to stay within Notion, use Notion's database automations to send an email to a webhook URL or trigger a Zapier action directly. The exact flow depends on your automation tool.
This is where the magic happens. You will wire Notion to your deck generator.
In Zapier:
Create a new Zap. Set the trigger to "Notion" and choose "Database Item."
Authenticate your Notion workspace. Zapier will ask for permission to read your databases.
Select your client database and set the trigger: "When a database item is updated and Status is set to Active."
Test the trigger. Zapier will pull a sample record from Notion so you can map the fields.
Add an action step. This is where you call Preso's API to generate the deck. Choose a generic HTTP request action or use a webhook if Preso has a native Zapier app.
In the HTTP request, configure:
Example payload:
{
"title": "[Client Name] Project Deck",
"description": "Create a pitch deck for [Client Name]. Project scope: [Project Scope]. Deliverables: [Key Deliverables]. Timeline: [Timeline]. Use our brand kit.",
"brand_kit_id": "your-brand-kit-id",
"format": "presentation"
}Map the Notion fields (Client Name, Project Scope, etc.) into the JSON. Zapier's interface lets you click and select fields from your Notion database.
Add a second action step to update the Notion record. Once the deck is generated and Preso returns a deck ID and shareable link, write that link back to the "Deck Link" field in Notion. Also check the "Deck Generated" checkbox so you do not generate duplicates.
Test the entire Zap. Change a test client's status to "Active" in Notion and watch the automation run.
If you are using Make, n8n, or Power Automate, the logic is identical, but the UI and syntax differ. All of these platforms let you trigger on Notion changes, call an external API, and write data back to Notion.
Now you need to actually generate the decks. You have two options: use Preso's REST API or use Preso's MCP server.
Option 1: REST API
The REST API is the most straightforward. When your automation sends a POST request to Preso's /decks/generate endpoint, Preso creates a new presentation, applies your brand kit, and returns a deck ID and shareable link.
Example request:
POST https://api.trypreso.com/v1/decks/generate
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
{
"title": "Acme Corp Project Deck",
"description": "Create a pitch deck for Acme Corp. We are building a mobile app for appointment booking. Key deliverables: UI Design, API Development, QA Testing. Timeline: 3 months. Use our brand kit.",
"brand_kit_id": "your-brand-kit-id",
"format": "presentation"
}
Preso responds with:
{
"id": "deck-12345",
"title": "Acme Corp Project Deck",
"url": "https://app.trypreso.com/decks/deck-12345",
"share_link": "https://trypreso.com/share/abc123",
"status": "generated"
}Your automation captures that share_link and writes it back to Notion.
Option 2: MCP Server
Preso's MCP server is useful if you are building a more complex automation or if you want to integrate Preso with AI agents. MCP (Model Context Protocol) lets your automation tools, AI agents, and external systems call Preso's deck generation as a tool.
If your automation platform supports MCP (or if you are building a custom integration), you can call Preso's MCP server to generate decks. The advantage is that MCP is more flexible and can handle complex, multi-step workflows.
For most Notion-to-Preso pipelines, the REST API is simpler to set up.
Fully automated pipelines are fast, but sometimes you need a human to review or tweak a deck before it goes to the client.
Add an approval step to your automation:
After the deck is generated, send a notification (email or Slack message) to your team with the deck link.
In Notion, add a "Deck Status" field with options: "Generated," "Approved," "Sent to Client."
Your team reviews the deck in Preso, makes any edits, and marks it "Approved" in Notion.
A second automation watches for "Approved" status and sends the deck to the client via email or a shared link.
Preso's editor makes this easy. Every generated deck is fully editable. Your team can adjust text, swap images, reorder slides, and apply different brand rules if needed. When they are done, they can share the deck securely with access controls (password, expiry date, download restrictions) to keep it confidential.
If you want to skip the approval step and send decks directly to clients, you can. Just make sure your AI-generated descriptions are detailed enough that Preso builds the right deck the first time.
Once a deck is ready, you need to get it to your client. Preso gives you several options:
Shareable Link
Preso's shareable links let you send a live presentation without downloading anything. Your client views it in their browser, and you control access: password protection, expiry dates, disable downloads. This is the fastest option and keeps your deck secure.
PowerPoint Export
If your client needs to edit the deck or present offline, export to PPTX. Preso generates a clean PowerPoint file that preserves your design, fonts, and imagery. Your client can open it in PowerPoint, Keynote, or Google Slides and make changes if needed.
For read-only sharing or archival, export to PDF. Preso renders the deck as a high-quality PDF that looks exactly like the presentation.
Google Slides or Keynote
If your client uses Google Workspace or Apple, Preso can export directly to Google Slides or Keynote format.
In your automation, after the deck is generated, decide which format to send. If you are sending a shareable link, just include the URL in your email. If you are exporting, add an export step to your automation, download the file, and attach it to an email.
Once your automation is live, watch it for a week. Check that:
Decks are generating correctly. Do the client names, project scopes, and timelines appear on the right slides?
Notion is being updated. Are the deck links being written back to the "Deck Link" field?
Brand consistency is maintained. Are all decks using your colors, fonts, and logo?
No duplicate decks are being created. Is the "Deck Generated" checkbox preventing re-runs?
If something is broken, check these common issues:
Once the pipeline is stable, measure its impact:
Use these metrics to justify expanding the pipeline to other workflows (sales decks, investor updates, board reports).
Tip 1: Use Notion as a CRM
If you are not already, use Notion as a CRM to manage your client pipeline. Store contact info, deal stage, and project details in one place. Then pull that data directly into your decks. This eliminates data entry and keeps everything in sync.
Tip 2: Create Reusable Deck Templates
If you generate different types of decks (pitch decks, project updates, board reports), create separate automations for each. In Notion, add a "Deck Type" field. Your automation can read this field and choose the right description template for Preso.
For example:
Tip 3: Pull Live Data from Your Tools
If your project management tool, CRM, or analytics platform has an API, wire it into your automation. Instead of manually entering project scope and timeline in Notion, pull them from your source system. This keeps your decks current and eliminates manual updates.
For example, if you use a project management tool, your automation could query the API for the current project status, budget spent, and timeline, then pass that data to Preso. Every deck reflects real-time data.
Tip 4: Lock Your Brand Kit
In Preso, when you set up your brand kit, enable the "lock" option for critical elements like logo, primary colors, and fonts. This ensures that even if someone edits a deck, they cannot accidentally use off-brand colors or fonts. Every deck that comes out of your pipeline will be on-brand, no exceptions.
Tip 5: Use Preso's Integrations
Preso integrates with your existing tools: Slack, Google Drive, Salesforce, HubSpot, and more. If your client data lives in Salesforce or HubSpot, you can pull it directly into Preso instead of syncing through Notion. This simplifies your pipeline and reduces manual steps.
Pitfall 1: Vague Deck Descriptions
If your automation sends a generic description to Preso (like "Create a pitch deck"), you will get a generic deck. Be specific. Tell Preso exactly what slides you want, what tone to use, and what data to highlight.
Pitfall 2: Unstructured Notion Data
If your Notion database is messy (inconsistent field names, missing data, poorly formatted text), your decks will be messy too. Spend time upfront cleaning and structuring your database. Use consistent naming, required fields, and clear definitions.
Pitfall 3: Forgetting to Test
Before you flip the automation live, test it with a fake client record. Make sure the deck generates, the data populates correctly, and the link is written back to Notion. Do not find out your automation is broken when it is supposed to send a deck to a real client.
Pitfall 4: Not Monitoring for Errors
Set up alerts in your automation tool so you know when a step fails. If the API call to Preso returns an error, you need to know immediately so you can fix it. Do not assume everything is working if you are not actively checking.
Pitfall 5: Ignoring Client Feedback
Once your pipeline is live, ask clients for feedback on the decks. Do they like the layout? Is the tone right? Are there slides they wish you had included? Use that feedback to refine your deck descriptions and improve future generations.
Let us walk through a concrete scenario. You are a design agency. Every time you land a new client, you create a project kickoff deck that outlines scope, timeline, deliverables, and next steps.
Today, that process takes an hour. You manually copy the client name, project details, and timeline into a PowerPoint template, swap in their logo, and hope the colors match your brand.
With a Notion-to-Preso pipeline, here is what happens:
A new client record is created in your Notion database. You fill in: Client Name ("Acme Corp"), Project Scope ("Rebrand and launch campaign"), Key Deliverables ("Brand Strategy, Creative Design, Campaign Planning"), Timeline ("Jan - Mar 2026"), Status ("Prospect").
Once the deal is won, you change Status to "Active."
Zapier detects the status change and sends a request to Preso's API with the client data and a detailed description: "Create a professional project kickoff deck for Acme Corp. Include a title slide with the client name and logo, a project overview slide describing the rebrand and campaign launch, a deliverables breakdown listing brand strategy, creative design, and campaign planning, a timeline slide showing Jan - Mar 2026, a success metrics slide, and a next steps slide. Use our brand colors and fonts. Professional, modern tone."
Preso generates a complete, on-brand deck in seconds. The AI lays out each slide, pulls in your logo and colors, and writes placeholder text that your team can refine.
Zapier writes the shareable deck link back to Notion in the "Deck Link" field and checks the "Deck Generated" box.
Your account manager receives a Slack notification with the deck link. They review it in Preso, tweak a few headlines to match the client's voice, and mark it "Approved" in Notion.
A second automation detects the "Approved" status and sends the deck to the client via email with a shareable link and a note: "Your project kickoff deck is ready. Review it here [link] and let us know if you have any questions."
The client views the deck in their browser, sees a polished, professional presentation, and approves the project to move forward.
Time invested: 15 minutes to set up the automation. Time saved per client: 45 minutes. Time to first deck: 2 minutes.
Scale that across 20 clients a year, and you are saving 15 hours of design and assembly work annually. More importantly, every client gets a deck that looks designed, not templated.
Once your basic pipeline is working, you can extend it in several directions.
Personalized Sales Decks
If you are a sales team creating client-ready decks, build a pipeline that generates a unique deck for each prospect. Pull account details from your CRM (company size, industry, recent news), and use that to personalize the pitch. Preso can generate a deck that speaks directly to each prospect's pain points and goals.
Investor Updates
If you are a startup managing board and investor relations, build a pipeline that generates monthly or quarterly investor update decks. Pull metrics from your analytics, financial data from your accounting system, and product updates from your roadmap. Preso generates a consistent, professional update that you can send to your board and investors.
Campaign Decks
If you are a marketing team planning campaigns, build a pipeline that generates campaign briefs and status decks. Pull campaign details, budget, timeline, and expected results from your project management tool, and Preso generates a polished brief that you can share with stakeholders.
Webinar and Training Decks
If you deliver training or webinars, build a pipeline that generates decks from your training outlines. Describe the learning objectives, topics, and key takeaways, and Preso generates a structured deck with slides for each module.
The pattern is the same: structure your source data in Notion (or pull it from another system), describe the deck you want, and let Preso generate it automatically. As your pipeline matures, you can add approval workflows, version control, and distribution rules.
Presentation design is a bottleneck for most teams. You either hire a designer (expensive and slow), use templates (generic and forgettable), or spend hours manually building decks (time you should be spending on strategy).
A Notion-to-Preso pipeline removes that bottleneck. Your source data lives in Notion, your brand rules live in Preso, and your automation handles the rest. Decks are generated on demand, on-brand, and ready to share.
This is especially powerful for agencies, consultants, and sales teams who generate dozens of decks a year. Instead of a design bottleneck, you have a scalable system. Every client gets a professional deck. Every deck respects your brand. Every process is repeatable.
The initial setup takes a few hours. But once it is working, you are saving time on every single deck you generate. That is time you can spend on strategy, client relationships, and closing deals.
You now have the full blueprint. Here is how to get started:
Structure your Notion database. Add the fields you need: client name, project scope, deliverables, timeline, status, and deck link.
Set up your brand kit in Preso. Define your colors, fonts, logo, and any reusable components. Lock critical elements so nothing off-brand ships.
Choose your automation platform. Zapier is the easiest for most teams, but Make, n8n, and Power Automate all work.
Build your first automation. Create a trigger in Notion (status change), connect it to Preso's API, and test with a fake client record.
Refine and scale. Once the pipeline is working, optimize your deck descriptions, add approval workflows, and extend it to other deck types.
The tools are ready. The process is clear. The only thing left is to build your deck.
Head to Preso and start building. Describe your first deck in plain English, set up your brand kit, and see how fast you can generate an on-brand presentation. Then wire it into Notion and let the automation handle the rest.
Your next client deck is waiting. Let Preso generate it.