π§©
Real payloads
Webhooks, arrays, nested JSON β the data you meet in client projects.
β‘
Instant feedback
Check your answer in the simulator, with hints when you're stuck.
π§
Understand why
Every lab ends with an explanation and a pro tip you can reuse.
Browse by topic
All practice labs
Your progress is saved in this browser.
Extract Nested Email from Webhook JSON in n8n
Learn how to extract a deeply nested customer email from a Webhook JSON payload in n8n using dot notation.
Get First Item from an Array in Make.com
Practice using the first() and get() functions in Make.com to extract the first element of an array.
Access the First Item of an Array in n8n
Learn how to use zero-based indexing in n8n expressions to get the first object in a JSON array.
Extract Values from an Array of Collections using map() in Make
Master the Make.com map() function to convert an array of complex objects into a simple array of emails.
Format Current Date as YYYY-MM-DD in n8n using Luxon
Practice using n8n's built-in $now Luxon variable to format dates for APIs and databases.
Write a Conditional if() Formula in Make.com
Learn how to write inline if() statements in Make.com to return different values based on a number.
Clean and Lowercase Email Strings in n8n
Learn how to chain JavaScript string methods .trim() and .toLowerCase() inside n8n expressions.
Split Full Name into First Name in Make.com
Learn how to combine split() and first() in Make.com to extract a customer's first name.
Reference Data from a Previous Node in n8n
Learn how to use the $('Node Name') syntax in n8n to pull data from earlier steps in your workflow.
Format a Date Using formatDate() in Make.com
Practice converting timestamps into readable dates using Make's formatDate() function.
Filter Active Users in n8n Code Node
Learn how to use JavaScript filter() method inside an n8n Code node to keep only active users.
Calculate Sum of an Array of Numbers in Make.com
Master the sum() aggregator function in Make.com to total line item amounts.
Parse JSON String Data in n8n
Learn how to use JSON.parse() inside n8n expressions to convert stringified JSON into an object.
Replace Substrings Using replace() in Make.com
Learn how to use the replace() function in Make.com to clean phone numbers or text.
Use JavaScript Ternary Operator in n8n Expressions
Learn how to write shorthand if/else ternary conditions inside n8n expressions.
Join Array Items into a Comma-Separated String in Make
Master the join() function in Make.com to merge an array of tags into a single text string.
Extract Domain Name from URL using JavaScript in n8n
Learn how to parse URLs using standard JavaScript URL constructor inside n8n expressions.
Capitalize First Letter of a String in Make.com
Learn how to format lowercase customer names using capitalization functions in Make.
Round Decimal Numbers in n8n using JavaScript Math
Practice rounding float numbers to two decimal places using Math.round() ortoFixed() in n8n.
Get Array Length Count in Make.com
Learn how to count how many items exist inside an array using the length() function in Make.
Convert Text to Lowercase with lower() in Make.com
Practice normalizing email addresses to lowercase in Make.com using the lower() text function.
Convert Text to Uppercase with upper() in Make.com
Learn how to format country codes and IDs in uppercase using Make.com's upper() function.
Remove Extra Spaces with trim() in Make.com
Practice cleaning leading and trailing spaces from form inputs using trim() in Make.com.
Extract Part of a String with substring() in Make.com
Learn how to extract the first characters of an ID or code with Make.com's substring() function.
Check if Text Contains a Keyword with contains() in Make.com
Practice detecting keywords in email subjects using Make.com's contains() function.
Find a Character Position with indexOf() in Make.com
Learn how to find the position of a character inside a string with indexOf() in Make.com.
Set a Default Value with ifempty() in Make.com
Practice replacing empty fields with a fallback value using ifempty() in Make.com.
Map Values with switch() in Make.com
Learn how to translate status codes into labels with Make.com's switch() function instead of a Router.
Round a Number with round() in Make.com
Practice rounding decimal numbers to the nearest whole number in Make.com.
Round Up with ceil() in Make.com
Learn how to calculate the number of pages for API pagination using ceil() in Make.com.
Calculate an Average with average() in Make.com
Practice calculating the average of an array of numbers using Make.com's average() function.
Find the Highest Value with max() in Make.com
Learn how to get the largest number from an array with max() in Make.com.
Format Numbers with Thousands Separators in Make.com
Master formatNumber() in Make.com, including the decimal and thousands separator arguments that trip up most users.
Get the Last Item of an Array with last() in Make.com
Practice getting the final element of an array with Make.com's last() function.
Sort an Array with sort() in Make.com
Learn how to sort arrays in ascending or descending order with Make.com's sort() function.
Remove Duplicates with deduplicate() in Make.com
Practice removing duplicate values from an array with Make.com's deduplicate() function.
Check if an Array Contains a Value in Make.com
Learn how to check whether an array includes a specific value with contains() in Make.com filters.
Add Days to a Date with addDays() in Make.com
Practice calculating future dates like due dates and reminders with addDays() in Make.com.
Parse a Custom Date Format with parseDate() in Make.com
Master converting day/month/year text into a real date with parseDate() in Make.com.
Get a Nested Value with get() and Dot Paths in Make.com
Learn how to read deeply nested collection values in Make.com using get() with a dot path.
Sum a Field Across Line Items with sum(map()) in Make.com
Combine map() and sum() in Make.com to total a field across an array of collections β no Iterator needed.
Convert a String to Uppercase in n8n
Practice formatting country codes and IDs in uppercase with toUpperCase() in n8n expressions.
Split a String and Get the First Word in n8n
Learn how to extract a first name from a full name with split() in n8n expressions.
Remove Characters with replaceAll() in n8n
Practice cleaning phone numbers by removing every dash with replaceAll() in n8n.
Check if a String Contains a Word in n8n
Learn how to detect keywords in text with includes() in n8n expressions and IF nodes.
Count Characters with length in n8n
Practice validating message length (e.g. for SMS limits) with the length property in n8n.
Count Items in an Array in n8n
Learn how to count array items with length in n8n, e.g. to skip emails without attachments.
Get the Last Element of an Array in n8n
Practice reading the last item of an array with at(-1) or last() in n8n expressions.
Extract a Field from Every Object with map() in n8n
Learn how to turn an array of objects into an array of values using map() in n8n.
Filter an Array of Objects in an n8n Expression
Practice keeping only matching objects in an array with filter() inside n8n expressions.
Find One Object in an Array with find() in n8n
Learn how to look up a single record in an array by ID with find() in n8n expressions.
Sum Values with reduce() in n8n
Master reduce() in n8n expressions to calculate totals from an array of line items.
Sort an Array of Objects by a Field in n8n
Learn how to sort objects by a numeric field with a compare function in n8n expressions.
Get All Field Names with Object.keys() in n8n
Practice listing the keys of a JSON object with Object.keys() in n8n β handy for dynamic payloads.
Avoid Errors on Missing Fields with Optional Chaining in n8n
Learn how to safely read nested fields that may not exist using ?. in n8n expressions.
Set a Default Value with ?? in n8n
Practice providing fallback values for empty fields with the nullish coalescing operator in n8n.
Convert a String to a Number in n8n
Learn how to convert numeric strings to real numbers with parseInt() or Number() in n8n.
Find the Maximum Value in an Array in n8n
Practice getting the highest number in an array with Math.max() and the spread operator in n8n.
Add Days to a Date with Luxon plus() in n8n
Learn how to calculate due dates and reminders by adding days to $now in n8n.
Format an ISO Date String in n8n
Master turning API timestamps into readable dates with DateTime.fromISO() and toFormat() in n8n.
Collect Values from All Input Items in an n8n Code Node
Learn how to read every incoming item with $input.all() in the n8n Code node and collect a field.
Convert an Object to a JSON String in n8n
Practice converting objects to JSON text with JSON.stringify() for HTTP bodies and logs in n8n.
Extract an Email from Text with Regex in n8n
Master pulling an email address out of free text with match() and a regular expression in n8n.
Tools to practice on
Everything here runs on these platforms.
Make.com & n8n Expressions Cheat Sheet
Every function from the labs on one printable PDF: Make.com and n8n side by side, with syntax, a worked example and the equivalent in the other tool.
See whatβs coming →