What does the "Map" toggle do?

Hi Guys, sorry for what might be a basic question but I don’t understand what the Map toggle does differently to just selecting data from a previous stage and inserting it in that same field. Can anyone enlighten me because you can map without the toggle so why do you need to map twice?

Howdy @Brendon_Robot_Social Welcome to the :make: Make Community!

There are a few reasons to map a modules connections and inputs
instead of selecting. Here are several examples.
The first example goes into the most detail.

Google Sheets Module for Add Row.

If you map the tab, with a variable instead of selecting which tab is used.
you can have the tab selected dynamically, or in sequence.

Two Stage Example

First pass on repeated use a tab, 2nd pass use a different tab.

Multistage example

that toggles between sheets, and iterates through tabs in series. uploading data, or moving data out based on requirement.

Google Sheets is a good example

Because, if each of your tabs is formatted in a different way, you would also do something similar for inserting the variables into the sheet.

:make: Make Datastores, MongoDB, Google Firestore, really any noSQL database.

:information_source: since data is more flexibly structured in noSQL databases, flexibility in defining the structure of the data on the fly is key.

:trophy: Bonus Info

you can save :make: make operations using the make API, and defining datastore data structure on the fly, and setting the datastore datastructure to non-strict, for data that updates consistently in “big blocks” like updating 1 column on all rows of data, if you make it one object in the data store, that has 1000 rows, defined on the fly, updating it costs 2+/- operations, instead of 1000/

FTP, SFTP, Google Drive, OneDrive, AWS S3, Box,Dropbox

  • Dynamic Folder Paths
  • Dynamic File Content
  • Dynamic

Discord,Slack,Chat apps.

  • Dynamic Channel Selection
  • Dynamic message selection.
  • Dynamic embed quantity on discord message.

Google Contacts,

:warning: This requires more effort/time in scenario design.

On creation or update of contact, attaching an array of email addresses,
rather than mapping “email 1, note, type” “email 2, note, type”

:trophy: This requires less effort in scenario design.

you can just dump 1 variable containing an array of email objects in that place, and not predict in advance how many emails each user will have at max, or waste storage with empty data

:stop_sign: When a user has just 1 email but you did not map

email two would be filled with “null,null,null”* and down the list to the maximum of your prediction, because of the way google contacts require emails to be formatted.

This is ineficient data storage and not best practice, while google contacts will run properly, other services may not even allow data input like this. you will also get garbage data back out, that you have to control for, if you need to access it again.

See these posts for an example of why you might need to map a field.

Hope this helps, let me know if you have any followup questions :smiley:

1 Like

@JugaadiTech you are such a rockstar!

1 Like