# Turn your Google Calendar into a printable PDF Google Calendar to PDF with your own layout. Make a weekly agenda, daily schedule or event list as a PDF automatically with n8n, Make or Zapier. **Quick answer.** On a schedule, n8n, Make or Zapier pulls your upcoming events from Google Calendar. The events go into an agenda template, html-pdf.com turns it into a PDF, and the PDF lands in your inbox or a shared folder. ## What you'll build A Monday morning PDF with the week ahead. A daily room schedule to print and pin on the door. A list of every client meeting last month, ready to attach to an invoice or timesheet. Google Calendar's print option works for a quick copy. This approach gives you your own layout, can combine several calendars, and runs by itself on a schedule. ## What you need - **A Google account** with the calendars you want to include. - **n8n**, **Make** or **Zapier**. n8n and Make are easiest because they can fetch many events at once. - **A design.** The [report template](https://html-pdf.com/templates/report) is a good start for an agenda. A template is a ready made page design, so you only change the text. - **An API key** from [html-pdf.com](https://html-pdf.com/login). You get 100 free pages once, with no card. ## Step by step with n8n 1. **Schedule.** Add a **Schedule Trigger**, for example every Monday at 7:00. 2. **Get events.** Add a **Google Calendar** node with **Event → Get Many**. Pick the calendar and set the start and end to cover the next 7 days. 3. **Build the agenda.** Add a **Code** node that groups events by day and turns them into rows. 4. **Make the PDF.** Add an **HTTP Request** node. Method `POST`, URL `https://html-pdf.com/v1/pdf`, header `Authorization` with `Bearer hp_live_...`, and a JSON body like the one below. Set the response format to **File**. 5. **Deliver.** Add **Gmail** to email it, or **Google Drive** to save it. ```json { "html": "

Week of 12 Oct 2026

Monday

09:00 Team standup

14:00 Call with Acme

Tuesday

11:00 Dentist

", "format": "A4", "filename": "agenda-2026-10-12.pdf" } ``` The [n8n guide](https://html-pdf.com/guides/n8n) shows each node setting. ## Step by step with Make 1. Set the scenario to run weekly. 2. Add **Google Calendar → Search Events** for the date range you want. 3. Add a **Text aggregator** that builds one line per event. 4. Add **HTTP → Make a request** posting to `https://html-pdf.com/v1/pdf`, with `"response": "url"` in the body. 5. Email the link or upload the file. The [Make guide](https://html-pdf.com/guides/make) has the details. ## With Zapier Use **Schedule by Zapier** as the trigger and **Google Calendar → Find Events** to search for events, then **Webhooks by Zapier → Custom Request** to make the PDF. Zapier searches may return only a limited number of events, so this suits short daily schedules best. See the [Zapier guide](https://html-pdf.com/guides/zapier). ## Code path for developers In Google Apps Script, attached to your Google account, the whole thing fits in one function. ```js function weeklyAgendaPdf() { const start = new Date(); const end = new Date(start.getTime() + 7 * 864e5); const events = CalendarApp.getDefaultCalendar().getEvents(start, end); const rows = events.map(e => `${Utilities.formatDate(e.getStartTime(), Session.getScriptTimeZone(), "EEE d MMM HH:mm")}${e.getTitle()}` ).join(""); const res = UrlFetchApp.fetch("https://html-pdf.com/v1/pdf", { method: "post", contentType: "application/json", headers: { Authorization: "Bearer " + PropertiesService.getScriptProperties().getProperty("HTML_PDF_KEY") }, payload: JSON.stringify({ html: `

This week

${rows}
`, format: "A4" }), }); GmailApp.sendEmail(Session.getActiveUser().getEmail(), "Your agenda", "Attached.", { attachments: [res.getBlob().setName("agenda.pdf")] }); } ``` Add a weekly time trigger in Apps Script and it runs by itself. ## Ask your AI agent Connect the [html-pdf.com MCP server](https://html-pdf.com/pdf-mcp-server) to an assistant that can read your calendar. > Look at my Google Calendar for next week and use html-pdf to make a one page A4 agenda. One column per weekday, meetings in bold, and a notes box at the bottom. ## FAQ ### Can I print a Google Calendar month view? This approach builds the page from your events, so you can make a month grid, but you design it in the template. For a quick printed view, Google Calendar's own print option is simpler. ### Can I include several calendars? Yes. Fetch events from each calendar, merge them in the Code node or aggregator, and add a color per calendar. ### Can I make a PDF for a single event? Yes. Use the new event trigger in Zapier or n8n and fill a template like the [event ticket](https://html-pdf.com/templates/event-ticket) with the event details. ### How much does it cost? A one page weekly agenda uses one credit. You get 100 free pages once, then packs start at $10 for 1,000 pages.