Make.com Tutorial: Build Your First Scenario in 20 Minutes
Make.com's visual workflow builder makes automation accessible without code. This tutorial walks you through the most important features and patterns — from your first scenario to advanced techniques like error handling, data stores, and multi-branch workflows.
Make.com Interface Overview
When you open a Scenario editor in Make.com, you'll see:
Canvas: The main workspace where you drag and connect modules.
Module library: Click the "+" button to add modules. Search by app name or function.
Control bar: Run once (test), Scheduling (set up automatic execution), History (past runs).
Data panel: Click any module to see its input/output data from the last test run.
Scenario settings: Set execution frequency, error notifications, and data commit settings.
Adding and Configuring Modules
To add a module:
- Click the "+" on the canvas (or on an existing module's connector)
- Search for the service or function
- Click the module you want
- Configure it — Make guides you through each field
To connect modules: Drag from one module's right connector to the next module's left connector. Make shows what data is available from previous modules.
To delete a connection: Right-click the connection line → Delete.
Working with Data
Make's data mapping system is more powerful than most tools:
Basic mapping: Click any input field → a list of available data from previous modules appears. Click to insert.
{{1.name}} — "name" field from module 1 {{3.items[].price}} — "price" field from each item in module 3's array
Built-in functions (use in any field):
*Text functions:*
{{upper(1.name)}}— UPPERCASE{{lower(1.email)}}— lowercase{{trim(1.description)}}— remove leading/trailing whitespace{{replace(1.text; "old"; "new")}}— find and replace
*Number functions:*
{{round(1.price; 2)}}— round to 2 decimal places{{max(1.value; 100)}}— maximum of two values
*Date functions:*
{{formatDate(1.created_at; "MM/DD/YYYY")}}— format a date{{addDays(now; 7)}}— add 7 days to today
*Conditional:*
{{if(1.score >= 7; "hot"; "cold")}}— ternary conditional
Routing and Branching
Router module: Creates multiple parallel paths from a single input.
- After your trigger or any module, click "+" → add Router
- Router shows two paths by default; add more with "+"
- Each path can have a filter (right-click the path line → "Set up a filter")
- Only one path executes per bundle (the first one whose filter passes)
Example: Route support tickets:
- Path 1: Filter "subject contains 'billing'" → Create billing task
- Path 2: Filter "subject contains 'bug'" → Create GitHub issue
- Path 3: (no filter — fallthrough) → Create general Zendesk ticket
Aggregator: The opposite of Router. Merge multiple items into one. Use after processing an array of items when you want to aggregate results.
Iterator and Aggregator
When a module returns an array (list of items), you need an Iterator to process each item:
- After a module that returns an array, add "Iterator"
- Set the Array field to your array (e.g.,
{{1.contacts}}) - Modules after the Iterator process each item individually
Example: Get multiple leads from HubSpot (returns array) → Iterator → Claude API (process each lead individually) → HubSpot Update (update each lead with AI result)
After an Iterator, use an Aggregator to collect results back into an array:
- Text Aggregator: combine text results
- Array Aggregator: combine results into a new array
- Numeric Aggregator: sum, average, etc.
Scheduling
Every Make Scenario has a schedule:
Interval-based: Every 15 min, 30 min, 1 hour, 2 hours, etc.
Specific time: Once daily at 9am, once weekly on Monday at 8am.
Triggered by external events: Webhooks fire immediately when data is received, regardless of schedule settings.
On demand: Manual execution only (disable scheduling).
Consider your operation budget when scheduling. A Scenario with 10 modules running every 15 minutes uses 40 operations/hour × 10 = 400 operations/hour.
Error Handling
Make.com has good built-in error handling:
Break / Resume / Retry / Ignore: Right-click any module → Error Handling → choose behavior when this module fails.
- Break: Stop the execution (default). Show error in history.
- Retry: Try again automatically (up to N times with delay).
- Ignore: Skip the failed step and continue with next item.
- Resume: Continue with alternate data when the module fails.
Error Route: Add an error route from any module. If it fails, this path executes instead. Use for: Slack alert on failure, log error to Airtable, send fallback email.
Data Stores
Make's built-in database for storing data between Scenario runs:
Create a Data Store: Make.com → Data Stores → Add Data Store → define schema.
Use in Scenarios:
- Data Store → Search Records: find stored records
- Data Store → Add/Update Record: store new data
- Data Store → Get Record: fetch a specific record
Common uses:
- Track which leads you've already contacted (avoid duplicates)
- Store conversation history for AI chatbots
- Remember the last time a scheduled check ran
- Cache expensive API responses
Recommended Tools
- Make.com — The automation platform
- Claude API — AI via HTTP module
- HubSpot — CRM integration
- Airtable — Flexible data management
- Google Workspace — Sheets, Gmail, Drive triggers
- n8n — Consider if you need self-hosting or more complex logic
Related articles
The Make.com playbook: 12 automations every SaaS should run
From lead routing to churn alerts — the scenarios that quietly pay for themselves.
Make.com error handling patterns that actually scale
Rollbacks, dead-letter routes, and alerting that wakes the right person.
Complete Make.com Guide: Everything You Need to Automate Your Business
The definitive Make.com guide — scenarios, modules, routers, and production patterns.