Examples
Common workflows when using Sipstory through MCP
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.sipstory.tech/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.sipstory.tech/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" }
]
}
]
}
Post to LinkedIn with a Comment
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.