Make (Integromat)
Connect PostPost to 1,000+ apps using Make's HTTP module.
Overview
Make (formerly Integromat) provides powerful visual workflow automation. Use the HTTP module to call the PostPost API and automate your social media posting.
Prerequisites
- Make account (Free tier includes 1,000 operations/month)
- PostPost API key from app.postpost.dev
- At least one social account connected in PostPost
Setting Up the HTTP Module
Create a PostPost Connection Template
- In Make, go to Connections in the left sidebar
- Click Add and select HTTP
- Name it "PostPost API"
- Save for reuse in all your scenarios
Example 1: Post When Notion Page Created
Automatically share new Notion pages to social media.
Scenario Setup
- Create a new scenario
- Add Notion → Watch Database Items
- Add HTTP → Make a request
HTTP Module Configuration
URL:
https://api.postpost.dev/api/v1/create-postMethod: POST
Headers:
| Name | Value |
|---|---|
x-api-key | YOUR_API_KEY |
Content-Type | application/json |
Body type: Raw
Content type: JSON (application/json)
Request content:
{
"content": "📝 New article: {{1.properties.Name.title[].plain_text}}\n\nRead it here: {{1.url}}",
"platforms": ["twitter-123456789", "linkedin-ABC123DEF"]
}Example 2: Content Calendar from Airtable
Use Airtable as your content calendar and auto-schedule posts.
Airtable Base Structure
| Content | Platforms | Scheduled Time | Status | Post ID |
|---|---|---|---|---|
| Monday tip! | twitter-123;linkedin-456 | 2026-03-01T09:00:00Z | pending |
Scenario Setup
- Airtable → Search Records (filter: Status = "pending")
- Iterator → Iterate through records
- Tools → Set Variable (split platforms by semicolon)
- HTTP → Make a request (to PostPost)
- Airtable → Update Record (set status to "scheduled", save post ID)
HTTP Configuration
URL:
https://api.postpost.dev/api/v1/create-postMethod: POST
Headers:
x-api-key: YOUR_API_KEY
Content-Type: application/jsonRequest content:
{
"content": "{{2.fields.Content}}",
"platforms": {{3.value}},
"scheduledTime": "{{2.fields.`Scheduled Time`}}"
}Update Airtable After Success
In the Airtable Update Record module:
- Status:
scheduled - Post ID:
{{4.data.postGroupId}}
Example 3: Auto-Post from RSS Feed
Share new blog posts automatically.
Scenario Setup
- RSS → Watch RSS feed items
- Text Parser → HTML to text (clean description)
- HTTP → Make a request
HTTP Configuration
Request content:
{
"content": "🆕 {{1.title}}\n\n{{2.text}}\n\nRead more: {{1.link}}",
"platforms": ["twitter-123456789", "linkedin-ABC123DEF"]
}Example 4: Schedule Posts from Google Sheets
Scenario Setup
- Google Sheets → Watch Rows (new rows only)
- Router → Check if scheduled time is in the future
- HTTP → Make a request
- Google Sheets → Update Row (mark as posted)
HTTP Configuration
Request content:
{
"content": "{{1.`Column A`}}",
"platforms": {{split(1.`Column B`; ";")}},
"scheduledTime": "{{1.`Column C`}}"
}Example 5: Multi-Platform Post with Different Content
Post tailored content to each platform.
Scenario Setup
- Trigger (any source)
- Router → Branch for each platform
- Multiple HTTP modules (one per platform)
Branch 1: Twitter (280 chars)
{
"content": "{{substring(1.content; 0; 250)}}... {{1.link}}",
"platforms": ["twitter-123456789"]
}Branch 2: LinkedIn (longer form)
{
"content": "{{1.full_content}}\n\n{{1.link}}\n\n#business #technology",
"platforms": ["linkedin-ABC123DEF"]
}Branch 3: Threads (500 chars)
{
"content": "{{substring(1.content; 0; 470)}}...\n\n{{1.link}}",
"platforms": ["threads-987654321"]
}Example 6: Upload Image and Post
Upload an image first, then create a post with it.
Scenario Setup
- Trigger (e.g., Google Drive → Watch Files)
- HTTP → Create post to get a postGroupId
- HTTP → Get upload URL from PostPost (with postGroupId)
- HTTP → Upload file to S3 (media auto-attaches via postGroupId)
Step 2: Create Post
URL: https://api.postpost.dev/api/v1/create-post
Method: POST
Request content:
{
"content": "Check out this image!",
"platforms": ["twitter-123456789"]
}Step 3: Get Upload URL
URL: https://api.postpost.dev/api/v1/get-upload-url
Method: POST
Request content:
{
"fileName": "{{1.name}}",
"contentType": "{{1.mimeType}}",
"postGroupId": "{{2.data.postGroupId}}"
}Step 4: Upload to S3
URL: {{3.data.uploadUrl}}
Method: PUT
Headers:
Content-Type: {{1.mimeType}}Body type: Binary
Content: {{1.data}}
Note: Media is automatically attached to the post via the
postGroupIdprovided when requesting the upload URL. No need to pass media references when creating the post.
Error Handling
Add Error Handler
- Right-click on the HTTP module
- Select Add error handler
- Choose Resume or Rollback based on your needs
Common Error Responses
| Status | Meaning | Solution |
|---|---|---|
| 400 | Bad request | Check JSON syntax and required fields |
| 401 | Unauthorized | Verify API key |
| 404 | Not found | Check platform IDs exist |
| 429 | Rate limited | Add delay between requests |
Retry on Failure
Use Make's built-in retry:
- Click on HTTP module settings (gear icon)
- Enable Retry on failure
- Set Max retries: 3
- Set Interval: 5 seconds
Useful Functions
Split Platforms String
Convert "twitter-123;linkedin-456" to array:
{{split(1.platforms; ";")}}Truncate for Twitter
Keep content under 280 characters:
{{if(length(1.content) > 250; substring(1.content; 0; 247) + "..."; 1.content)}}Format Date for Scheduling
Convert to ISO 8601:
{{formatDate(1.date; "YYYY-MM-DDTHH:mm:ss.000[Z]")}}Add Delay Between Requests
Use Sleep module between HTTP calls:
300 (milliseconds)Webhook Trigger (Incoming)
You can also trigger Make scenarios from external sources:
- Add Webhooks → Custom webhook as trigger
- Copy the webhook URL
- Use this URL in your app to trigger the scenario
Example: Trigger from Your App
curl -X POST "https://hook.make.com/your-webhook-id" \
-H "Content-Type: application/json" \
-d '{"content": "Post this!", "platforms": ["twitter-123456789"]}'Best Practices
- Use Variables: Store your API key and platform IDs as scenario variables
- Add Delays: Use Sleep module (300ms) between multiple API calls
- Error Alerts: Set up email notifications for scenario failures
- Test Mode: Always test with a single item before running full scenarios
- Scheduling: Run posting scenarios during business hours
- Logging: Use Make's execution history to debug issues
PostPost — Social media API with free tier, paid plans from $2.99/account