Intermediate
How to use dynamic data mapping on Make
Quick Answer
Dynamic data mapping in Make allows you to automatically map data fields from one module to another based on the actual data structure returned by previous modules. This eliminates the need to manually configure field mappings and adapts to changing data structures automatically.
Prerequisites
- Basic understanding of Make scenarios
- Active Make account with scenario creation access
- Familiarity with API responses and JSON structure
- Understanding of trigger and action modules
1
Set up your trigger module
Create a new scenario and add your trigger module (such as Webhooks, Google Sheets, or any app trigger). Configure the trigger settings and run it at least once to generate sample data. This initial execution is crucial as Make needs to analyze the data structure for dynamic mapping. Click Run once to capture real data from your trigger source.
Tip
Always use real data for your first run rather than test data to ensure accurate field mapping
2
Add your action module
Add the module where you want to map the dynamic data (like HTTP, Airtable, or any destination app). In the module configuration panel, look for fields that support dynamic mapping. These fields typically show a mapping icon (usually a small grid or link symbol) next to the field input box.
3
Enable dynamic data mapping
Click on the field where you want to map data, then select the mapping panel that appears on the right side of the screen. You'll see a list of available data from previous modules. Look for the Dynamic section or Auto-map option. Click on Map dynamically or drag the dynamic data pill into your field.
Tip
Dynamic data appears as colored pills with variable names from your previous modules
4
Configure mapping rules
In the dynamic mapping interface, set up your mapping rules by selecting Source Field and Destination Field pairs. Use the Add mapping button to create multiple field relationships. You can also apply transformations using functions like
upper(), formatDate(), or replace() by wrapping your mapped fields in these functions.Tip
Use the search function to quickly find specific fields in large data structures
5
Handle nested data structures
For complex JSON objects or arrays, click on the expand arrow next to nested objects to access sub-fields. Use dot notation like
{{1.data.customer.email}} to reference nested properties. For arrays, use iterator modules or array functions like map() and get() to extract specific elements.Tip
Use the Make DevTool browser extension to inspect complex data structures more easily
6
Test dynamic mappings
After configuring your mappings, click OK to save the module settings. Run your scenario by clicking Run once to test the dynamic mappings. Check the execution details by clicking on each module bubble to verify that data is being mapped correctly. Look for any red error indicators or unexpected
null values.Tip
Always test with different data variations to ensure your mappings work with all possible data structures
7
Optimize and save your scenario
Once testing is successful, optimize your mappings by removing unnecessary fields and adding error handling using Error Handlers. Add filters between modules if needed using the Set up a filter option. Save your scenario with a descriptive name and activate it by toggling the ON/OFF switch in the scenario header.
Tip
Document your dynamic mappings in the scenario notes for future reference and team collaboration
Troubleshooting
Dynamic data fields showing as empty or undefined
Ensure your trigger module has executed at least once with real data. Re-run the trigger and refresh the mapping panel. Check if the source field names have changed in your data source.
Mapping breaks when data structure changes
Add conditional statements using
if() functions to handle optional fields. Use get() function with default values like {{get(1.email; "default@email.com")}} to prevent errors when fields are missing.Cannot see nested object properties in mapping panel
Click the Show advanced settings option in the module configuration. Manually expand nested objects by clicking the arrow icons. If still not visible, use JSON parsing functions or the JSON > Parse JSON module first.
Dynamic mappings not working with arrays
Use an Iterator module before your action module to process array elements individually. Alternatively, use array functions like
map(array; "fieldname") or join(array; ",") to extract or combine array values.Ready to get started with Make?
Put this tutorial into practice. Visit Make and follow the steps above.
Visit Make →