staqlydocs

Integrations overview

Publish from n8n and your own services through staqly, receive its signed webhooks, and pick between the SDKs, MCP and plain REST.

Edit on GitHub

Staqly sits between the tools that produce content and the channels it goes to. Whatever produces your posts (an agent, an n8n workflow, a script, a cron job), the integration is the same loop:

  1. Write. Your tool creates a post (POST /v1/posts, an SDK, MCP create_post) with the channels it should go to, and a time or none.
  2. Publish. At the time, or when a collection's schedule picks the post, a job publishes every channel. A channel on your own automation hands the post back to you instead and waits for your result.
  3. React. post.published, post.failed and the other events reach your services as signed webhooks, and you as alerts.

Pick your integration

Coding agents (Claude Code, Codex, Cursor, Windsurf, OpenCode) connect over MCP with no code: see Connect agents.

Three ways to connect

WayBest forEndpoint
SDK (Python or TypeScript)Your own code writes posts and publishes through your own automationhttp://localhost:3333/v1/...
MCP (Streamable HTTP)Letting the model call create_post, schedule_post and list_requested_work itselfhttp://localhost:3333/mcp
REST + webhooksNo-code tools (n8n) and other languageshttp://localhost:3333/v1/...

Community Edition vs Staqly Cloud

The same integrations work against Staqly Community Edition on your own computer and against Staqly Cloud, the hosted service. Only the base URL and the key change.

AspectCommunity EditionStaqly Cloud
StatusSelf-hosted, ready to useHosted by us at app.staqly.ai
Base URLhttp://localhost:3333https://app.staqly.ai
Setupcurl -fsSL https://raw.githubusercontent.com/staqly/staqly/main/scripts/install.sh | sh then staqly serve, or DockerSign up (Google, an email code or a passkey); create a scoped key (stk_...) for each tool under Integrations → API keys
CredentialsAuthorization: Bearer with the access token staqly prints at start (staqly serve token), full accessAuthorization: Bearer API key with scopes
API surfaceFull REST API, MCP at /mcp, webhooksSame REST API, MCP at /mcp, webhooks
QuotaNoneUnlimited posts; channels and keys by plan, from 5 channels on Starter, priced per user (plans)
OAuth platformsYour own developer app per platformOurs, ready to connect
Reachable from SaaS toolsNo, the API listens on 127.0.0.1 onlyYes
SupportGitHub issuessupport@staqly.ai; GitHub issues for the software

Both SDKs read the base URL from STAQLY_API_URL and the key from STAQLY_API_KEY, or take them in the constructor:

import os

from staqly import Staqly

local = Staqly()  # http://localhost:3333, the access token from STAQLY_API_KEY
cloud = Staqly(base_url="https://app.staqly.ai", api_key=os.environ["STAQLY_API_KEY"])

Give writers a key that cannot publish

In cloud mode, give a tool that only drafts a key with posts:write posts:read collections:read and no posts:publish. It fills collections; your schedules, a person or a publisher key send the posts out.

On this page