Free · MIT · Open source

Social Autopilot

An open-source social media agent. Give it a topic, a link or an announcement: it researches when facts are needed, writes a post that fits each of your channels, checks your calendar, and schedules it through Creative Tim Social Studio.

Get a CompanyFabric keyGitHub repo coming soon

Features

What it does

A post per channel

It writes a post that fits each channel's rules, and researches first when facts are needed.

Nothing goes out without you

Every schedule and cancel is an approval card with the exact text, channels and time. There is no publish-now tool.

Scheduling through Social Studio

Posts are scheduled through Creative Tim Social Studio. In copilot mode a scheduled post is a draft you approve again on your Content Calendar.

Your key stays in the app

Give the Social Studio key the narrowest scope that works. It never reaches the Hermes container.

Audit before every call

Every tool call goes through one tool layer that applies the agent's policy and writes an audit row first.

One key, every model

Use with your CompanyFabric key

  1. 1

    Create an account and make a key on the keys page. New accounts get starter credit.

  2. 2

    Put it in the template's .env. companyfabric/auto picks a suitable model per request, and the exact charge of each turn comes back with the answer.

  3. 3

    Run it: pnpm dev for lite (Vercel works), or docker compose up for Hermes. With no key it runs a clearly labelled demo.

OPENAI_BASE_URL=https://api.companyfabric.com/v1
OPENAI_API_KEY=sk-cf-…
MODEL=companyfabric/auto

OpenAI directly, or a local server such as Ollama, LM Studio or vLLM, works too: any OpenAI-compatible endpoint with tool calling.

Runtimes

Lite or Hermes

Lite runs the agent loop in the Next.js server. Hermes runs each turn in a Hermes Agent container (v0.22.5, pinned by digest), which calls the app's tools back over MCP, so policies, approvals and the audit log are the same.

CapabilityLiteHermes
Posts written for each channel's rulesYesYes
Scheduling through Social Studio, after approvalCopilot mode adds a second approval on the Content CalendarYesYes
Research with citations before writingYesYes
Audit row before every tool callYesYes
Memory of brand voice across threadsHermes memory toolsetNoYes
Recurring content plan (cron)Hermes cron works; this UI does not manage schedules yetNoNot in the UI yet
Runs on serverless hosting (Vercel)Hermes needs a long-running containerYesNo

What is proven

Status

Early. Checked in CI on every change: Install, typecheck, unit tests and production build; Hermes starts with the app's tools loaded (no model is called in CI); Contract tests: approval before scheduling, the sample studio, the Social Studio client and its error handling.

  • implemented-untestedScheduling against live Social Studio
  • implemented-untestedSearch through Parallel or Exa
  • implemented-untestedA Hermes turn with a real model
  • not yetAgents schedule text to X and Bluesky only; other channels show how to post to them
  • not yetManaging a recurring content plan from the UI

Configuration

Environment

VariableDefaultWhat it is
SOCIAL_API_KEYnoneSocial Studio key with the social:draft scope. Add social:publish only if your account runs in autopilot.
SOCIAL_API_URLhttps://www.creative-tim.com/ui/api/social/toolsSocial Studio's tool endpoint.
DEMO_DATAfalsetrue runs a live model on the built-in sample data.
APP_PASSWORDnoneSet it whenever the app is reachable from anywhere but your own machine. There is no login by default.
OPENAI_BASE_URLhttps://api.companyfabric.com/v1Any OpenAI-compatible chat.completions endpoint with tool calling.
OPENAI_API_KEYnoneThe model key. With none set, the app runs a labelled DEMO.
MODELcompanyfabric/autoThe model id. companyfabric/auto picks a suitable model per request.
SEARCH_PROVIDERparallelparallel (free, rate-limited, no key) or exa. companyfabric is not released yet.
PARALLEL_API_KEYnoneLifts Parallel's free-tier limits.
EXA_API_KEYnoneNeeded when SEARCH_PROVIDER=exa.
COMPANYFABRIC_SEARCH_ENABLEDfalseCompanyFabric search is not released yet; leave it off.
RUNTIMEnonelite or hermes. Empty: hermes when HERMES_URL is set, lite otherwise.
HERMES_URLnoneSet for you by docker-compose.yml.
HERMES_API_KEYnoneHermes only. Generate with: openssl rand -hex 32
TOOL_TOKENnoneHermes only: lets Hermes call the app's tools at /api/mcp. Generate with: openssl rand -hex 32
DATA_DIR./dataWhere the SQLite database lives.

MIT

License

Social Autopilot is MIT-licensed, © 2026 Creative Tim. Its UI is adapted from AI Elements (Apache-2.0) and shadcn/ui (MIT).

Not affiliated with X, Bluesky or any other social network.

All templates →