Social media automation recipes API
Pick your automation tool and what should start a post. Each recipe gives the steps, the exact PostBoost API calls, and for n8n a workflow you can import.
- Endpoint:
GET https://postboost.co/app/api/tools/social-media-automation-recipes(operationIdfindAutomationRecipes) - Web tool: postboost.co/tools/social-media-automation-recipes
- Token: optional (limits)
- MCP: tool
find-automation-recipesonhttps://postboost.co/mcp/tools
Request
| Query parameter | Type | Default | Description |
|---|---|---|---|
platform | string: n8n, zapier, make | Only the steps for this automation platform; n8n also returns an importable workflow per recipe. Omit it for the steps of all three. | |
trigger | string: rss, spreadsheet, file, approval, webhook, schedule | Only recipes started by this trigger. Omit it for every trigger. | |
q | string | Only recipes whose title or goal contains this text (case-insensitive). Omit it for every recipe. |
Call it
- curl
- Python
- Node.js
- PHP
- Go
- Ruby
- Java
- C#
- Rust
- CLI
curl 'https://postboost.co/app/api/tools/social-media-automation-recipes?platform=zapier&trigger=rss'
from postboost import ApiClient, Configuration
from postboost.api.free_tools_api import FreeToolsApi
with ApiClient(Configuration()) as client:
api = FreeToolsApi(client)
result = api.find_automation_recipes(platform='zapier', trigger='rss')
print(result.to_dict())
import { FreeToolsApi } from 'postboost';
const api = new FreeToolsApi();
const { body } = await api.findAutomationRecipes('zapier', 'rss');
console.log(body);
use PostBoostClient\Api\FreeToolsApi;
$api = new FreeToolsApi(new GuzzleHttp\Client());
$result = $api->findAutomationRecipes("zapier", "rss");
echo $result;
import (
"context"
"fmt"
postboost "github.com/postboost-co/postboost-go"
)
client := postboost.NewAPIClient(postboost.NewConfiguration())
result, _, err := client.FreeToolsAPI.FindAutomationRecipes(context.Background()).Platform("zapier").Trigger("rss").Execute()
fmt.Println(result, err)
require 'postboost'
api = PostBoost::FreeToolsApi.new
result = api.find_automation_recipes(platform: 'zapier', trigger: 'rss')
puts result.to_hash
import com.postboost.ApiClient;
import com.postboost.api.FreeToolsApi;
import com.postboost.model.FreeToolFindAutomationRecipesResponse;
FreeToolsApi api = new FreeToolsApi(new ApiClient());
FreeToolFindAutomationRecipesResponse result = api.findAutomationRecipes("zapier", "rss");
System.out.println(result.toJson());
using PostBoost.Client.Api;
using PostBoost.Client.Client;
var api = new FreeToolsApi(new Configuration());
var result = await api.FindAutomationRecipesAsync("zapier", "rss");
Console.WriteLine(result.ToJson());
use postboost::apis::configuration::Configuration;
use postboost::apis::free_tools_api;
let config = Configuration::new();
let result = free_tools_api::find_automation_recipes(&config, Some("zapier"), Some("rss"), None).await?;
println!("{:?}", result);
./postboost-cli findAutomationRecipes platform='zapier' trigger='rss'
With a token, send Authorization: Bearer YOUR_API_TOKEN as a default header (how, per SDK).
Response
{
"total": 2,
"recipes": [
{
"slug": "rss-to-queue",
"title": "RSS feed to the PostBoost queue",
"trigger": "rss",
"goal": "Each new blog post goes into the next free slot of your posting schedule with its title and link.",
"native": {
"feature": "RSS auto-post",
"text": "PostBoost can watch an RSS feed and turn new items into drafts or queued posts by itself, with no automation tool: add the feed on the Recycling & RSS page (RSS feeds tab) or with the API.",
"docs_url": "https://postboost.co/docs/automations/"
},
"api_operations": [
{
"operation_id": "createPost",
"docs_url": "https://postboost.co/docs/api/create-post"
}
],
"steps": {
"zapier": [
"Trigger: RSS by Zapier → New Item in Feed.",
"Action: Webhooks by Zapier → Custom Request, method POST, URL https://postboost.co/app/api/{workspaceUuid}/posts.",
"Headers: Authorization: Bearer <your token>, Content-Type: application/json.",
"Data: accounts, versions (the item title and link as the text) and \"queue\": true."
]
},
"n8n_workflow": null
},
{
"slug": "rss-ai-caption-drafts",
"title": "RSS feed to AI caption drafts",
"trigger": "rss",
"goal": "Each new blog post becomes a draft with one AI-written caption per account, ready for you to review. Uses PostBoost AI credits, no third-party AI.",
"native": {
"feature": "RSS auto-post",
"text": "PostBoost can watch an RSS feed and turn new items into drafts or queued posts by itself, with no automation tool: add the feed on the Recycling & RSS page (RSS feeds tab) or with the API.",
"docs_url": "https://postboost.co/docs/automations/"
},
"api_operations": [
{
"operation_id": "blogToSocial",
"docs_url": "https://postboost.co/docs/api/blog-to-social"
}
],
"steps": {
"zapier": [
"Trigger: RSS by Zapier → New Item in Feed.",
"Action: Webhooks by Zapier → Custom Request, method POST, URL https://postboost.co/app/api/{workspaceUuid}/ai/blog-to-social.",
"Headers: Authorization: Bearer <your token>, Content-Type: application/json.",
"Data: \"url\" (the item link), \"account_ids\" and \"create_post\": true."
]
},
"n8n_workflow": null
}
],
"last_verified": "2026-10-18"
}
With MCP
Connect https://postboost.co/mcp/tools (setup) and ask, for example: Find n8n, Zapier and Make recipes that automate social media posting through the PostBoost API with the PostBoost find-automation-recipes tool.
Errors
| Status | When |
|---|---|
401 | The Authorization header holds an invalid token. Leave it out to call as a guest. |
413 | The JSON body is larger than 128 KB. |
422 | A field is invalid; the body lists the errors per field. |
429 | A limit is reached; see limits. |