Make.com Integration
Build powerful content automation scenarios with Make.com's HTTP module — exact field-by-field configuration.
Overview
Make.com (formerly Integromat) uses a visual drag-and-drop builder for automation scenarios. You'll use the HTTP > Make a request module to call Brainpercent's API. This guide shows every field you need to configure in Make.com's interface.
Prerequisites
- A Make.com account (Free plan: 1,000 ops/month; Core plan recommended for production)
- A Brainpercent API key (
bp_prefix) with read + write permissions - Basic familiarity with Make.com's visual editor
HTTP Module: Field-by-Field Setup
Add an "HTTP > Make a request" module to your scenario. Here is every field in the module configuration panel:
| Make.com Field | Value |
|---|---|
| URL | https://brainpercent.app/api/v1/articles/generate |
| Method | POST (select from dropdown) |
| Headers | Click "Add a header" — add 2 items (see table below) |
| Query String | Leave empty (for POST requests) |
| Body type | Raw (select from dropdown) |
| Content type | JSON (application/json) (select from dropdown) |
| Request content | Your JSON body (see below) |
| Parse response | Yes |
| Timeout | 30 (seconds, default is fine) |
| Share cookies with other HTTP modules | No |
| Self-signed certificate | No |
| Follow redirect | Yes |
| Follow all redirects | Yes |
Headers Array
Click "Add a header" twice to create two header items:
| Name | Value |
|---|---|
Authorization | Bearer bp_your_api_key_here |
Content-Type | application/json |
Request Content (JSON Body)
Paste this into the "Request content" field. Use Make.com variables with the {{moduleNumber.field}} syntax to reference data from previous modules:
{
"topic": "Your Article Topic",
"keywords": ["keyword1", "keyword2"],
"tone": "professional",
"length": "long"
}Important: Always enable "Parse response: Yes". This lets Make.com parse the JSON response automatically, so you can reference individual fields like {{2.data.article_id}} in subsequent modules.
Scenario: Automated Content Pipeline
Full pipeline: Trigger → Generate Article → Sleep → Check Status → Router → Generate Social
Module 1: Schedule Trigger
| Field | Value |
|---|---|
| Module | Basic trigger (Schedule) |
| Run scenario | Every day at 09:00 |
Module 2: HTTP > Make a Request (Generate)
Configured exactly as shown in the HTTP Module Setup above with POST /articles/generate.
Module 3: Sleep
| Field | Value |
|---|---|
| Module | Tools > Sleep |
| Delay | 300 seconds (5 minutes) |
The Sleep module is under Tools in the module picker. Search "Sleep" or navigate to Tools > Sleep. The delay is in seconds — 300 = 5 minutes.
Module 4: HTTP > Make a Request (Check Status)
| Field | Value |
|---|---|
| Method | GET |
| URL | https://brainpercent.app/api/v1/articles/{{2.data.article_id}}/status |
| Headers | Authorization: Bearer bp_your_key (same as Module 2) |
| Parse response | Yes |
Module 5: Router (Conditional Branching)
Add a Router module after the status check. Configure two routes:
| Route | Filter Condition | Then |
|---|---|---|
| Route 1: Ready | {{4.data.status}} Not equal to generating | → Generate Social (Module 6) |
| Route 2: Still Generating | {{4.data.status}} Equal to generating | → Sleep 120s → Check Status again |
Module 6: HTTP > Make a Request (Generate Social)
| Field | Value |
|---|---|
| Method | POST |
| URL | https://brainpercent.app/api/v1/social/generate |
| Body type | Raw / JSON |
{
"source_url": "https://brainpercent.app/articles/{{4.data.slug}}",
"platforms": ["twitter", "linkedin", "facebook"],
"tone": "professional"
}Scenario: Credit Monitor
Get notified when credits run low. Three modules:
https://brainpercent.app/api/v1/user/credits| Filter Field | Value |
|---|---|
| Label | Credits are low |
| Condition | {{2.data.available_credits}} Less than 100 |
JSON Parsing & Data Mapping
With "Parse response: Yes" enabled, Make.com automatically maps JSON fields. Reference them using {{moduleNumber.path.to.field}}:
| Data | Make.com Reference | Example |
|---|---|---|
| Article ID | {{2.data.article_id}} | f8c9d0e1-2345-... |
| Article status | {{4.data.status}} | draft |
| Article slug | {{4.data.slug}} | ai-content-marketing |
| Credit balance | {{2.data.available_credits}} | 850 |
| Social items array | {{5.data.items}} | [array] |
| Error code | {{2.data.error.code}} | RATE_LIMIT |
Error Handling
Right-click any HTTP module and select "Add error handler". Make.com provides four error handler types:
| Handler Type | Behavior | Use Case |
|---|---|---|
| Resume | Skip failed item, continue scenario | Batch processing — don't let one failure block the rest |
| Break | Stop execution, save state | Critical errors — prevent downstream modules from running |
| Rollback | Stop and mark as error | Transactional workflows requiring all-or-nothing |
| Commit | Stop, mark as success | Graceful stop without triggering error alerts |
Handling 429 Rate Limits
Add a Break error handler with automatic retry:
| Break Setting | Value |
|---|---|
| Automatically complete execution | Yes |
| Number of retries | 3 |
| Interval between retries | 60 seconds |
Scenario Schedule Settings
Click the clock icon at the bottom of your scenario to configure run frequency. In the scheduling panel:
| Setting | Recommended Value |
|---|---|
| Run scenario | At regular intervals |
| Minutes | 15 (minimum for free plans) |
Each HTTP module execution counts as one operation against your Make.com plan quota. A 6-module pipeline uses 6 operations per run. Monitor usage in Settings → Operations.
Tips & Best Practices
- Always enable "Parse response: Yes" on HTTP modules for automatic JSON field mapping
- Store your API key in a Make.com Data Store or use the "Keys" feature for centralized management
- Add error handlers to every HTTP module — use "Resume" for batch processing, "Break" for critical paths
- Use the Router module for conditional branching (e.g., check article status before proceeding)
- Use Iterator to loop over social content items arrays
- Use Sleep (under Tools) for polling delays — not Code modules with
setTimeout - Monitor operations usage in scenario settings — each HTTP request is 1 operation