How I automate custom Google Slides and turn them into images with no-code

— Juliet Edjere

Creating presentations can be a chore. Creating personalized presentations – like proposals for new clients, reports for partners, or certificates for program completion – can feel like a punishment. The endless copy-pasting, adjusting layouts, double-checking names and numbers... it's tedious, time-consuming, and a prime candidate for human error.

I used to spend hours on this. Draft a proposal template, open the client's file, copy their name, and paste it into the title slide. Copy their company name, and paste it into the intro. Find the specific details of our agreement, copy, paste, format, adjust... multiplied by every single lead I was pitching. It was soul-crushing work that took away from actually selling.

I knew there had to be a better way. "Automation" and "no-code tools" could connect different apps. My goal was simple: when a lead reached a certain stage in my pipeline, I wanted a personalized proposal slide deck, ready to go, maybe even converted into a handy image format I could easily share.

You can build this workflow yourself with no-code tools. I'm going to walk you through exactly how I set up a system using Baserow (my simple CRM), Google Slides (for the template), and Zapier (the glue that connects them), plus a tool like Bannerbear or CloudConvert to turn the final slide into a JPG.

Ready to save hours and impress your clients with perfectly tailored slides? Let's dive in.

The pain of manual personalization

Before we build the solution, let's just acknowledge the pain point. Whether it's sales proposals, marketing reports, event badges, or internal updates, manually customizing documents for individuals or specific situations is a massive drain on productivity.

  • It's repetitive: You're doing the same steps over and over, just with different data.
  • It's prone to errors: One slip of the copy-paste finger and you've got the wrong name on a crucial document. Awkward!
  • It doesn't scale: As your business grows, the time spent on this task grows linearly. You become a bottleneck.

My breaking point was when I realized I was delaying sending out proposals because I just couldn't face the manual customization process again. That's when I knew I had to find an automated solution.

The toolkit

Here's what we need:

  1. Google Slides: For creating presentations. We'll use it to design a template.
  2. Baserow: A flexible, spreadsheet-database hybrid. This is where our data (client name, project details, etc.) will live. You could also use Google Sheets or another CRM, but Baserow works beautifully for this.
  3. Zapier: For connecting apps without code. It watches for something to happen in one app (like a new record in Baserow) and triggers an action in another (like creating a Google Slide).
  4. Bannerbear or CloudConvert: Tools that can take a presentation file and convert it into an image (like a JPG) or other formats. Bannerbear is excellent if you want to do more design-heavy image generation, while CloudConvert is a fantastic all-around file conversion tool. We'll use one of these in Zapier.

Step 1: Prepare Google Slides template

This is where the personalization begins. Instead of typing actual client names, we'll use placeholders that Zapier can later fill in.

  • Go to Google Slides and create a new presentation or open an existing template you love.

  • Identify all the pieces of information that you want to dynamically replace based on your data (e.g., Client Name, Project Name, Date, Specific Fee, etc.).

  • For each piece of data, insert a placeholder surrounded by double curly brackets {{ }}. The text inside the brackets should be descriptive and easy to recognize.

    • Example:

      • Instead of typing "Proposal for Acme Corp", type Proposal for {{Client Name}}
      • Instead of typing "Prepared for John Doe", type Prepared for {{Contact Name}}
      • Instead of typing the date manually, type Date: {{Proposal Date}}
      • If you have a specific number or detail, like a fee: Investment: {{Agreed Fee}}
  • Go through your entire template, replacing all the dynamic information with these unique {{placeholder}} tags. Make sure the tags are distinct! Save your presentation.

Step 2: Set up data source in Baserow

We need a place for Zapier to pull the dynamic information from. Baserow is perfect for this.

  • Open your Baserow account and create a new base (or use an existing one).
  • Set up columns for all the data you want to include in your Google Slide. Make sure the column names are clear (e.g., Client Name, Contact Name, Proposal Date, Agreed Fee). Match these conceptually to your Google Slides placeholders.
  • Add some test data into the rows.
  • Crucially: Add a Single Select field (I called mine Sales Stage) to track where the lead is in your pipeline. Add options like Lead, Contacted, Proposal, Negotiation, Won, Lost.
  • Create a Filtered View: This is for controlling when the automation runs. Create a new Grid View (I named mine Ready for Proposal). Add a filter to this view where the Sales Stage column is set to Proposal. This way, our Zapier automation will only trigger for records that enter this specific view.

Step 3: Build the Zapier workflow

Now, let's connect everything in Zapier.

  • Log in to Zapier and click "Create Zap".

  • Step 1: Choose Trigger

    • App & Event: Search for Baserow and select New Record In View as the Trigger Event.
    • Account: Connect your Baserow account.
    • Trigger: Select your Baserow Base, then select the Table containing your lead data, and finally, select the View you created specifically for proposals (e.g., Ready for Proposal).
    • Test: Zapier will ask you to test the trigger. Click "Test trigger" to pull in a recent record from your filtered view. Make sure you have at least one record in that view in Baserow for the test to work! This record's data will be used for setting up the next steps.
  • Step 2: Choose Action (Create Google Slide)

    • App & Event: Search for Google Slides and select Create Presentation from Template as the Action Event.

    • Account: Connect your Google Slides account.

    • Action:

      • Presentation To Copy From: Find and select the Google Slides template you created in Step 1 (the one with the {{placeholders}}).
      • New Presentation Name: Give your new presentation a dynamic name! You can use data from your Baserow record here. Something like {{Client Name}} Proposal {{Proposal Date}} works great.
      • Mapping Placeholder Values: This is the satisfying part! Zapier will show you a list of fields corresponding to the {{placeholder}} tags it found in your Google Slides template. For each placeholder field (e.g., Client Name, Contact Name), click on it and select the corresponding column from your Baserow trigger step (1. Client Name, 1. Contact Name, etc.). This tells Zapier which data goes into which placeholder.
      • (Optional) Folder: Choose a Google Drive folder where you want the new presentations to be saved.
    • Test: Test this step. Head over to your Google Drive or Google Slides and check that a new presentation was created from your template, with the data from your Baserow test record correctly filled into the placeholders. It feels pretty cool the first time you see it!

  • Step 3: Choose Action (Convert to Image)

    • App & Event: Search for Bannerbear or CloudConvert.

      • If using Bannerbear: Select Create Image (or similar, depending on your setup in Bannerbear – this tool often requires setting up templates within Bannerbear first).
      • If using CloudConvert: Select Convert File.
    • Account: Connect your Bannerbear or CloudConvert account.

    • Action:

      • If using Bannerbear: You'll typically select the Bannerbear template you want to use (which would be designed to match your slide layout) and then map the data fields from your Google Slides output (Step 2) or Baserow trigger (Step 1) to the corresponding fields in your Bannerbear template. Bannerbear is powerful if you want more control over the design of the final image generated from the data.
      • If using CloudConvert: You'll need to tell it which file to convert. Use the output from the previous Google Slides step! Select the file created by Google Slides (it might be labelled something like 2. Presentation File). Then, choose the Convert To format, selecting jpg. You might need to specify the input format as Google Slides or PDF if that's an option.
    • Test: Test this step. Check your Bannerbear or CloudConvert account (or where the output is sent, you might add a further Zapier step to save the image to Google Drive or attach it back to the Baserow record) to see the converted image of your slide.

Put it all together

Once your Zap is active, the workflow is seamless:

  1. You update a lead's Sales Stage in Baserow to Proposal.

  2. Because of the filtered view, this triggers the Zap.

  3. Zapier pulls the data from that Baserow record.

  4. Zapier tells Google Slides to create a new presentation from your template, filling in the {{placeholders}} with the data from Baserow.

  5. Zapier then sends the newly created Google Slide presentation to Bannerbear or CloudConvert.

  6. Bannerbear or CloudConvert converts the slide (or the first slide, depending on your setup) into a JPG image.

  7. (Optional) You could add further Zapier steps here to automatically:

    • Attach the generated JPG back to the Baserow record.
    • Send the JPG in an email.
    • Upload the JPG to a specific folder in Google Drive or Dropbox.

Imagine the time saved! Instead of hours of manual labour, updating one field in Baserow kicks off a chain reaction that delivers a perfectly personalized document (and image) in minutes.

Other use cases

This automation pattern isn't limited to sales proposals. You can adapt it for:

  • Personalized reports: Generate monthly reports for clients or team members based on data in a spreadsheet.
  • Event badges or certificates: Create custom name badges or certificates of completion from a list of attendees.
  • Social media graphics: If you have data you want to visualize simply, you could generate simple graphical updates.
  • Onboarding documents: Create welcome slides or personalized checklists for new employees or clients.

The core concept is the same: use a template, populate it with dynamic data from a source, and automate the process with Zapier.

Building this automation was a lightbulb moment for me. It proved that I didn't need to hire a developer or learn to code to solve a real business problem. I just needed to understand the tools available and how to connect them logically. It freed up my time, reduced errors, and made my sales process feel significantly more professional and scalable.

If you're drowning in manual customization tasks, I highly encourage you to try building a similar workflow. Start simple, perhaps just generating the slide first, then add the image conversion step. The time you save and the frustration you avoid will be well worth the initial setup effort.

Ready to stop copy-pasting and start automating? Give this workflow a try!


ABOUT ME

I'm Juliet Edjere, a no-code professional focused on automation, product development, and building scalable solutions with no coding knowledge.

I document all things MVP validation and how designs, data, and market trends connect.

Click. Build. Launch.

Visit my website → built with Carrd and designed in Figma

Powered By Swish