Install
openclaw skills install wahluSocial media automation for AI agents. Create posts, schedule content, upload media, manage queues, track publications, organise ideas, and publish across Instagram, TikTok, LinkedIn, Facebook, and YouTube. AI-powered social media manager with full API access.
openclaw skills install wahluWahlu lets your agent create, schedule, and publish social media posts across Instagram, TikTok, LinkedIn, Facebook, and YouTube — all from the command line.
# Set your API key (get one at wahlu.com under Settings > API Keys)
export WAHLU_API_KEY=wahlu_live_...
No global install needed — use npx @wahlu/cli to run any command.
npx @wahlu/cli brand listnpx @wahlu/cli brand switch <brand-id>npx @wahlu/cli integration list (get integration IDs for scheduling)npx @wahlu/cli post create --name "Title" --instagram '{"description":"Caption","post_type":"grid_post"}'npx @wahlu/cli schedule create <content-item-id> --at 2026-03-15T14:00:00Z --integrations <id>npx @wahlu/cli media upload ./photo.jpg (returns a media ID)npx @wahlu/cli publication listUse npx @wahlu/cli --help and npx @wahlu/cli <command> --help to discover all commands and options. Always use --json when you need to parse output.
| Capability | Commands |
|---|---|
| Post to 5 platforms | post create with --instagram, --tiktok, --facebook, --youtube, --linkedin |
| Schedule posts | schedule create with --at (ISO 8601) and --integrations |
| Upload images & video | media upload <file> — supports PNG, JPG, GIF, WebP, MP4, MOV, WebM |
| Manage posting queues | queue list, queue add <queue-id> <content-item-id> |
| Save content ideas | idea create "Name" --description "Details" |
| Organise with labels | label create "Campaign" --color "#ff5500" |
| View publish history | publication list — see status, platform, failure reasons |
| List connected accounts | integration list — find integration IDs for scheduling |
Each platform has its own settings passed as JSON:
--instagram '{"description":"...","post_type":"grid_post|reel|story","media_ids":["mid-123"]}'--tiktok '{"description":"...","post_type":"video|image|carousel","media_ids":["mid-123"]}'--facebook '{"description":"...","post_type":"fb_post|fb_story|fb_reel|fb_text","media_ids":["mid-123"]}'--youtube '{"title":"...","description":"...","post_type":"yt_short|yt_video","media_ids":["mid-123"]}'--linkedin '{"description":"...","post_type":"li_text|li_image|li_video","media_ids":["mid-123"]}'# Upload an image and create a cross-platform post
npx @wahlu/cli media upload ./photo.jpg
# → media ID: mid-abc123
npx @wahlu/cli post create --name "New product launch" \
--instagram '{"description":"Just launched!","post_type":"grid_post","media_ids":["mid-abc123"]}' \
--tiktok '{"description":"Just launched!","post_type":"image","media_ids":["mid-abc123"]}' \
--linkedin '{"description":"Just launched!","post_type":"li_image","media_ids":["mid-abc123"]}'
# Schedule for tomorrow at 9am
npx @wahlu/cli schedule create <content-item-id> \
--at 2026-03-15T09:00:00Z \
--integrations int-123 int-456 int-789
npx @wahlu/cli integration list to find integration IDs — never guess them--json flag when you need to parse command output programmatically