Create Presentation
Creates a new 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.
If the ContinueOnError property is true, no error is caught when the project is executed, even if a Catch node is used.
Inputs
- Title - The title for the new Google Slides 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 new 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 Id - The ID of the newly created presentation.
How It Works
The Create Presentation node generates a new Google Slides presentation with the specified title. When executed, the node:
- Validates the provided Title input
- Authenticates with Google Slides API using the provided credentials
- Creates a new presentation with the specified title
- Optionally shares the new presentation with specified users
- Returns the ID of the newly created presentation
Requirements
- A valid title for the new presentation
- Valid Google API credentials with appropriate permissions
- Proper Google Drive permissions to create and share files
Error Handling
The node will return specific errors in the following cases:
- Empty or invalid Title
- Invalid or missing Google API credentials
- Google Slides API authentication errors
- Insufficient permissions to create presentations
- Invalid Share With configuration
- Google Drive service errors
Usage Notes
- The Title input sets the name of the new presentation
- The Share With option allows you to specify an array of users to share the new 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 Id can be used with other Google Slides nodes to modify the presentation
- The newly created presentation will be accessible in the authenticated user's Google Drive
Examples
Example 1: Create a Simple Presentation
Create a new presentation with a basic title:
Title: "Monthly Sales Report - December 2024"
The node will create an empty presentation with one blank slide that you can populate using other nodes.
Example 2: Create and Share with Team
Create a presentation and automatically share it with team members:
Title: "Q4 Strategy Presentation"
Share With:
[
{
"Role": "writer",
"Type": "user",
"EmailAddress": "john@company.com",
"EmailMessage": "Please review and add your section"
},
{
"Role": "reader",
"Type": "user",
"EmailAddress": "manager@company.com"
}
]
Send Notification Mail: true
This creates the presentation and shares it with editing access for John and viewing access for the manager, with email notifications sent to both.
Example 3: Create Presentation for Service Account
When using a Service Account, create the presentation and share it with your user account:
Title: "Automated Report"
Credentials: [Service Account credentials]
Share With:
[
{
"Role": "writer",
"Type": "user",
"EmailAddress": "your.email@company.com"
}
]
This ensures the presentation created by the service account is accessible to your user account.
Tips for Effective Use
- Descriptive Titles: Use clear, descriptive titles that include dates or version numbers for easy identification
- Naming Conventions: Establish consistent naming patterns (e.g., "Department - Report Type - Date")
- Service Account Sharing: Always share presentations created by service accounts with at least one user account to ensure accessibility
- Batch Creation: Use loops to create multiple presentations from a list of titles or data sources
- ID Storage: Store the output Presentation Id in a variable or data table for use in subsequent workflow steps
- Permission Planning: Consider who needs access before creating the presentation to set up sharing immediately
Common Use Cases
Use Case 1: Weekly Report Automation
Create a new presentation every Monday with the current week's date in the title:
// In a JS node
const today = new Date();
const weekNum = getWeekNumber(today);
msg.title = `Weekly Report - Week ${weekNum} - ${today.getFullYear()}`;
Then use the Create Presentation node with msg.title as the Title input.
Use Case 2: Client Presentation Generator
Create personalized presentations for multiple clients:
// Loop through client list
for (const client of msg.clients) {
msg.title = `Proposal for ${client.name} - ${new Date().toISOString().split('T')[0]}`;
msg.shareWith = [{
"Role": "reader",
"Type": "user",
"EmailAddress": client.email,
"EmailMessage": `Hi ${client.name}, here's your personalized proposal`
}];
// Create Presentation node here
}
Use Case 3: Template Initialization
Create a base presentation that will be populated with data from other sources:
- Create Presentation with title
- Store the Presentation Id
- Use Replace Text node to add content
- Use Add Image node to insert visuals
- Export to PDF for distribution
Common Errors and Solutions
| Error | Cause | Solution |
|---|---|---|
| "Title cannot be empty" | No title provided or title is "_" | Ensure Title input contains a valid string |
| "No Credential Content" | Credentials are not properly configured | Verify credentials are stored correctly in Vault and have proper format |
| "Invalid Share With configuration" | Share With object missing required fields | Ensure each object has Role, Type, and EmailAddress fields |
| Permission denied | Service account lacks Drive API permissions | Enable Google Drive API in Google Cloud Console and grant proper scopes |
| Authentication failed | Expired or invalid OAuth token | Refresh credentials or re-authenticate |