Examples
These examples show the tool calls an AI agent makes behind the scenes. You don’t need to write these yourself — describe what you want in natural language and your agent handles the rest.
Schedule a Reel to Instagram
Section titled “Schedule a Reel to Instagram”List integrations
The agent calls
integrationListand finds your Instagram account:{"output": [{"id": "abc123","name": "vincentleserpent","picture": "https://...","platform": "instagram-standalone"}]}Get platform schema
The agent calls
integrationSchemawithplatform: "instagram-standalone"to learn the rules:{"output": {"rules": "Instagram should have at least one attachment, if it's a story, it can have only one picture","maxLength": 2200,"settings": { "post_type": "post | story", "...": "..." },"tools": []}}Schedule the post
The agent calls
integrationSchedulePostTool:{"socialPost": [{"integrationId": "abc123","isPremium": false,"date": "2026-10-02T10:00:00.000Z","shortLink": false,"type": "schedule","postsAndComments": [{"content": "<p>Trois choses que personne ne dit sur Malte.</p>","attachments": ["https://app.usenadia.com/uploads/reel.mp4"]}],"settings": [{ "key": "post_type", "value": "post" }]}]}
Post a story, one story per media
Section titled “Post a story, one story per media”A post of type story publishes one story per attachment, in order:
{ "socialPost": [ { "integrationId": "abc123", "date": "2026-10-02T18:00:00.000Z", "type": "schedule", "postsAndComments": [ { "content": "<p></p>", "attachments": [ "https://app.usenadia.com/uploads/story-1.jpg", "https://app.usenadia.com/uploads/story-2.jpg", "https://app.usenadia.com/uploads/story-3.jpg" ] } ], "settings": [{ "key": "post_type", "value": "story" }] } ]}Publish a trial reel
Section titled “Publish a trial reel”A trial reel goes to non-followers first, then graduates. It must be exactly one video:
{ "settings": [ { "key": "post_type", "value": "post" }, { "key": "is_trial_reel", "value": true }, { "key": "graduation_strategy", "value": "SS_PERFORMANCE" } ]}MANUAL graduates when you say so; SS_PERFORMANCE when Instagram decides the
reel is doing well enough.
Schedule to TikTok
Section titled “Schedule to TikTok”Read the schema
integrationSchemawithplatform: "tiktok"returns a 2,000 character limit and the settings below.Schedule
{"socialPost": [{"integrationId": "tiktok-123","date": "2026-10-02T10:00:00.000Z","type": "schedule","postsAndComments": [{"content": "<p>Trois choses que personne ne dit sur Malte.</p>","attachments": ["https://app.usenadia.com/uploads/video.mp4"]}],"settings": [{ "key": "content_posting_method", "value": "DIRECT_POST" },{ "key": "privacy_level", "value": "PUBLIC_TO_EVERYONE" },{ "key": "duet", "value": true },{ "key": "stitch", "value": true },{ "key": "comment", "value": true },{ "key": "autoAddMusic", "value": "no" },{ "key": "brand_content_toggle", "value": false },{ "key": "brand_organic_toggle", "value": false }]}]}
Post the same video everywhere at once
Section titled “Post the same video everywhere at once”socialPost is an array: one call, several channels, one settings block each.
{ "socialPost": [ { "integrationId": "instagram-1", "date": "2026-10-02T10:00:00.000Z", "type": "schedule", "postsAndComments": [ { "content": "<p>…</p>", "attachments": ["https://app.usenadia.com/uploads/video.mp4"] } ], "settings": [{ "key": "post_type", "value": "post" }] }, { "integrationId": "tiktok-1", "date": "2026-10-02T10:00:00.000Z", "type": "schedule", "postsAndComments": [ { "content": "<p>…</p>", "attachments": ["https://app.usenadia.com/uploads/video.mp4"] } ], "settings": [ { "key": "content_posting_method", "value": "DIRECT_POST" }, { "key": "privacy_level", "value": "PUBLIC_TO_EVERYONE" } ] } ]}Add a comment under an Instagram post
Section titled “Add a comment under an Instagram post”Extra items in postsAndComments publish as comments on your own post:
{ "postsAndComments": [ { "content": "<p>Trois choses que personne ne dit sur Malte.</p>", "attachments": ["https://app.usenadia.com/uploads/reel.mp4"] }, { "content": "<p>Le guide complet est en bio 👆</p>", "attachments": [] } ]}Ask how the last video is doing
Section titled “Ask how the last video is doing”This is a tool the original project does not have. It reads the collected history, not the platform.
Call videoPerformance
{"integrationId": "abc123","limit": 10}Read the answer at equal age
The response carries each video’s
viewsAtAge(H+4 … H+168) and, for the focus video, its rank and the median at that age, plus a projection to H+120 from the channel’s own H+24 → H+120 multiplier.
A channel with collection switched off answers collected: false and says why
— see Analytics → History.
Move a post
Section titled “Move a post”{ "postId": "post-123", "date": "2026-10-03 18:00:00"}Get the ID from postsListTool first. Moving is reversible, so it needs no
confirmation — but a post that already published cannot be moved, and the tool
says so rather than failing silently.
Post with an AI-generated image
Section titled “Post with an AI-generated image”Generate the image
The agent calls
generateImageToolwith a prompt, and gets back a hosted URL.Schedule with it
That URL goes straight into
attachments.
Use media hosted somewhere else
Section titled “Use media hosted somewhere else”An attachment that is not on UseNadia’s own domain fails upload-domain validation. Pull it in first:
{ "url": "https://cdn.example.com/render-42.mp4"}uploadFromUrlTool returns { id, path, contentType, size, duration, width, height, codec }; use path in attachments, and compare size and duration with the source when it told you them.
Cut a phone video where a sentence ends
Section titled “Cut a phone video where a sentence ends”You uploaded a clip from your phone and want to post it without its last sentence. The agent chains four tools:
mediaListwith{ "type": "video", "limit": 1 }: the latest upload, itspathandduration.transcribewith{ "path": "<path>" }: the sentences with their timestamps. Say the second one ends at24.45.cutVideowith{ "path": "<path>", "cuts": [24.45] }: two new videos,0 → 24.45and24.45 → end. It takes a moment: the agent says so first.integrationSchedulePostToolwith the first part’spathinattachments.
To keep only some passages instead, pass segments:
{ "path": "<path>", "segments": [{ "start": 3.2, "end": 18.9 }] }.
Bulk schedule
Section titled “Bulk schedule”Several posts in one socialPost array, each with its own date, is the way
to lay out a week in one call. Ask for type: "draft" while you are still
reviewing: drafts sit on the calendar and never publish.