Integrations
Listing channels
Section titled “Listing channels”Every other command takes a channel id. Get them with:
nadia channels# Just the ids and platformsnadia channels | jq '.[] | {id, identifier}'
# The Instagram channel's id, in a variableIG=$(nadia channels | jq -r '.[] | select(.identifier=="instagram-standalone") | .id')By group
Section titled “By group”nadia list-groups # your groups: [{ id, name }]nadia channels --group "$GROUP_ID" # the channels of one groupA channel’s settings
Section titled “A channel’s settings”Each platform has its own settings — post type, privacy, maximum length — and sometimes tools that fetch data you need to fill them in:
nadia get-channel-settings <channel-id>The answer lists the available fields, which ones are required, the length
limits, and the tools (output.tools[].methodName).
Running a tool
Section titled “Running a tool”nadia run-channel-tool <channel-id> --method-name <method> --data '{"key":"value"}'Disconnecting
Section titled “Disconnecting”nadia delete-channel <channel-id> # disconnects it and deletes its postsConnecting a channel goes through the provider’s login in a browser: do it
from the app. The settings of each platform are detailed in the
Public API reference, and an
AI agent reads the same schema with integrationSchema over
MCP.
Discovery workflow
Section titled “Discovery workflow”# 1. Find the channelTT=$(nadia channels | jq -r '.[] | select(.identifier=="tiktok") | .id')
# 2. What it takesnadia get-channel-settings "$TT"
# 3. Post with those settingsnadia post -i "$TT" -s 2026-10-02T09:00:00+02:00 \ -c "My video" -m ./video.mp4 \ --settings '{"content_posting_method":"DIRECT_POST","privacy_level":"PUBLIC_TO_EVERYONE"}'