🚀 DeckMedic · Sales Factory Suite · Tool 1 of 1

Bulk Personalizer
Mail Merge for PowerPoint

B2B sales reps and agency account managers spend hours manually editing pitch decks for every account. This tool replaces that entirely. Upload your template with {{FieldName}} placeholders and a leads CSV — every row becomes a fully personalized PPTX with the right company name, logo, and brand color. All 50 decks, ready in under a minute.

🔒

Zero upload

Files stay in your browser

Bulk output

One ZIP, every deck

🆓

Free

No account required

📊

CSV → PPTX×N

One row = one deck

{{Company}}{{First_Name}}{{Industry}}{{City}}Logo_URLBrand_Color

Step 1 · Template PPTX

📊

Drop Template.pptx

Your master slide deck
with {{Placeholders}}

Step 2 · Leads CSV

📋

Drop Leads.csv

One row per lead
Headers = your {{fields}}

CSV column guide

Any column

Maps to {{ColumnName}} in slides

Logo_URL

Fetches & swaps LOGO_PLACEHOLDER image

Brand_Color

Sets primary dark color e.g. #1E40AF

Company (first)

Used as output filename prefix

What this tool actually does

← drag handle to compare  ·  left = before  ·  right = after →

✕ Before
  • Template{{Company}}, {{First_Name}}...
  • CSV rows3 leads
  • Manual work~60–80 min
✓ After
  • Decks generated3 personalized PPTX
  • OutputAcme Corp, Beta Inc, Gamma Ltd
  • Time~38 seconds
📖 How it works · Template setup · CSV format · Logo & color guide

Processing pipeline

  1. 1

    Parse CSV

    The leads CSV is parsed with a full RFC 4180-compliant parser — handles quoted fields, embedded commas, embedded newlines, and the Excel UTF-8 BOM prefix. Each row becomes a key–value map where keys are column headers.

  2. 2

    Merge text nodes + replace placeholders

    For each row, a fresh copy of the template is loaded. Before replacement, mergeTextNodes() re-joins any <a:t> runs that spell-check has split — ensuring {{Company}} is found even if PowerPoint stored it as {{ + Company}}. Then every {{FieldName}} is replaced with the XML-escaped row value.

  3. 3

    Logo swap (optional)

    If a Logo_URL column is present, the tool searches all slide XMLs for a <p:pic> element with descr="LOGO_PLACEHOLDER". It finds the image's relationship ID, resolves the ppt/media/ path via the rels file, and overwrites the binary with the fetched logo. The image dimensions and position in the slide are preserved exactly.

  4. 4

    Brand color (optional)

    If a Brand_Color column contains a hex value (e.g. #1E40AF), the tool opens every ppt/theme/theme*.xml and replaces the <a:dk1> element with <a:dk1><a:srgbClr val="1E40AF"/></a:dk1>. This changes every shape, line, and text that inherits the Primary Dark color from the theme.

  5. 5

    Repack + ZIP

    Each personalized deck is repacked as a valid PPTX (DEFLATE-compressed ZIP) and added to the output archive. The final Campaign_Results.zip contains all decks named CompanyName_1.pptx, CompanyName_2.pptx, etc.

CSV format reference

Example CSV (headers define placeholders):

Company,First_Name,Industry,City,Logo_URL,Brand_Color

Acme Corp,Alice,Technology,New York,https://cdn.example.com/acme.png,#1E40AF

Beta Inc,Bob,Finance,Chicago,,#0F766E

Gamma Ltd,Carol,Healthcare,San Francisco,,

  • Any column header maps to {{ColumnHeader}} in your slides.
  • Logo_URL — full URL to the company logo image (PNG, JPG, WebP). Leave empty to skip logo swap.
  • Brand_Color — 6-digit hex with or without #. Leave empty to skip color change.
  • Export from Excel, Google Sheets, HubSpot, Salesforce, or any CRM — all produce valid CSV.

Template setup tips

  • Use consistent placeholder syntax: {{Company}} not [[Company]] or [Company]. The double-brace format is guaranteed not to appear in normal business text.
  • Type placeholders as a single un-interrupted keystroke sequence — do not paste, do not autocorrect, do not format mid-word. This prevents PowerPoint from splitting the token across runs.
  • To add a logo slot: Insert → Image → choose any placeholder image → right-click → Edit Alt Text → set description to exactly LOGO_PLACEHOLDER.
  • Brand Color affects shapes, text boxes, lines, and borders that inherit from the Primary Dark theme slot. Shapes with hardcoded fill colors are not affected — use theme colors in your template for full control.

Bulk Personalizer vs. Alternatives

Method Speed Privacy Handles PPTX natively
Bulk Personalizer (this tool) Instant — all decks in one pass ✅ 100% local, zero upload ✅ PPTX in, PPTX out, no conversion
Word mail merge + PDF print Slow — requires Word + manual steps ✅ Local ❌ Outputs PDF, not editable PPTX
VBA macro Fast once written ✅ Local ✅ Yes, but requires developer setup
SaaS mail merge tools Fast ❌ File uploaded to server ⚠️ Varies — many require cloud storage

Who uses Bulk Personalizer

🏢

Sales Teams

Send 50 personalized investor or prospect decks without copy-pasting names and logos into each one. Drop a CSV, download a ZIP.

🏫

Educators & Trainers

Generate individual certificate and results decks for every student or trainee from a single master template and attendance sheet.

📊

Agencies & Consultants

Deliver white-labeled decks personalized to each client’s name, logo placeholder, and metrics in minutes, not hours.

Frequently Asked Questions

Does this work with PowerPoint templates from Canva or Beautiful.ai?

Yes, as long as the file can be exported as .pptx. Canva, Beautiful.ai, Pitch, and Gamma all offer PPTX export. Open the exported file in PowerPoint, add your {{placeholders}}, set your LOGO_PLACEHOLDER alt text, save as .pptx, and upload here.

Can I use data from HubSpot or Salesforce CRM?

Yes. Export your contact or company list as CSV from any CRM — HubSpot, Salesforce, Pipedrive, Close.io, Apollo, Outreach, or any spreadsheet tool. Map the column headers to match your placeholder names in the template. The CSV parser handles all standard export formats including Excel BOM-prefixed UTF-8.

What if some leads should not have a logo or color change?

Leave the Logo_URL or Brand_Color cell empty for those rows. The tool skips those steps when the value is empty — text replacement still applies. You can mix rows with and without visual customization in the same campaign.

Will the output PPTX files open in Google Slides and Keynote?

Yes. The output is standard OOXML (.pptx) with DEFLATE compression, identical to files saved by PowerPoint. Google Slides and Apple Keynote both open PPTX files. If your template uses Windows fonts (Calibri, Segoe UI) and no OLE objects, it will render correctly in both viewers.

Before you send — also run

🔗

Excel Link Surgeon →

Fix broken Excel OLE links so your personalized decks open clean on client machines.

🚔

Font Police →

Replace Mac-only fonts before delivering to Windows clients. Prevent layout breaks.

🧹

Metadata Wiper →

Remove author name and company from docProps before sending personalized decks.