Unit 4 · Make Intermediate: get() and map()

The get(map)) use case

6 min read Updated May 21, 2026

Unit introduction

Welcome to the final unit in the “Using get() and map() functions” course in the Make Intermediate learning path.

This last unit will explore a use case that focuses on the two functions covered in this course, how they operate individually and combined.

The aim of this use case is to:

  • ensure that you know the difference between get() and map()
  • demonstrate the efficiency of get(map())

We will provide a template for this scenario so you can try it on your own in Make.

Use case

We’ll explore a use case to show why get() and map() functions are so useful within Make.

Gareth runs a small private library named “Gareth’s Glorious Glossary”, and he wants to use Make to optimize his day-to-day processes.

His business is thriving, but a lot of his customers ask for books that sometimes aren’t in stock.

Using his booking system, he is able to retrieve details of all the books he has in store, and list them by the number of times they have been borrowed, from most to least borrowed.

Gareth will use Make and the get(map()) function to retrieve the top 3 most requested Action books, and the top 1 requested Romance book.

Now that we know Gareth a bit more, let’s see how Make can help him. Let’s make a start.

Exploring the scenario

You can access a zip of the blueprint for this use case here. Feel free to add it to your scenarios and follow along in Make.

Let’s look at the source module first:

This provides an array of books available to borrow from the library. For the sake of this demonstration, Gareth only has 8 books in total.

Each book has the following data:

  • borrow_count
  • book_title
  • author
  • genre
  • year
  • in_stock
  • registration_ID

The software Gareth uses lists the books in order from the highest borrow_count to the lowest in the output bundle to Make.

Scenario overview

This scenario begins with Gareth’s book software, which parses JSON data. This data is then passed to a Router module, which splits the scenario into two distinct paths.

Note: some of the modules have been renamed here to identify their purpose.

The output array from Gareth’s book software contains 8 books. The most important items that will be used in this scenario are borrow_count, genre, and book_title. At a glance, we can see that Great Makespectations, Make and Prejudice, and The Da Makeci Code are the most borrowed books in the entire library. However, these books all have different genres. The following modules will extract the most borrowed books from the genres that we specify.

Request Action Books

As we need to generate 3 results for our task, the first Set multiple variables module will create 3 different variables – one for each result that we are using get(map()) for – for the first, second, and third requested Action books. We have labeled this module GET-MAP - RequestAction.

The variable name is ActionBookRequest1st, and its value is get( map( 10.books ; book_title ; genre ; Action ) ; 1 ).

The Compose a string module will use the output variables of this module to summarize the query “What are the top 3 most requested Action books?”.

Request Romance Books

The second path in this scenario will set only one variable, as we are only asking for one result. We have labeled this module GET-MAP - RequestRomance.

The variable name is RomanceBookRequest, and its value is get( map( 10.books ; book_title ; genre ; Romance ) ; 1 ).

The Compose a string module will use the output variable of this module to summarize the query “What is the most popular Romance book?”.

get(map()) top #3 Action books

Let’s work through the get(map()) modules that will return the top 3 action books in more detail.

GET-MAP - RequestAction

This module is configured to set multiple variables. Each item name will be named ActionBookRequest. By naming each variable, they will be clearer to map on any subsequent modules.

For the first variable, ActionBookRequest1st, the variable value is set using the function: get( map( 10.books ; book_title ; genre ; Action ) ; 1 )

The first action that will take place in this function is map(). It will search the array of books. The key here is book_title. This is what the resulting variable will display, for example, “Great Makespectations”. If genre was used here, you could expect a result such as Action / Romance / Sport.

The next element in the function is the key for filtering. As we are sorting this scenario by genre, we will use genre here. Any value from the array can be used here; for example, author would filter out books from a specific author. Finally, the possible value for filtering is Action.

To summarize, this function will map – from the array of books, the book_titles of the genre ‘Action’.

The second part of this function will use the result of map(). If the map() function was used on its own, it would create an array containing 4 results, as there are 4 action genre books in Gareth’s library:

  1. Make and Prejudice
  2. The Da Makeci Code
  3. To Kill a Makeingbird
  4. Make and Peace

get() will look at this array and extract the 1st index item from it. The 1 highlighted in the function tells the get() function to extract the 1st item in this array. This will then create a variable containing Make and Prejudice.

Two more items are mapped using the same function, but the index items are changed to 2 and 3 respectively. For example, the third variable, ActionBookRequest3rd, would use 3 as the index: get( map( 10.books ; book_title ; genre ; Action ) ; 3 )

When processed, this module will create 3 variables:

  • ActionBookRequest1st
  • ActionBookRequest2nd
  • ActionBookRequest3rd

Tools - Compose a string

On the next module – Compose a string, these variables can be mapped in a message, which will give an organized ordered list of the request. The text field would look like this:

Most requested Action book:
#1: ActionBookRequest1st
#2: ActionBookRequest2nd
#3: ActionBookRequest3rd

get(map()) top #1 Romance book

Let’s work through the get(map()) modules that will return the most borrowed romance book in more detail.

GET-MAP - RequestRomance

These modules follow the same concept as the one above, but Gareth is only looking for 1 result this time, and for a different book genre - Romance.

This variable will be named RomanceBookRequest. Similar to the Action book module, the map() function will begin with the books array.

Once again, book_title is used as the key, and genre for the key for filtering. For this function, the possible value for filtering is now Romance.

Finally, the get() function will return the first index item from the result of map(). On its own, map() would produce the 3 romance books in our library. get() will extract the first item, “Great Makespectations”, as the result.

The variable value is set to: get( map( 10.books ; book_title ; genre ; Romance ) ; 1 )

Tools

The Compose a string module will follow the same structure as the Action route, but instead only mapping one variable. This gives the result: the most requested Romance book is Great Makespectations.

OUTPUT Bundle 1: (Collection) Text: Most requested Romance book: Great Makespectations