Documentation Index
Fetch the complete documentation index at: https://docs.postiz.com/llms.txt
Use this file to discover all available pages before exploring further.
These examples show the tool calls an AI agent makes behind the scenes. You don’t need to write these yourself — just describe what you want in natural language and your AI agent handles the rest.
Schedule a Post to X
A typical flow to schedule a post to X (Twitter):
List integrations
The agent calls integrationList and finds your X account:{
"output": [
{
"id": "abc123",
"name": "My X Account",
"picture": "https://...",
"platform": "x"
}
]
}
Get platform schema
The agent calls integrationSchema with platform: "x" to learn the rules:{
"output": {
"rules": "...",
"maxLength": 280,
"settings": { ... },
"tools": []
}
}
Schedule the post
The agent calls schedulePostTool:{
"socialPost": [
{
"integrationId": "abc123",
"isPremium": false,
"date": "2025-01-15T10:00:00.000Z",
"shortLink": false,
"type": "schedule",
"postsAndComments": [
{
"content": "<p>Excited to announce our new feature!</p>",
"attachments": []
}
],
"settings": [
{ "key": "who_can_reply_post", "value": "everyone" }
]
}
]
}
Post to Discord with Channel Selection
Platforms like Discord require selecting a channel first:
Get the schema
The agent calls integrationSchema with platform: "discord" and discovers a tool to list channels.
List channels
The agent calls triggerTool:{
"integrationId": "discord-123",
"methodName": "listChannels",
"dataSchema": []
}
Returns available channels with their IDs. Schedule the post
The agent includes the channel ID in settings:{
"socialPost": [
{
"integrationId": "discord-123",
"isPremium": false,
"date": "2025-01-15T10:00:00.000Z",
"shortLink": false,
"type": "now",
"postsAndComments": [
{
"content": "<p>Hello Discord!</p>",
"attachments": []
}
],
"settings": [
{ "key": "channel", "value": "channel-id-here" }
]
}
]
}
Post with an AI-Generated Image
Generate the image
The agent calls generateImageTool:{
"prompt": "A futuristic city skyline at sunset, digital art style"
}
Returns:{
"id": "img-456",
"path": "https://uploads.postiz.com/generated-image.png"
}
Schedule with the image
The agent includes the image URL in attachments:{
"postsAndComments": [
{
"content": "<p>The future is here</p>",
"attachments": ["https://uploads.postiz.com/generated-image.png"]
}
]
}
Generate a Video and Post
Check video options
The agent calls generateVideoOptions to see available generators.
Get voice options
For Image Text Slides, the agent calls videoFunctionTool:{
"identifier": "image-text-slides",
"functionName": "loadVoices"
}
Returns a list of available voices with their IDs. Generate the video
The agent calls generateVideoTool:{
"identifier": "image-text-slides",
"output": "vertical",
"customParams": [
{ "key": "prompt", "value": "5 tips for better social media engagement" },
{ "key": "voice", "value": "voice-id-here" }
]
}
Returns the video URL. Schedule with the video
The agent uses the video URL as an attachment when calling schedulePostTool.
Create an X Thread
To create a thread on X, add multiple items to postsAndComments:
{
"socialPost": [
{
"integrationId": "x-123",
"isPremium": false,
"date": "2025-01-15T10:00:00.000Z",
"shortLink": false,
"type": "schedule",
"postsAndComments": [
{
"content": "<p>Thread: 5 things I learned this week</p>",
"attachments": []
},
{
"content": "<p>1. Consistency beats intensity</p>",
"attachments": []
},
{
"content": "<p>2. Start before you're ready</p>",
"attachments": []
}
],
"settings": [
{ "key": "who_can_reply_post", "value": "everyone" }
]
}
]
}
For LinkedIn, the first item in postsAndComments is the post and the rest are comments:
{
"socialPost": [
{
"integrationId": "linkedin-123",
"isPremium": false,
"date": "2025-01-15T10:00:00.000Z",
"shortLink": false,
"type": "schedule",
"postsAndComments": [
{
"content": "<p>We just launched something big!</p>",
"attachments": []
},
{
"content": "<p>Check it out at example.com</p>",
"attachments": []
}
],
"settings": []
}
]
}
Bulk Schedule
Schedule 5 posts across different days:
{
"socialPost": [
{
"integrationId": "x-123",
"isPremium": false,
"date": "2025-01-13T10:00:00.000Z",
"shortLink": false,
"type": "schedule",
"postsAndComments": [{ "content": "<p>Monday motivation</p>", "attachments": [] }],
"settings": [{ "key": "who_can_reply_post", "value": "everyone" }]
},
{
"integrationId": "x-123",
"isPremium": false,
"date": "2025-01-14T10:00:00.000Z",
"shortLink": false,
"type": "schedule",
"postsAndComments": [{ "content": "<p>Tuesday tip</p>", "attachments": [] }],
"settings": [{ "key": "who_can_reply_post", "value": "everyone" }]
},
{
"integrationId": "x-123",
"isPremium": false,
"date": "2025-01-15T10:00:00.000Z",
"shortLink": false,
"type": "schedule",
"postsAndComments": [{ "content": "<p>Midweek thoughts</p>", "attachments": [] }],
"settings": [{ "key": "who_can_reply_post", "value": "everyone" }]
},
{
"integrationId": "x-123",
"isPremium": false,
"date": "2025-01-16T10:00:00.000Z",
"shortLink": false,
"type": "schedule",
"postsAndComments": [{ "content": "<p>Thursday throwback</p>", "attachments": [] }],
"settings": [{ "key": "who_can_reply_post", "value": "everyone" }]
},
{
"integrationId": "x-123",
"isPremium": false,
"date": "2025-01-17T10:00:00.000Z",
"shortLink": false,
"type": "schedule",
"postsAndComments": [{ "content": "<p>Friday wrap-up</p>", "attachments": [] }],
"settings": [{ "key": "who_can_reply_post", "value": "everyone" }]
}
]
}
Each item in the socialPost array is an independent post with its own date, content, and settings.