Ghost
The robomotion ghost CLI connects to Ghost CMS for content and membership management. It handles creating/updating/deleting posts and pages, managing tags, administering members and tiers, configuring newsletters, and managing offers — covering both content publishing and subscription operations.
When to use
- Create, update, publish, or delete blog posts and pages
- Manage tags, members, tiers, and subscription offers
- Configure and manage Ghost newsletters
- List and search content, members, and site resources
Prerequisites
robomotionCLI installed- Package installed:
robomotion install ghost - Ghost Admin API key configured via Robomotion vault
IMPORTANT: Session Mode Required for Multi-Step Operations
Each CLI command runs as a separate process — connection IDs from connect do NOT persist across calls.
You MUST use --session on connect and pass --session-id to all subsequent commands.
Workflow
- Install (once):
robomotion install ghost - Connect with session:
robomotion ghost ghost_connect --session --output json # → {"outClientId":"<client-id>","session_id":"<session-id>"} - Use the returned
client-idandsession-idin all subsequent commands:robomotion ghost ghost_create_post --client-id "<client-id>" --title <title> --html <body> --status draft --session-id "<session-id>" --output json - Disconnect when done:
robomotion ghost ghost_disconnect --client-id "<client-id>" --session-id "<session-id>" --output json
Always append --output json to get structured JSON results.
Commands Reference
robomotion ghost ghost_connect --session --output jsonConnects to Ghost Admin API and returns a client IDrobomotion ghost ghost_disconnect --client-id --session-id "<session-id>" --output jsonCloses the Ghost connection and releases resourcesrobomotion ghost ghost_create_post --client-id --title --html-content [--status] [--featured] [--slug] [--custom-excerpt] [--tags] --session-id "<session-id>" --output jsonCreates a new post in Ghost CMSrobomotion ghost ghost_get_post --client-id --post-id [--include] [--content-format] --session-id "<session-id>" --output jsonGets a post by ID from Ghost CMSrobomotion ghost ghost_list_posts --client-id [--filter] [--15] [--1] [--order] [--include] [--content-format] [--status] --session-id "<session-id>" --output jsonLists posts from Ghost CMS with optional filtering and paginationrobomotion ghost ghost_update_post --client-id --post-id --title --html-content [--status] [--featured] [--slug] [--custom-excerpt] [--tags] --session-id "<session-id>" --output jsonUpdates an existing post in Ghost CMSrobomotion ghost ghost_delete_post --client-id --post-id --session-id "<session-id>" --output jsonDeletes a post from Ghost CMSrobomotion ghost ghost_create_page --client-id --title --html-content [--status] [--featured] [--slug] [--custom-excerpt] [--tags] --session-id "<session-id>" --output jsonCreates a new page in Ghost CMSrobomotion ghost ghost_get_page --client-id --page-id [--include] [--content-format] --session-id "<session-id>" --output jsonGets a page by ID from Ghost CMSrobomotion ghost ghost_list_pages --client-id [--filter] [--15] [--1] [--order] [--include] [--content-format] [--status] --session-id "<session-id>" --output jsonLists pages from Ghost CMS with optional filtering and paginationrobomotion ghost ghost_update_page --client-id --page-id --title --html-content [--status] [--featured] [--slug] [--custom-excerpt] [--tags] --session-id "<session-id>" --output jsonUpdates an existing page in Ghost CMSrobomotion ghost ghost_delete_page --client-id --page-id --session-id "<session-id>" --output jsonDeletes a page from Ghost CMSrobomotion ghost ghost_create_member --client-id --email [--name] [--note] [--labels] --session-id "<session-id>" --output jsonCreates a new member in Ghost CMSrobomotion ghost ghost_get_member --client-id --member-id --session-id "<session-id>" --output jsonGets a member by ID from Ghost CMSrobomotion ghost ghost_list_members --client-id [--filter] [--15] [--1] [--order] [--search] --session-id "<session-id>" --output jsonLists members from Ghost CMS with optional filtering and paginationrobomotion ghost ghost_update_member --client-id --member-id [--name] [--note] [--labels] --session-id "<session-id>" --output jsonUpdates an existing member in Ghost CMSrobomotion ghost ghost_delete_member --client-id --member-id --session-id "<session-id>" --output jsonDeletes a member from Ghost CMSrobomotion ghost ghost_create_tag --client-id --name [--slug] [--description] [--accent-color] --session-id "<session-id>" --output jsonCreates a new tag in Ghost CMSrobomotion ghost ghost_list_tags --client-id [--filter] [--15] [--1] [--order] [--include] --session-id "<session-id>" --output jsonLists tags from Ghost CMS with optional filtering and paginationrobomotion ghost ghost_delete_tag --client-id --tag-id --session-id "<session-id>" --output jsonDeletes a tag from Ghost CMS
Environment
- ROBOMOTION_API_TOKEN (if vault credentials are needed)