Zapier Actions
Actions are things you can do in Canvelete (opens in a new tab) from your Zapier workflows. These allow you to create designs, render images, manage API keys, and more as part of your automated processes.
Available Actions
Create Design
Action Key: create_design
Creates a new design in your Canvelete account with the specified properties.
Input Fields
| Field | Type | Required | Description |
|---|---|---|---|
name | String | Yes | Name for the new design |
description | String | No | Description of the design |
canvasData | String | No | JSON string containing canvas elements |
width | Number | No | Design width in pixels (default: 1920) |
height | Number | No | Design height in pixels (default: 1080) |
isTemplate | Boolean | No | Mark as template (default: false) |
visibility | String | No | Visibility setting (default: PRIVATE) |
Visibility Options
PRIVATE: Only visible to youPUBLIC: Visible to everyoneUNLISTED: Accessible via direct link only
Canvas Data Format
The canvasData field accepts a JSON string representing the design elements:
{
"elements": [
{
"type": "text",
"content": "Hello World",
"x": 100,
"y": 100,
"fontSize": 24,
"fontFamily": "Arial",
"color": "#000000"
},
{
"type": "rectangle",
"x": 50,
"y": 50,
"width": 200,
"height": 100,
"fill": "#FF7A00"
}
]
}Output Fields
| Field | Type | Description |
|---|---|---|
id | String | Unique identifier for the created design |
name | String | Name of the design |
description | String | Design description |
width | Number | Design width in pixels |
height | Number | Design height in pixels |
status | String | Design status (always "DRAFT" for new designs) |
visibility | String | Visibility setting |
isTemplate | Boolean | Whether marked as template |
thumbnailUrl | String | URL to generated thumbnail |
editUrl | String | URL to edit the design in Canvelete |
createdAt | String | ISO timestamp of creation |
Common Use Cases
- Form to Design: Convert form submissions into design briefs
- Bulk Design Creation: Generate multiple designs from spreadsheet data
- Template Instantiation: Create designs from predefined templates
- Dynamic Content: Generate designs with data from other apps
Render Design
Action Key: render_design
Renders a design or template to an image or PDF file.
Input Fields
| Field | Type | Required | Description |
|---|---|---|---|
designId | String | No* | ID of design to render |
templateId | String | No* | ID of template to render |
dynamicData | String | No | JSON string with dynamic data |
format | String | No | Output format (default: png) |
width | Number | No | Custom width in pixels |
height | Number | No | Custom height in pixels |
quality | Number | No | Quality for JPG (1-100, default: 90) |
*Either designId or templateId is required.
Format Options
png: PNG image (supports transparency)jpg/jpeg: JPEG image (smaller file size)pdf: PDF document (vector-based, scalable)
Dynamic Data Format
For templates with dynamic elements, provide data as JSON:
{
"title": "Welcome to Our Store",
"subtitle": "Special Offer Inside",
"price": "$29.99",
"image_url": "https://example.com/product.jpg"
}Output Fields
| Field | Type | Description |
|---|---|---|
id | String | Unique identifier for the render job |
format | String | Output format used |
width | Number | Rendered image width |
height | Number | Rendered image height |
fileSize | Number | File size in bytes |
downloadUrl | String | Temporary download URL (expires in 24h) |
status | String | Render status (COMPLETED/FAILED) |
processingTime | Number | Render time in milliseconds |
message | String | Success or error message |
Common Use Cases
- Social Media Automation: Generate posts with dynamic content
- Email Marketing: Create personalized images for campaigns
- E-commerce: Generate product images with pricing updates
- Reports: Create visual reports from data
Create API Key
Action Key: create_api_key
Creates a new API key for programmatic access to Canvelete.
Input Fields
| Field | Type | Required | Description |
|---|---|---|---|
name | String | Yes | Name for the API key |
description | String | No | Description of intended use |
scopes | String | No | Comma-separated list of scopes |
expiresAt | String | No | ISO date when key expires |
Available Scopes
designs:read: Read access to designsdesigns:write: Create and modify designstemplates:read: Read access to templatesrender:write: Generate rendersapikeys:read: View API keysapikeys:write: Manage API keys
Output Fields
| Field | Type | Description |
|---|---|---|
id | String | Unique identifier for the API key |
name | String | Name of the API key |
key | String | The actual API key (store securely!) |
scopes | Array | Array of granted scopes |
expiresAt | String | Expiration date (if set) |
createdAt | String | Creation timestamp |
⚠️ Important: The API key is only shown once. Store it securely immediately.
Common Use Cases
- Integration Setup: Create keys for new integrations
- Team Management: Generate keys for team members
- Temporary Access: Create time-limited keys for contractors
- Service Accounts: Generate keys for automated systems
Search Actions
Search actions help you find existing data in Canvelete to use in your workflows.
Find Design
Action Key: find_design
Searches for designs by name or ID.
Input Fields
| Field | Type | Required | Description |
|---|---|---|---|
query | String | Yes | Search term (name or ID) |
visibility | String | No | Filter by visibility |
isTemplate | Boolean | No | Filter templates only |
Output Fields
Returns the same fields as the "New Design" trigger for matching designs.
Find Template
Action Key: find_template
Searches for templates by name or ID.
Input Fields
| Field | Type | Required | Description |
|---|---|---|---|
query | String | Yes | Search term (name or ID) |
category | String | No | Filter by template category |
List API Keys
Action Key: list_api_keys
Retrieves a list of your API keys.
Input Fields
| Field | Type | Required | Description |
|---|---|---|---|
includeExpired | Boolean | No | Include expired keys (default: false) |
Action Configuration
Error Handling
All actions include built-in error handling:
- Authentication Errors: Automatically handled with token refresh
- Validation Errors: Clear error messages for invalid input
- Rate Limiting: Automatic retry with exponential backoff
- Server Errors: Detailed error information for troubleshooting
Rate Limits
Actions are subject to API rate limits:
- Free Plan: 100 requests per hour
- Starter Plan: 500 requests per hour
- Professional Plan: 2,000 requests per hour
- Team Plan: 5,000 requests per hour
- Company Plan: 10,000 requests per hour
Data Validation
Input data is validated before processing:
- Required Fields: Must be provided and non-empty
- Data Types: Must match expected types (string, number, boolean)
- Formats: JSON strings must be valid JSON
- Limits: Text fields have maximum length limits
Best Practices
Performance
- Batch Operations: Use bulk actions when available
- Caching: Cache frequently used template/design IDs
- Async Processing: Use webhooks for long-running operations
Security
- API Keys: Store API keys securely, rotate regularly
- Scopes: Use minimal required scopes for API keys
- Expiration: Set expiration dates for temporary keys
Data Management
- Naming: Use descriptive names for designs and API keys
- Organization: Use consistent naming conventions
- Cleanup: Remove unused designs and expired API keys
Error Recovery
- Validation: Validate input data before sending to actions
- Retries: Implement retry logic for transient failures
- Fallbacks: Have fallback workflows for critical processes
Advanced Usage
Dynamic Field Population
Use Zapier's dynamic field features:
// Populate design dropdown from trigger
designId: {{trigger.id}}
// Use previous step data
name: "Design for {{trigger.customer_name}}"
// Conditional logic
visibility: {{trigger.is_public ? "PUBLIC" : "PRIVATE"}}Multi-Step Workflows
Combine actions for complex workflows:
- Create Design → Get design ID
- Render Design → Generate image
- Upload to Cloud → Store permanently
- Send Notification → Inform stakeholders
Template-Based Workflows
For dynamic content generation:
- Find Template → Get template ID
- Render Design → Apply dynamic data
- Post to Social → Share generated content
Troubleshooting
Common Issues
Action Fails with Authentication Error
- Check if your Canvelete connection is still active
- Reconnect your account if needed
- Verify you have necessary permissions
Invalid Canvas Data
- Ensure JSON is properly formatted
- Validate element properties match expected schema
- Test with simple elements first
Render Timeouts
- Complex designs may take longer to render
- Consider simplifying design elements
- Use appropriate image dimensions
For more help, see our troubleshooting guide.
Next Steps
- Explore Common Workflows using these actions
- Learn about webhook alternatives for real-time processing
- Check out API documentation for direct integration options