Skip to content

Board, inbox and automations

The surfaces the original project has no equivalent for are in the CLI like the rest: one generated command per endpoint, and shortcuts for the everyday ones.

A card goes from an idea to a published post through the columns IDEA, SCRIPT, VALIDATED, TO_SHOOT, TO_EDIT, TO_SCHEDULE, PUBLISHED (case-insensitive on the command line: to-shoot works).

Terminal window
nadia idea "Three mistakes in Malta" --hook "Nobody told me about the third"
nadia cards # the whole board
nadia cards --stage to-edit # one column
nadia cards --tag claude --fields id,title,stage # a series, without the scripts
nadia card <id> # one card
nadia move <id> to-shoot # to another column
nadia update-content <id> --script @script.md --planned-at 2026-10-05
nadia update-content <id> --hook null # null clears a field
nadia delete-content <id>

idea takes every flag of create-content: --stage, --script, --notes, --integration-ids, --parent-id (the card it is repurposed from)…

upsert-content creates the card the first time and updates it on every re-run, keyed by your own id (--external-id, a file path for instance): an import never duplicates, and an existing card stays in its column.

Terminal window
nadia upsert-content --external-id scripts/day53.md --title "Day 53" \
--script @scripts/day53.md --hook-text "53 days without editing" --tags claude
Terminal window
nadia link <card-id> <post-group>

A card holds several posts (a TikTok draft, then an Instagram post): link each one. The card moves to PUBLISHED by itself when the first goes live, and its numbers show up in nadia get-contents-performance. The post’s group is in nadia posts.

See Content board in the API reference.

Terminal window
nadia inbox "$IG" # DM conversations
nadia get-conversation "$IG" <conversation-id> # the messages of one
nadia dm "$IG" <recipient-id> "Here is the guide" --link https://example.com/guide
nadia list-media-comments "$IG" <media-id> # comments under a post
nadia reply <comment-id> "Sent you the link!" --channel "$IG"

See Inbox.

An automation is a template drawn in the app (Automations); what runs is a pose of it on one publication, with that publication’s trigger words and values. From the CLI you pose a template, follow its poses and read the people:

Terminal window
# The templates, and the posts and live stories you can pose one on
nadia list-automation-flows
nadia list-channel-media "$IG"
nadia list-channel-stories "$IG"
# Pose a template on a live story (a story reply needs no trigger word)
nadia pose-automation-flow <template-id> \
--integration-id "$IG" --media-id <story-id> --kind story \
--variables '{"ressource":"the Malta guide","bouton":"The guide","lien":"https://example.com/guide"}'
# What runs on the channel, and who went through
nadia list-channel-automation-poses --integration-id "$IG"
nadia list-automation-pose-runs <pose-id>
nadia list-automation-pose-runs <pose-id> --status FAILED

Each run carries the person’s username, keyword and email: the same rows as Export CSV in the app. nadia --help lists the rest: reading a publication’s comments again (poll-automation-pose), replaying named comments (replay-automation-pose), pausing or changing a pose, previewing and test-sending a Brevo step’s email (preview-automation-email, send-automation-test-email).

For a post you schedule, the template goes in the post’s Instagram settings (automationFlowId, automationKeywords, automationVariables) and is posed the moment it goes live.

See Automations and Inbox.