Guides
Publish a post to several channels
One post, a variant per channel, a first comment, a schedule, and what to do when it needs approval.
Find your channels
tracee channels--channel in the CLI takes a channel id, a platform (linkedin) or part of a channel's name. Over HTTP, use ids from GET /channels. Only channels marked allowed take posts from the API.
Create and publish
tracee posts create \
--body "Our new dashboard is live." \
--channel linkedin --channel x \
--link https://acme.com/launch \
--thread "Details in the first comment: https://acme.com/launch" \
--publish 2026-11-20T09:00publishtakesnowor a time; leave it out to keep a draft.linkUrlgets UTM tags per channel, so contacts in your CRM trace back to the post.threadparts become replies on X and Threads, and comments on LinkedIn, Facebook, Instagram, YouTube and Reddit.variantsgive a channel its own copy, media or settings (an Instagram reel, a YouTube title…). SeePOST /posts.
The answer includes brandIssues per channel. Issues block publishing until you fix the copy with PATCH /posts/{postId}.
When it needs approval
If the workspace requires approval to publish, the answer's publish.status is pending_approval (CLI: Sent for approval). A person approves it in Tracee, and it goes out at the time you asked for. Follow it with tracee approvals or GET /approvals.
Afterwards
tracee posts next-slot --channel-ids <channel_id> # the next free posting time
tracee posts reschedule <post_id> --scheduled-for 2026-11-21T09:00:00Z
tracee posts unschedule <post_id> # keeps its approval
tracee posts duplicate <post_id> # a new draft from any post
tracee posts unpublish <post_id> --note "Wrong link" # asks a person
tracee analytics engagement --days 7 # views, likes, comments, clicks