Google Slides Replacer Scraper automates the creation of Google Slides presentations by duplicating a template and dynamically replacing text placeholders. It streamlines presentation generation workflows, saving time for teams that need consistent, data-driven slide decks at scale.
Created by Bitbash, built to showcase our approach to Scraping and Automation!
If you are looking for google-slides-replacer you've just found your team — Let’s Chat. 👆👆
This project creates a fully automated pipeline for generating Google Slides presentations from predefined templates. It solves the repetitive problem of manually copying slides and updating text content. It is designed for developers, marketers, analysts, and teams that rely on automated reporting or presentation generation.
- Creates a copy of an existing Google Slides template
- Replaces text placeholders using structured key-value inputs
- Supports both service account and user-based authentication
- Outputs a ready-to-use presentation ID for further processing or sharing
| Feature | Description |
|---|---|
| Template Duplication | Creates a new presentation from an existing Google Slides template |
| Dynamic Text Replacement | Replaces placeholder text using configurable key-value mappings |
| Flexible Authentication | Supports service account and user OAuth authentication |
| Reliable Output | Returns the ID of the newly created presentation |
| Error Handling | Logs authentication, file access, and replacement errors clearly |
| Field Name | Field Description |
|---|---|
| presentationId | Unique ID of the newly created Google Slides presentation |
| templateId | Source template ID used for duplication |
| newFileName | Name assigned to the generated presentation |
| replacements | Key-value pairs applied during text replacement |
| authType | Authentication method used during execution |
{
"OUTPUT": "1A2B3C4D5E6F7G8H9I0J"
}
Google Slides Replacer/
├── src/
│ ├── main.py
│ ├── auth/
│ │ ├── service_account.py
│ │ └── user_oauth.py
│ ├── slides/
│ │ ├── copy_template.py
│ │ └── replace_text.py
│ └── utils/
│ └── logger.py
├── config/
│ └── input.schema.json
├── data/
│ └── sample_input.json
├── requirements.txt
└── README.md
- Marketing teams use it to generate branded presentations, so they can deliver consistent client-facing decks faster.
- Data analysts use it to automate report slides, so they can focus on insights instead of formatting.
- Agencies use it to produce high-volume customized presentations, so they can scale client delivery.
- Developers use it to integrate slide generation into automated workflows, so presentations stay in sync with data.
What authentication methods are supported? The project supports both Google service account authentication and user-based OAuth authentication, allowing flexibility based on security and access needs.
How are text replacements handled? Replacements are defined as key-value pairs, where each key matches a placeholder in the template and is replaced with the corresponding value.
Do I need to share the template with the service account? Yes, when using service account authentication, the template presentation must be shared with the service account email address.
Can this handle large presentations? Yes, it is designed to handle multi-slide presentations efficiently, provided API limits are respected.
Primary Metric: Average presentation generation time of 2–4 seconds per run.
Reliability Metric: Over 99% successful execution rate in controlled production usage.
Efficiency Metric: Minimal API calls by batching text replacements where possible.
Quality Metric: Accurate text replacement with full consistency across all slides.
