Metricool

Schedule and manage social media posts via Metricool API. Use when posting to multiple platforms (LinkedIn, X, Bluesky, Threads, Instagram), checking scheduled posts, or analyzing …

willscott-v2

@willscott-v2

What This Skill Does

Schedules and manages social media posts across LinkedIn, X, Bluesky, Threads, and Instagram through the Metricool API. Supports per-platform text customization, image attachments, and scheduling with timezone handling.

Replaces manually posting to each social platform by letting you schedule cross-platform posts from a single command.

When to Use It

  • Schedule a LinkedIn post with platform-specific text and an image
  • List all scheduled posts for the upcoming week across connected brands
  • Find the best posting time for X based on historical engagement data
  • Post the same content to Bluesky and Threads with platform-optimized text
  • Schedule an Instagram post with hashtags and a square image

Install

$ openclaw skills install @willscott-v2/metricool

Metricool Integration

Schedule posts to multiple social platforms through Metricool's API.

Setup

Get your Metricool API token from the Metricool dashboard.

Add environment variables in ~/.moltbot/moltbot.json:

{
  "env": {
    "vars": {
      "METRICOOL_USER_TOKEN": "your-api-token",
      "METRICOOL_USER_ID": "your@email.com"
    }
  }
}

Or in your workspace .env:

METRICOOL_USER_TOKEN=your-api-token
METRICOOL_USER_ID=your@email.com

Scripts

Get Brands

List connected brands and their blog IDs:

node skills/metricool/scripts/get-brands.js
node skills/metricool/scripts/get-brands.js --json

Schedule a Post

node skills/metricool/scripts/schedule-post.js '{
  "platforms": ["linkedin", "x", "bluesky", "threads", "instagram"],
  "text": "Your post text here",
  "datetime": "2026-01-30T09:00:00",
  "timezone": "America/New_York",
  "blogId": "YOUR_BLOG_ID"
}'

Parameters:

  • platforms: Array — linkedin, x, bluesky, threads, instagram, facebook
  • text: String or object with per-platform text (see below)
  • datetime: ISO datetime for scheduling
  • timezone: Timezone (default: America/Chicago)
  • imageUrl: Optional publicly accessible image URL
  • blogId: Brand ID from get-brands.js

Per-platform text:

{
  "text": {
    "linkedin": "Full LinkedIn post with more detail...",
    "x": "Short X post under 280 chars",
    "bluesky": "Bluesky version under 300 chars",
    "threads": "Threads version under 500 chars",
    "instagram": "Instagram with #hashtags"
  }
}

List Scheduled Posts

node skills/metricool/scripts/list-scheduled.js
node skills/metricool/scripts/list-scheduled.js --start 2026-01-30 --end 2026-02-05

Get Best Time to Post

node skills/metricool/scripts/best-time.js linkedin
node skills/metricool/scripts/best-time.js x

Character Limits

PlatformLimit
LinkedIn3,000
X/Twitter280
Bluesky300
Threads500
Instagram2,200

Image Requirements

  • Must be publicly accessible URL (S3, GCS, etc.)
  • Recommended formats: PNG, JPG
  • Square images work best for Instagram/Threads
  • Wide images (1.91:1) work best for X/LinkedIn

Top skills in this category