Skip to content

Every 15 minutes

Combine images in a Drive folder into one PDF

Images you add to your Drive 'To PDF' folder are placed one per page and saved as a single PDF in the same folder.

Runs
Every 15 minutes
Apps
Google Drive, Google Slides
AI
Not needed
Access
Drive read+write; Slides write

Send this to your assistant

Create a ClickRuntime automation: every 15 minutes, when there are new images in my Drive 'To PDF' folder, put each on its own slide and save a PDF of them in the same folder.

Paste it into your assistant. It tells you what it will send or change before it runs live.

First time? Adding ClickRuntime to your assistant takes about two minutes.

Why use it

Why teams use this automation

Field teams photograph receipts, site visits or signed forms on their phones, and the office needs them as one PDF for a client or an expense claim. Combining images by hand means installing tools or emailing photos around.

Dropping the photos into one Drive folder and getting a PDF back is something anyone can do from their phone.

What you get out of it

  • One PDF from many photos

    Site photos or receipts become a single document to send or file.

  • Works from a phone

    Upload to Drive from anywhere; the PDF appears in the same folder.

  • No extra software

    Everything happens in your own Google Drive.

  • Tidy, consistent pages

    Each image gets its own page, scaled to fit.

How it works

What happens, step by step

  1. Every 15 minutes, ClickRuntime checks your To PDF folder for images it hasn't used yet.

  2. It creates a new presentation and places each image on its own slide.

  3. It saves the presentation as a PDF in the same folder.

  4. It remembers which images were used, so they're not added to the next PDF.

Before it runs live

  • Connect Google Drive
  • Connect Google Slides

What you get

RunsEvery 15 minutes
Combine images in a Drive folder into one PDFtoday, 9:00Succeeded
Google Drive · To PDFImages 2026-10-19.pdf – 7 pages

Build your own

Need it to work differently?

This template is a starting point. Copy the prompt and change it, or describe a different automation from scratch, with your own conditions, more apps or an AI step. Your assistant writes it, tests it and runs it on ClickRuntime.
  • Your own rules

    Conditions, thresholds, filters and exceptions, written the way you'd explain them to a colleague.

  • Any number of apps

    One automation can read from one app and update several others. Over 248 apps are ready, and anything with an API works too.

  • AI where it helps

    Summaries, classification, extraction and drafts use ClickRuntime's built-in AI, with no extra key.

  • On a schedule or on each event

    Runs as often as every 5 minutes, or the moment an app sends an event, and keeps track of what it already handled.

Changes you can ask for

  • Act only on the items that match your own rules, and skip the rest
  • Add an AI step, for example to summarize, sort or draft a reply
  • Add another app, for example also send it to Slack
  • Combine it with other Google Drive and Google Slides steps into one automation

Under the hood

The code that runs this automation

This is the Python script that runs each time the automation starts. Your AI assistant writes it for you when you send the prompt, and you allow each step in your assistant. To change how the automation works, describe the change to your assistant and it updates the script for you. For every function it can use, see the script reference.
convert_drive_images_into_a_pdf_via_slides.pyexample
import io
from datetime import date
from google.oauth2.credentials import Credentials
from googleapiclient.discovery import build
from googleapiclient.http import MediaIoBaseUpload
from clickruntime import on_trigger, credentials, http, state, report_fetched

FOLDER = "to-pdf-folder-id"

@on_trigger
def run(event):
    drive, done = build("drive", "v3", credentials=Credentials(credentials.connection("google", "work")), cache_discovery=False), set(state.get("done") or [])
    images = [f for f in drive.files().list(q=f"'{FOLDER}' in parents and mimeType contains 'image/' and trashed=false", orderBy="name",
              fields="files(id,name)").execute()["files"] if f["id"] not in done]
    report_fetched(len(images))
    if not images:
        return {"summary": "Nothing new"}
    slides = build("slides", "v1", credentials=Credentials(credentials.connection("google", "work")), cache_discovery=False).presentations()
    deck = slides.create(body={"title": f"Images {date.today()}"}).execute()["presentationId"]
    reqs = []
    for i, img in enumerate(images):
        drive.permissions().create(fileId=img["id"], body={"type": "anyone", "role": "reader"}).execute()
        reqs += [{"createSlide": {"objectId": f"s{i}", "insertionIndex": i}},
                 {"createImage": {"url": f"https://drive.google.com/uc?id={img['id']}", "elementProperties": {"pageObjectId": f"s{i}"}}}]
    slides.batchUpdate(presentationId=deck, body={"requests": reqs}).execute()
    pdf = drive.files().export(fileId=deck, mimeType="application/pdf").execute()
    drive.files().create(body={"name": f"Images {date.today()}.pdf", "parents": [FOLDER]}, media_body=MediaIoBaseUpload(io.BytesIO(pdf), mimetype="application/pdf")).execute()
    for img in images:
        drive.permissions().delete(fileId=img["id"], permissionId="anyoneWithLink").execute()
    state.set("done", list(done | {i["id"] for i in images})[-2000:])
    return {"images": len(images)}

FAQ

Common questions

Which image types work?
JPEG, PNG and GIF images stored in Drive.
What order are images in?
By file name, so naming photos 01, 02, 03 sets the order.
Are the original images kept?
Yes. They stay in the folder; ask for them to be moved to a Done subfolder if you prefer.
What permissions does it need?
Drive read+write; Slides write. Nothing else in your accounts is used.
Does it need AI?
No. It runs without AI, so it doesn't use your plan's AI allowance.
How many runs does it use?
One run each time it checks. Checks that find nothing new and stop right away aren't counted.
Can I change how it works?
Yes. Describe the change to your AI assistant, for example a different schedule, channel or filter. It updates the automation, tests it and tells you what changed.

Set up “Combine images in a Drive folder into one PDF” from your assistant

Copy the prompt above, or connect your assistant first. Free plan, no credit card.