Unit 3 · Make Intermediate: HTTP

HTTP POST

10 min read Updated May 21, 2026

Unit introduction

Welcome to the third unit of the “Introduction to HTTP” course within the Make Intermediate.

In this unit you will explore the POST request method.

By the end of this unit you will understand how to:

  • use the POST request method
  • create your own scenario using a POST request
  • create your very first webhook / data structure

The scenario built in this unit will be closely linked to the scenario in unit 4 of this course – HTTP to webhook.

Element - MCQ

The POST request method was introduced in unit 1 of this course. What can you do with the POST method?

  • Request data from a server
  • Replace parts of an existing object
  • Send data on a server
  • Replace an existing object
  • Removes an object on a server

POST is used to send data to a server.

Here’s a quick recap of common HTTP methods:

  • GET will request and retrieve data from a server.
  • PUT will replace an existing object.
  • PATCH will replace parts of an existing object on a server.
  • DELETE will remove an object on a server.

Element - text / text and image (Portrait) - LARGE

When you make a POST request, you are usually sending data. Let’s simplify the POST request with an example:

Lukas is creating a blog about Make. His content will contain text and images. To submit new content, he sends a POST request to the server. The server will process his POST request, and save the site content.

I am using a POST request method in Make to create this blog.

Status = 200

The server then responds, confirming the content has been saved and is now visible.

Why I love Make I am using a POST request method in Make to create this blog.

Where else is POST used?

Let’s have a look at where else POST will typically be used in HTTP.

Uploading a file

For example, uploading a new profile picture on a social media account involves choosing your image, and then clicking Save - this issues a POST request, and sends the data of the image to be changed.

Online shopping

Placing an order on a site uses a POST request. This will contain information such as the order details/quantities, your address and payment information. This request would then be processed by the server.

Sending a message

Communicating with a friend or colleague via a messaging service uses a POST request. For example, messaging on LinkedIn/Slack, the action of sending a message sends a POST request to the server.

Triggering a webhook

The POST request can be used to trigger other scenarios in Make. To do this, you’d be using what is known as a webhook. We will explore this method in this unit, as it is a safe way to test the POST method without needing to sign up for any websites / obtain administrator rights. To summarize, a POST request can be used as a type of chain reaction for other scenarios within Make.

A quick note on methods - almost any method can trigger a webhook, each of these will have advantages and disadvantages. And sometimes different servers will use different requests, depending on how the API has been configured. However, for the purpose of learning the basics of HTTP, we will stick with POST for what it is intended to do: send a request to a server.

Let’s explore a use case using POST

Lisa runs an online store and wants to offer promotions to her customers who are subscribed to the e-shop’s newsletter. To do this, she creates a scenario for a specific promotion (Scenario B). And then uses a scenario containing a HTTP POST request to trigger this. In this example, Scenario A will trigger Scenario B.

These are the scenarios you are going to build in this unit and the next unit.

GET Users

Lisa stores her customers’ data in a database. The database contains their first name, last name, email address, and their subscription status. This determines if they have opted to receive a newsletter containing offers for her online store.

The first module will search each row for users who have ‘Yes’ in the Subscribed field.

= Send an email to customer = Do not send an email to customer

JSON Module

An HTTP > Make a request module cannot transfer arrays or collections, but it can transfer strings. Therefore, the data must be encoded before it is sent. This will be achieved using a JSON > Create JSON module.

The array will go from looking like this: Bundle (collection) First name: Make Last name: Academy Email: make@makeacademy.com

To looking like this: JSON string: {"First name":"Make","Last Name":"Academy","Email":"make@makeacademy.com"}

HTTP Module

In Scenario A, the HTTP request will POST the encoded JSON string of a user to Scenario B, triggering it.

Scenario B will then be activated.

Google Sheets Module

The status of the HTTP POST request will then be logged if the user opted in to receive the newsletter, e.g., 200 = successful.

NameLast nameEmailSubscribedSuccess
PaulAcademypaulemail@email.comYes200
IvanaAcademyivanemail@email.comNo

This whole scenario allows Lisa to manage multiple email campaigns at once.

In this unit you will build Scenario A, in the next unit you will build Scenario B. Let’s make a start and help Lisa build this!

Before you begin – Activity preparation

Before you start building this scenario, let’s do some preparation. Work through each stage before you continue.

Google Sheet Setup

Create a Google Sheet and name it Make Intermediate course 3 data.

Add the following headers:

  • First Name
  • Last Name
  • Email
  • Subscribed
  • Success

Populate at least 2 lines of information. The most important fields to include are your email. One of the users should have No in the Subscribed column. The other user should have Yes in the Subscribed column.

Make sure there aren’t any trailing spaces (spaces at the end of a line, after the last word). You will use this later to filter the data so the wording has to match exactly.

This concludes your setup for the Google Sheet!

Make Scenario and Webhook Setup

Next, create a new scenario and name it Make Intermediate 3-4.

Add a new module and search for Webhooks. From the options, select Custom webhook.

(We’ll delve into what webhooks do in greater depth in the next course).

Click Create a webhook, and name this Make Intermediate 3-4. Ignore the IP restrictions, and click Save.

This will create your webhook! It’s important to know where to retrieve your webhook URL from; you can use the button to Copy the address to clipboard. You can come back and copy it later.

The webhook will listen for any data, and then determine the data structure – meaning that it will automatically convert your JSON to match the data structure that you will create over the next few pages. This will be setup in the next unit.

Make sure you save your scenario.

This concludes the initial setup. Let’s continue building it!

About this use case

Note: This content was designed for version 3 (v3) of the HTTP app.

The team are currently working on updating this content for the latest version (v4) of the HTTP app.

If you would like to build the use cases in this course, please select v3 from the HTTP module when you add this in Make.

Building your HTTP POST scenario

Let’s build the first part of your use case here. Work through each stage before you continue.

Google Sheets Search Rows

First, create a new scenario and name it Make Intermediate 3-3.

Add a Google Sheets → Search Rows module. Locate the Make Intermediate course 3 data Google Spreadsheet.

Set the filter to Subscribed, Text operators: Equal to Yes. This will only return bundles for users who have opted in for the newsletter.

Click Run once to generate a bundle, which will contain items for mapping.

JSON Create JSON

Add a new module and search for the JSON → Create JSON module.

You need to create what is called a data structure here. This is what will determine the output of each bundle. It will create both the key and the value and put it into a single JSON string. Data structures make it easier to create the JSON for your POST request.

Click Add to start creating a data structure, and name this Intermediate C3 data structure.

Under specification, click +Add item. For the first item, under Name type “First Name”. Under Type, select Text from the dropdown menu. Click +Add item again, and repeat this step for both the Last Name and Email. Click Save when you have done this.

The items that you have just created in your data structure will now appear as fields. You can now map values here. So go ahead and map First name, Last name and Email to their respective fields. Click OK.

Great work! You have now created your first data structure that will convert a collection to a JSON string.

HTTP Make a Request

Next, add a HTTP → Make a request module.

For the URL section, you will need to copy and paste the URL of the webhook you prepared before. You can copy this by accessing the webhook menu in Make.

For Method select - POST. For Body type, select Raw. And for Content type, select JSON. In Request content, map the JSON string.

Click OK to save. We’ll explore this in greater detail over the next few pages.

Google Sheets Update a Row

Add a Google Sheets → Update a Row module. Select the same Google Sheet from the first module (Make Intermediate Course 3 data), and map the Row number.

Under Values, navigate to the Success cell and map the Status code from the HTTP → Make a request module. This will record the status of the HTTP request.

The purpose of this is to make a log that the user has been emailed the newsletter.

Click OK. Remember to save your scenario too!

If you would like an alternative solution for this status using functions: Instead of mapping the status, you could go one step further with this scenario by using this simple function: if(Status code=200;success;failure) This works like a filter, but in a function format instead. If the status is equal to 200, then it will display the content after the first ; (success), if it is not equal to 200 it will display content after the second ; (failure). You can use any values you like here, e.g. “Email sent” / “Email not sent”.

Last steps and recap

Finally, click Run once to execute your scenario.

Let’s quickly recap what happens in this scenario, and what the HTTP POST request method is doing:

  • The Google Sheets module generates a bundle per row on a spreadsheet if the user has subscribed.
  • The Create JSON module constructs each bundle in a format that can be transferred via HTTP (a JSON string) - this will be reassembled in the unit 4 scenario.
  • The HTTP → Make a request module POSTs data to a webhook, ready for you to start working on this scenario in the next unit.
  • The Google Sheets module records the status of the execution based on the status from HTTP.

Unit 4 will show the other side of this scenario, by receiving the POST data and using it to execute the scenario. Let’s finish up this module and move on to building the scenario in unit 4!