# ViewsMax setup brief: OpenClaw

Message your OpenClaw agent from Telegram, Discord or wherever it lives, and it can schedule posts, track offers, report sales and research outlier videos through the ViewsMax skill.

MCP endpoint: https://api.viewsmax.com/api/mcp. Full docs: https://viewsmax.com/ai.md. Human version of this page: https://viewsmax.com/openclaw.

## 1. Link the accounts you publish to

Sign up for ViewsMax, go to Dashboard → Connections, and link each channel. The platform logins happen inside ViewsMax, so your AI only ever holds a ViewsMax permission — and new channels you add later show up for it straight away.

## 2. Plug ViewsMax into OpenClaw

- **Generate an API key.** In ViewsMax, open Settings → AI Assistant Access and create a full-access key. It begins with vmx_ and is only displayed once.
- **Install the skill.** Download the ViewsMax skill and install it for every local agent.
  ```
  mkdir -p viewsmax && curl -o viewsmax/SKILL.md https://viewsmax.com/skills/viewsmax/SKILL.md
  openclaw skills install ./viewsmax --global
  ```
- **Hand the skill your key.** Put the key in ~/.openclaw/openclaw.json so the skill can call ViewsMax.
  ```
  {
    skills: {
      entries: {
        viewsmax: {
          enabled: true,
          env: { VIEWSMAX_API_KEY: "vmx_YOUR_KEY" },
        },
      },
    },
  }
  ```

## 3. Run a quick test

> Which of my social accounts can you reach through ViewsMax?

Got two accounts on the same platform? Name the one you mean ("my @brand Instagram") so your AI doesn't have to stop and ask.

## 4. Give it a real job

> Write a LinkedIn post announcing our spring sale (20% off until Friday) and keep it as a ViewsMax draft so I can look it over.

What happens next:

- Before it uses a ViewsMax tool that changes something, OpenClaw asks for your OK.
- ViewsMax stores the post as a draft, or queues it for the time you gave.
- At publish time ViewsMax sends it to each channel separately and keeps a result per platform, so one failure never blocks the rest.

## Channels

- YouTube: One video. You'll be asked whether it goes out public, unlisted or private.
- TikTok: A video or a photo set. You'll be asked to pick the privacy level.
- Instagram: One photo or one Reel, on an Instagram Business or Creator account.
- X: Text, with up to 4 images. No video yet.
- LinkedIn: Text, with one image. No video yet.
- Threads: Text, with one image or one video.
- Bluesky: Text, with up to 4 images. No video yet.

## Prompts to try

- **Queue a post:** Put this on my LinkedIn and Bluesky for Thursday at 8:30am my time: "Our free content calendar template is out — grab it from the link in my bio."
- **Cross-post a clip:** Take the video at https://example.com/reel.mp4 and make it an Instagram Reel and a TikTok draft. Give TikTok a shorter caption than Instagram.
- **Track a promotion:** I'm promoting my ebook at https://example.com/ebook. Set it up as an offer with sales as the goal, and make separate tracked links for YouTube and Instagram.
- **Find your best earner:** Rank my offers by revenue for the past 30 days and tell me which traffic source is actually converting.
- **Borrow what's working:** Pull YouTube outliers in personal finance from this month and explain the hook behind the top three. Save the best one to my library.
- **Tidy the queue:** What's going out this weekend? Push anything on X back by two hours.

## Fixes

- **The agent can't find a ViewsMax key.** Confirm VIEWSMAX_API_KEY is set under skills.entries.viewsmax.env in ~/.openclaw/openclaw.json, then restart the agent.
- **Media won't upload.** Uploading a file into the chat window isn't enough — ViewsMax downloads media from a link. Host the file at a public https address that serves the file itself, not a preview page. Accepted: JPEG, PNG, WebP, GIF, MP4, MOV.
- **A channel isn't listed.** Link it under Dashboard → Connections in ViewsMax (your AI can also hand you a connect link), then run the test prompt again.
- **One platform published, another didn't.** Each platform is published separately in the background and keeps its own status. Ask for the status of that post to see the exact error the platform sent back.
