Make Integration
Build visual automation workflows with Make (formerly Integromat).
Overview
Make offers a visual drag-and-drop interface for creating complex automation scenarios. Connect Visiono photo submissions to your business tools with powerful data transformation capabilities.
Prerequisites
- Visiono account with API access
- Make account (free tier available)
- API Key from Visiono
Setup Steps
1. Create a New Scenario
- Log in to Make
- Click Create a new scenario
- Click the + button to add a module
2. Add Webhook Module
- Search for Webhooks
- Select Custom webhook
- Click Add to create a new webhook
- Name it (e.g., "Visiono Photos")
- Copy the generated URL
3. Configure in Visiono
- Go to Workspace Settings → Webhooks
- Click Add Webhook
- Paste the Make webhook URL
- Select events:
photo_submission.createdphoto_request.submitted
- Save
4. Determine Data Structure
- In Make, click Run once
- Submit a test photo in Visiono
- Make captures the data structure automatically
- Stop the scenario
5. Add Action Modules
Connect additional modules to process photos:
| Module | Function |
|---|---|
| HTTP | Download photo files |
| Google Drive | Upload to cloud storage |
| Send notifications | |
| Slack | Team messaging |
| Airtable | Database records |
| Notion | Page creation |
Visual Workflow Builder
Make's visual interface shows data flow:
[Webhook] → [Router] → [Google Drive] → [Email]
↘ [Slack]
↘ [Airtable]Using Routers
Split workflows based on conditions:
- Add Router module after webhook
- Create multiple paths
- Add filters to each path:
- Path 1: Photos > 5 → Full review
- Path 2: Has "damage" tag → Urgent notification
- Path 3: Default → Standard processing
Example Scenarios
Photo Backup to Cloud
Automatically save photos to Google Drive:
Modules:
- Webhooks → Custom webhook
- Iterator → Loop through photos array
- HTTP → Get file (download photo)
- Google Drive → Upload file
Configuration:
Iterator: {{data.photos}}
HTTP URL: {{item.url}}
Drive Folder: /Visiono/{{data.smart_link.slug}}/
Filename: {{item.slot_name}}_{{now}}.jpgCRM Update with Photos
Add photos to customer records:
Modules:
- Webhooks → Receive submission
- HubSpot → Search contact by email
- HubSpot → Add note with photo links
- Slack → Notify sales team
Quality Review Workflow
Route photos for review:
Modules:
- Webhooks → Receive submission
- Router → Based on photo count
- Path A (< 3 photos): Request more
- Path B (3+ photos): Process normally
- Email → Send appropriate message
Data Mapping
Access webhook data using Make's dot notation:
| Field | Path |
|---|---|
| Event type | event |
| Permanent Link ID | data.smart_link.id |
| Permanent Link name | data.smart_link.name |
| First photo URL | data.photos[1].url |
| Submitter name | data.metadata.full_name |
| Unique field | data.metadata.unique_field |
| Submission time | data.metadata.submitted_at |
Iterators and Aggregators
Process Each Photo
Use Iterator to loop through photos:
- Add Iterator module
- Set array:
{{data.photos}} - Access each photo:
{{item.url}},{{item.slot_name}}
Combine Results
Use Aggregator to merge processed data:
- Add Array aggregator after iterator
- Collect processed URLs
- Use aggregated array in next module
Error Handling
Retry Settings
Configure per-module:
- Auto retry: 1-3 attempts
- Retry interval: 1-5 minutes
- Continue on error: Optional
Error Routes
Add error handling path:
- Right-click module
- Select Add error handler
- Choose handler type:
- Resume - Continue with default
- Rollback - Undo scenario
- Commit - Save progress, stop
Scheduling
Instant Processing
Webhooks trigger immediately (no scheduling needed).
Batch Processing
For scheduled operations:
- Interval: Every 15 minutes
- Specific time: Daily at 9 AM
- On demand: Manual trigger
Advanced Features
Data Stores
Create reusable databases:
- Store processed submission IDs
- Track photo counts
- Maintain status records
Variables
Set and use variables:
Set Variable: processed_count
Value: {{length(data.photos)}}Functions
Transform data:
{{formatDate(data.metadata.submitted_at; "YYYY-MM-DD")}}
{{upper(data.smart_link.name)}}
{{join(map(data.photos; "url"); ", ")}}Troubleshooting
Webhook Not Triggering
- Verify URL is correctly copied
- Check Make scenario is ON
- Ensure webhook is enabled in Visiono
- Test with manual submission
Data Structure Issues
- Re-determine structure in Make
- Check webhook payload format
- Verify field paths in mappings
Scenario Errors
- Check execution history
- Review error messages
- Verify API connections
- Check module configurations
Best Practices
Organization
- Use descriptive scenario names
- Add notes to complex modules
- Group related modules
- Color-code by function
Performance
- Use Filters to limit executions
- Batch similar operations
- Monitor operation usage
- Optimize data transformations
Maintenance
- Test after changes
- Document custom scenarios
- Regular webhook verification
- Update API connections
Related Resources
- Webhooks - Event setup
- API Reference - Direct API
- Zapier Integration - Alternative platform
- n8n Integration - Self-hosted option
