← All posts
Tutorials

Make.com + Social Media API: The No-Code Posting Workflow

How to post to multiple social platforms from Make.com using the HTTP module, with the base URL, auth header, and request body set up once and reused across scenarios.

Zakir Hossen profile imageZakir Hossen··4 min read

Make.com + Social Media API: The No-Code Posting Workflow

Make.com's HTTP module can call any REST API, which means it can post to X, LinkedIn, Facebook, Instagram, and other platforms through a single unified social media API — no per-platform module required. This is the short, no-code-first version of the setup; if you want the same workflow in n8n instead, see n8n Social Media Automation.

For the concept behind why one API reaches many platforms, read What Is a Unified Social Media API?

#Step 1: Add an HTTP Module

In a new Make.com scenario, add the HTTP app and choose Make a request. This is the generic module that talks to any API — no dedicated social media app needed.

Configure it:

  • URL: https://api.schedulenchill.com/v1/posts
  • Method: POST
  • Headers: add one header — Authorization with value Bearer YOUR_API_KEY
  • Body type: Raw
  • Content type: JSON (application/json)

#Step 2: Build the Request Body Once

In the request body field, write:

 1{
 2  "profile_ids": ["{{profileId}}"],
 3  "text": "{{postText}}",
 4  "platforms": {{platforms}},
 5  "when": "now"
 6}

Map profileId, postText, and platforms to values from an earlier module — a Google Sheets row, a form submission, or a plain text input if you're testing manually. Because the body structure is fixed, you only write this JSON once. Every future scenario that posts content reuses the same HTTP module configuration, changing only which module feeds it the mapped values.

#Step 3: Reuse Across Scenarios

Once this HTTP module is working in one scenario, clone it into others rather than rebuilding the request from scratch:

  • A scenario triggered by a new row in a content calendar spreadsheet.
  • A scenario triggered by a form submission from a client.
  • A scenario on a schedule that posts from a queue table.

Each one needs a different trigger module feeding the same three mapped fields into the same HTTP module. This is the main efficiency gain of setting up the request body correctly once: the posting logic never changes, only what triggers it.

#Attaching an Image or Video

Add a second HTTP module before the posting module:

  • URL: https://api.schedulenchill.com/v1/media
  • Method: POST
  • Body type: Multipart/form-data
  • Body: a file field set to the binary data from an earlier module (a Google Drive download, an uploaded file, or an image generation step)

The response gives you a media id. Add "media_ids": ["{{id}}"] to the JSON body in the posting module. The free plan caps uploads at 400MB, which covers nearly everything except long-form video.

#Reading the Response

Make.com automatically parses the JSON response from the HTTP module, so you can reference {{status}} and {{id}} from the posting module directly in downstream modules — for example, a router that sends a Slack message on failure and does nothing on success, so you only get notified when something needs your attention.

#Where This Differs From n8n

The module names differ (HTTP module vs. HTTP Request node) and Make.com's visual scenario builder maps data between modules with drag-and-connect mapping rather than expression syntax, but the underlying API call — same URL, same headers, same JSON body — is identical between the two. If your team already runs n8n workflows elsewhere, the n8n version of this tutorial walks through the equivalent node setup, including n8n's newer MCP client node for a lower-code alternative to hand-building the HTTP request.

#Frequently Asked Questions

Do I need a paid Make.com plan to run this? Make.com's free tier includes enough operations to run a low-volume posting scenario. Higher volume (many posts a day, or several scenarios) will need a paid Make.com tier, separate from the social posting API's own pricing.

Can Make.com schedule the post for a future time instead of posting now? Yes — replace "when": "now" with an ISO-8601 timestamp in the request body, or use "draft" to save without publishing. See How to Build a Social Media Scheduler with a REST API for the scheduling logic this maps to.

What happens if one platform in the platforms array fails but others succeed? The response reports per-platform status rather than failing the whole request. Check the response body for individual platform results rather than assuming a 200 status means every platform posted.

Is Schedule & Chill free to test this with? Yes — it's currently free for everyone, no credit card or trial timer, up to 2 connected accounts and 500 posts a month on the free plan.

Try it in a minute.Free, no card. One URL into your AI tool.
Start free