Skip to main content

Copy Presentation

Creates a copy of an existing Google Slides presentation.

Common Properties

  • Name - The custom name of the node.
  • Color - The custom color of the node.
  • Delay Before (sec) - Waits in seconds before executing the node.
  • Delay After (sec) - Waits in seconds after executing node.
  • Continue On Error - Automation will continue regardless of any error. The default value is false.
info

If the ContinueOnError property is true, no error is caught when the project is executed, even if a Catch node is used.

Inputs

  • Presentation Id - The ID of the Google Slides presentation to be copied.
  • Title - The new title for the copied presentation.

Options

  • Credentials - Google account credentials used to authenticate with the Google Slides API.
  • Share With - An array of objects specifying users to share the copied presentation with. Each object must contain Role, Type, and EmailAddress properties. An optional EmailMessage property can also be included.
  • Send Notification Mail - If enabled, sends notification emails to users when sharing the presentation.

Output

  • Presentation Url - The URL of the newly created presentation copy.

How It Works

The Copy Presentation node creates a duplicate of an existing Google Slides presentation. When executed, the node:

  1. Validates the provided inputs (Presentation Id, Title)
  2. Authenticates with Google Slides API using the provided credentials
  3. Creates a copy of the specified presentation with the new title
  4. Optionally shares the copied presentation with specified users
  5. Returns the URL of the newly created presentation

Requirements

  • A valid Google Slides presentation ID to copy
  • Valid Google API credentials with appropriate permissions
  • A new title for the copied presentation
  • Proper Google Drive permissions to create and share files

Error Handling

The node will return specific errors in the following cases:

  • Empty or invalid Presentation Id
  • Empty or invalid Title
  • Invalid or missing Google API credentials
  • Google Slides API authentication errors
  • Insufficient permissions to copy the presentation
  • Invalid Share With configuration
  • Google Drive service errors

Usage Notes

  • The Presentation Id can be found in the URL of the Google Slides presentation
  • The copied presentation will have the same content as the original but with the new title
  • The Share With option allows you to specify an array of users to share the copied presentation with
  • Each Share With object should include:
    • Role: The permission role (e.g., "writer", "reader", "owner")
    • Type: The type of user (e.g., "user", "group")
    • EmailAddress: The email address of the user or group
    • EmailMessage (optional): A custom message to include in the sharing notification
  • If Send Notification Mail is enabled, users will receive email notifications when the presentation is shared with them
  • The output Presentation Url provides direct access to the newly created copy

Examples

Example 1: Copy a Template Presentation

Copy a master template to create a new working presentation:

Presentation Id: "1ABC_TEMPLATE_XYZ"
Title: "Q1 2024 Sales Report"

Creates an exact copy with all slides, layouts, and formatting preserved.

Example 2: Copy and Share with Team

Copy a presentation and immediately share with collaborators:

Presentation Id: "1ABC_ORIGINAL"
Title: "Project Proposal - Client ABC"
Share With:
[
{
"Role": "writer",
"Type": "user",
"EmailAddress": "designer@company.com",
"EmailMessage": "Please add the design mockups to slides 5-8"
},
{
"Role": "reader",
"Type": "user",
"EmailAddress": "manager@company.com"
}
]
Send Notification Mail: true

Example 3: Batch Copy for Multiple Clients

Copy a template multiple times for different clients:

// In a JS node
const clients = ["Acme Corp", "TechStart", "Global Industries"];
for (const client of clients) {
msg.title = `Proposal for ${client}`;
msg.presentationId = "1ABC_TEMPLATE";
// Copy Presentation node here
}

Tips for Effective Use

  1. Template Strategy: Maintain master templates and copy them for new instances rather than creating from scratch
  2. Naming Conventions: Include dates, client names, or version numbers in the copy title for organization
  3. Preserve Originals: Never modify the original template - always work on copies
  4. Immediate Sharing: Set up sharing during copy to ensure team members can access immediately
  5. URL Extraction: The output URL can be sent via email, stored in databases, or logged for tracking
  6. Batch Operations: Use loops to create multiple copies efficiently

Common Use Cases

Use Case 1: Weekly Report Generation

Copy a weekly report template every Monday:

// Scheduled to run every Monday
const today = new Date();
const weekNum = Math.ceil((today - new Date(today.getFullYear(), 0, 1)) / 604800000);
msg.title = `Weekly Report - Week ${weekNum} - ${today.getFullYear()}`;
msg.templateId = "1ABC_WEEKLY_TEMPLATE";

Then use Copy Presentation node to create the new report.

Use Case 2: Personalized Client Presentations

Create customized presentations for each client:

  1. Copy Presentation from template with client name in title
  2. Replace Text to insert client-specific data
  3. Replace Shapes with Image to add client logo
  4. Share with client's email address
  5. Send the presentation URL via email

Use Case 3: Multi-Language Versions

Create language-specific versions from a base presentation:

const languages = [
{ code: "en", name: "English" },
{ code: "es", name: "Spanish" },
{ code: "fr", name: "French" }
];

for (const lang of languages) {
msg.title = `Product Catalog - ${lang.name}`;
// Copy Presentation
// Then use Replace Text with translated content
}

Use Case 4: Version Control and Archiving

Create dated backups of important presentations:

const today = new Date().toISOString().split('T')[0];
msg.title = `${msg.originalTitle} - Backup ${today}`;

Workflow Integration

Complete Template-Based Workflow

  1. Copy Presentation: Create a working copy from template
  2. Extract URL: Get the presentation URL from output
  3. Get Presentation: Retrieve presentation ID from URL if needed
  4. Replace Text: Update placeholder text with actual data
  5. Add Images: Insert dynamic images and charts
  6. PDF Export: Save final version as PDF
  7. Share: Distribute via email or upload to storage

Data-Driven Presentation Generation

// Read data from spreadsheet or database
const records = msg.data; // Array of records

for (const record of records) {
// Copy template
msg.presentationId = "1ABC_TEMPLATE";
msg.title = `Report for ${record.name}`;

// Copy Presentation node creates the copy
// Store the URL for later use
msg.shareWith = [{
"Role": "reader",
"Type": "user",
"EmailAddress": record.email
}];
}

Common Errors and Solutions

ErrorCauseSolution
"Presentation ID cannot be empty"No ID providedEnsure Presentation Id input contains a valid ID
"Title cannot be empty"No title or title is "_"Provide a valid non-empty title for the copy
"No Credential Content"Credentials missing or invalidVerify credentials in Vault with proper Google Drive API access
Permission denied to copyAccount lacks view access to sourceEnsure authenticated account can view the source presentation
Copy failedSource presentation deleted or inaccessibleVerify source presentation exists and is accessible
Sharing failedInvalid email addresses in Share WithVerify all email addresses are valid and properly formatted
Insufficient quotaToo many copies createdGoogle Drive has daily limits; space out batch operations

Best Practices

  1. Template Management: Keep templates in a dedicated folder with restricted edit access
  2. Batch Throttling: Add delays between copies when creating many presentations to avoid rate limits
  3. Error Handling: Use try-catch blocks to handle cases where source presentation is unavailable
  4. Track Copies: Log created presentation URLs to a spreadsheet or database for tracking
  5. Clean Titles: Sanitize titles to remove invalid characters that might cause issues
  6. Permission Verification: Test sharing settings with a single copy before batch operations
  7. URL Storage: Store the output URL immediately as it's needed for subsequent operations