5 tools, the same for every network. 2 of them need a paid plan.
smm_list_connected_accounts
Read-onlyList connected social accounts
List the social media accounts connected to a profile, per platform (facebook, instagram, twitter, linkedin, telegram, pinterest, threads, discord, youtube), marking the account publish_to_social and schedule_social_post post to. Accounts are connected in the UniLink Dashboard, not here. Call this before publishing. Not paginated.
Arguments
profileIdintegerrequired
Profile ID
readOnlyHint: truedestructiveHint: falseidempotentHint: trueopenWorldHint: false
publish_to_social
Posts to social mediaPaid planPublish a social post
Publish a post now to one or more of the profile's connected social accounts: one account per platform, the one smm_list_connected_accounts marks. It creates a campaign (see list_smm_campaigns) and sends it to each platform. Platforms that are not connected are skipped; if none is connected the call fails with NOT_CONNECTED. The text lists each platform as SUCCESS, FAILED or SKIPPED; for Instagram, SUCCESS means accepted and still processing, not yet live. Each platform applies its own rules (e.g. X allows 280 characters, Instagram needs an image or video, YouTube needs a video). Paid UniLink plans only, up to the profile's daily social post limit (10 by default) per 24 hours.
Arguments
profileIdintegerrequired
Profile ID
contentstringrequired
Post text, at most 5000 characters
platformsarray of stringrequired
Platforms to post to, each at most once: facebook, instagram, twitter, linkedin, telegram, pinterest, threads, discord, youtube
mediaUrlsarray of stringoptional
Optional public https:// image or video URLs to attach, at most 10, each at most 2048 characters. A URL whose path ends in .mp4, .mov, .avi or .webm is sent as a video, any other as an image.
titlestringoptional
Optional campaign title shown in list_smm_campaigns, at most 512 characters (default: the start of content)
readOnlyHint: falsedestructiveHint: falseidempotentHint: falseopenWorldHint: true
schedule_social_post
Posts to social mediaPaid planSchedule a social post
Schedule a post to go out later to one or more of the profile's connected social accounts. Same as publish_to_social, but nothing is sent now: at scheduleAt UniLink publishes to each platform; follow it with list_smm_campaigns. Platforms that are not connected are skipped; if none is connected the call fails with NOT_CONNECTED. Paid UniLink plans only, up to the profile's daily social post limit (10 by default) per 24 hours, counted when the post is scheduled.
Arguments
profileIdintegerrequired
Profile ID
contentstringrequired
Post text, at most 5000 characters
platformsarray of stringrequired
Platforms to post to, each at most once: facebook, instagram, twitter, linkedin, telegram, pinterest, threads, discord, youtube
scheduleAtstringrequired
When to publish: ISO 8601 in UTC, e.g. 2026-03-01T10:00:00Z (a time without an offset is taken as UTC). Must be in the future.
mediaUrlsarray of stringoptional
Optional public https:// image or video URLs to attach, at most 10, each at most 2048 characters. A URL whose path ends in .mp4, .mov, .avi or .webm is sent as a video, any other as an image.
titlestringoptional
Optional campaign title shown in list_smm_campaigns, at most 512 characters (default: the start of content)
readOnlyHint: falsedestructiveHint: falseidempotentHint: falseopenWorldHint: true
list_smm_campaigns
Read-onlyList social campaigns
List the profile's social media campaigns, newest first, with each campaign's status and platforms and each platform's post status and link. Paginated with take/skip: the text ends with a line Pagination: {"hasMore":true|false,"nextSkip":n|null}; while hasMore is true, call again with skip = nextSkip.
Arguments
profileIdintegerrequired
Profile ID
takeintegeroptionaldefault: 20
Number of campaigns (default 20, max 100)
skipintegeroptionaldefault: 0
Offset (default 0)
readOnlyHint: truedestructiveHint: falseidempotentHint: trueopenWorldHint: false
get_campaign_details
Read-onlyGet social campaign details
Get one social media campaign: status, schedule, text, and per platform the post status, link, error and engagement metrics. campaignId comes from list_smm_campaigns or from publish_to_social's result.
readOnlyHint: truedestructiveHint: falseidempotentHint: trueopenWorldHint: false