Use map in Make to extract matching email addresses
Extract one field from matching records in Make Free. Use a fictional contact list, select the right keys, and check the resulting array.

A contact list can contain several fields when a later step needs only email addresses. Make's map function extracts a field and can filter by another field. This exercise keeps addresses labelled work in a fictional list.
Before you start
You can create a Make Free account (opens in a new tab) or sign in. No other app connection is needed. Keep the scenario Inactive and use Run once.
1. Create the practice contact list
- In Scenarios, click Create scenario. Name it Contact fields practice at the top left.
- Add JSON > Parse JSON. Leave Data structure empty and paste the sample below into JSON string.
- Save the module and scenario. Choose Save anyway only for an unused-output warning.
- Click Run once, then Run anyway for that warning. Inspect the source output before mapping it.
{"contacts":[{"email":"maya@example.com","label":"work"},{"email":"leo@example.com","label":"home"},{"email":"nora@example.com","label":"work"}]}
2. Extract the matching field
- Close the result panel. Click the plus to the right of JSON and choose Tools > Set variable.
- Set Variable name to work_emails.
- Paste the expression below into Variable value. Check that contacts is a coloured token from JSON module 1. If your JSON module has another number, select its contacts array from the mapping panel.
- Save the module and scenario.
{{map(1.contacts; "email"; "label"; "work")}}
The arguments name the source array, the field to extract, the field to compare and its matching value. Use the actual keys email and label, not a friendly column label from another app.
Quick takeaway
The result is one array of matching values. It is not a separate execution for each address, and this practice sends no message. Check the array before choosing a destination that expects a list or a single value.
3. Check the two matching addresses
- Click Run once.
- Open the Tools result bubble. Under Output, expand work_emails.
- Check for maya@example.com and nora@example.com. The home-labelled address should be absent.
If an expected value is missing
Inspect the source record's actual keys and label value. Check spelling and case, and pass the whole contacts array. To extract a field without filtering, Make documents the shorter map(array; key) form. Removing the filter changes which records qualify; review the result before using it.
To keep work or home records, change the fourth argument from "work" to "work,home". This sample then returns all three addresses. A value such as "other" returns an empty array. The comma supplies alternatives for one field, not checks on different fields.
For checks on different fields, keep the original contact records. Use an Iterator to split that array, then add a filter that requires both conditions before the next action. The email-only array returned by map does not contain the other fields.
For a one-off contact list, a spreadsheet may be simpler. Check the Free-plan limits before scheduling this in Make.
Sources: Make array functions (opens in a new tab); Make JSON documentation (opens in a new tab). Screenshots show fictional practice data.
Share this guide
From holdmytwist.com/guides/make-map-matching-email-addresses/


