Yes! This is one of the most popular use cases for Canvelete.
Method 1: Using Zapier
- Trigger: New Row in Google Sheets
- Action: Webhook to Canvelete API
- Result: Image URL returned
Map your sheet columns to dynamic elements:
- Column A (Name) →
recipient_name - Column B (Date) →
completion_date - Column C (Course) →
course_title
Method 2: Using Google Apps Script
Add this script to your Google Sheet:
javascriptfunction generateImage(name, date) { const API_KEY = 'YOUR_API_KEY'; const DESIGN_ID = 'YOUR_DESIGN_ID'; const response = UrlFetchApp.fetch( 'https://api.canvelete.com/api/v1/render', { method: 'POST', headers: { 'Authorization': 'Bearer ' + API_KEY, 'Content-Type': 'application/json' }, payload: JSON.stringify({ designId: DESIGN_ID, dynamicElements: { name: { text: name }, date: { text: date } } }) } ); const result = JSON.parse(response.getContentText()); return result.imageUrl; }
Method 3: Using Make or n8n
Both platforms have native Google Sheets integrations that work seamlessly with Canvelete.
Batch Processing Tips
- Process rows in batches to avoid rate limits
- Add a "Status" column to track which rows have been processed
- Store the generated image URL back in the sheet