Data Mapping and Transforming Fields
Most of the real work in automation is moving data between shapes. App A gives you a full name; App B wants first and last separately. A date arrives as text; the next step needs a real date. This plumbing is unglamorous and it is where flows break, so it pays to get comfortable with it.
Built-in functions
Every tool ships text and date functions you can use inline: split, uppercase, trim, format date, substring. In Make they live in the function picker; in n8n you write small expressions in double curly braces.
// split a full name into first and last
{{ $json.fullName.split(' ')[0] }}
{{ $json.fullName.split(' ').slice(1).join(' ') }}
// normalize an email
{{ $json.email.trim().toLowerCase() }}Looping over lists
When a step returns many items, like ten rows from a sheet, the following steps run once per item automatically in n8n, or you use an Iterator module in Make. Understanding this prevents the classic bug where you expected ten Slack messages and got one.
Result: clean, predictable data flowing into every downstream step, which is what keeps a flow alive after the first hundred runs.