Ballad
Docs

Set Ballad up, then put it to work.

These guides cover setting up Ballad, which turns what you ship into marketing in your voice, and wiring it to your repo, your site, your analytics and Claude. Start with your first hour, then read the guide for whichever kind of marketing you want Ballad to run.

Start here·~10 min

Getting started with Ballad

From signing in to your first approved piece: the three questions Ballad asks, the setup walkthroughs waiting in your Inbox, and what happens every morning after that.

Read the guide
  1. 01Sign in and point Ballad at your site
  2. 02Check the positioning it drafts
  3. 03Choose what Ballad should do
  4. 04Work the setup walkthroughs
  5. 05Approve your first piece
What Ballad can run

Pick the work you want taken off your desk.

These are the four kinds of marketing Ballad runs, and the four you choose from when you sign up. Each guide covers the setup walkthrough, the settings behind it, and what arrives in your Inbox afterwards.

Features

Every surface, and what it's for.

Ballad is six tabs and a settings area. One page each: what lands there, what you do with it, and where it hands off to the rest, plus the parts that earn a page of their own.

InboxThe one screen you need daily: how last week went, the drafts waiting on a yes, and the decisions Ballad wants from you, one at a time.ContentThe calendar, your website, your voices and your collections: every piece Ballad has drafted or published, and everything about where it goes.Sitemap and site auditBallad maps your whole site daily and reads it against your positioning and what Google needs: ten checks, each finding carrying the fix: write it, refresh it, copy it for your agent, or close it.CampaignsEvery push toward a goal: launch weeks from a release, an article or your own brief, and the always-on sequences a new subscriber gets, approved once, measured as one.PeopleEveryone who arrived through your content: what brought them, what they did in your product, the account they belong to, and where they stand on email.SignalsTraffic, social numbers, search rankings, AI answers and what people say, on one live board, with a question box over the top.StrategyBallad's read on your business: what it knows and works from, what it's doing about it, and what happened. Called Loop until September 2026.SettingsYou, the workspace and its roles, what Ballad writes with, and where it connects: the fourteen pages behind everything else, from My Account to Email.My AgentsSettings › My Agents: connect Claude or your own tooling, see every tool an agent can call, and read back every call it made.VoiceHow Ballad learns to sound like you: your terms, distinctions and samples, the checks every draft is held to, and the edits that teach it.Landing pagesPermanent answers to the questions buyers keep asking (for a segment, a use case, a comparison, an integration), plus pages for ads and launches, rewritten as a diff when your positioning moves.Customer interviews and case studiesBallad suggests who to ask, gives you a link to send, and collects answers with consent on each one, then turns them into a case study and a proof point on the right battlecard.Image posts & carouselsBallad writes the words on the slide and the caption; the image is composited from a text-free background Ballad generates for each post (or one you supply), in your colours, font and logo, so the text is exactly what you approved.
Wiring it up

Connect Ballad to your stack.

Rendering articles on your own domain, measuring what they do, and letting Claude work inside the loop. The first two are the setup this site runs on.

# every published item, one call GET /api/content/collections/blog Authorization: Bearer blc_… { "items": [ { "slug", "shape", "url" } ], "nextCursor": null }
Reference·~10 min

The Ballad API

Every endpoint: the read-only content API, the revalidate and capability endpoint your site answers, the release and commit webhooks, and the agent API for everything that writes.

  • Which API you want
  • Authentication
  • The content API
  • Webhooks and writes
Read the guide
// app/blog/[slug]/page.tsx const post = await ballad.getItem(slug) return <Blocks blocks={post.blocks} /> // on publish revalidateTag("ballad")
Integration·~15 min

Set up your Next.js blog

Connect a Next.js App Router site to the content API: index and post routes, block rendering, SEO metadata, and automatic refresh when Ballad publishes.

  • The package, in five re-exports
  • Mint a content API key
  • Or build it yourself
  • Revalidate on publish
Read the guide
Claude wants to work in Ballad OAuth
read
draft
propose
decide
publish
Agents·~5 min

Connect Claude to Ballad

Add Ballad to Claude as a custom connector: sign in with Ballad, pick scopes on the consent screen, and ask Claude for drafts, plan changes, or a status check. Every draft is still reviewed by you.

  • Copy the connector URL
  • Add a custom connector in Claude
  • Sign in and choose scopes
  • Keys for other agents
  • What you can ask for
Read the guide
Where signups came from First touch
AI answer engines
LinkedIn
Search
Direct
Measurement·~10 min

Measure what your content does

Install the beacon: a 1.5 KB first-party script that records landings, referrers and conversions on your own domain, with no cookies and no visitor ids.

  • Install the beacon
  • Fire a conversion
  • Keep your canonical tags
  • What Ballad stores
Read the guide
Search Consolelast 28 days
postgres job queue#4↑3
replay failed jobs#2↑1
cron alternatives#11↓2
Measurement·~5 min

Connect Google Search Console

One Google connection: what you rank for and when an article starts slipping, plus Analytics traffic per page if you use it. Read-only, both of them.

  • Verify your property
  • Connect
  • What Ballad does with it
  • Beacon, Analytics, or both
Read the guide
@mayareyesposted
Thread · 4 posts · published on its slot
12.4k impressions31 replies
read back every 6 hours
Publishing·~5 min

Connect X

Approved posts, threads and image posts publish themselves, and impressions, replies and reposts come back every six hours without you typing them.

  • Connect the account to a voice
  • What publishes automatically
  • What comes back
  • Reconnecting
Read the guide
Maya Reyesconnected
access ends in41 days
link posted as the first comment
Publishing·~5 min

Connect LinkedIn

Publish from your profile instead of pasting, with the link as the first comment, and the 60-day reconnect LinkedIn requires, explained up front.

  • Connect the account to a voice
  • What publishes automatically
  • Numbers
  • Reconnecting every 60 days
Read the guide
BBallad#marketing · 7:02
A draft is ready: LinkedIn, founder voice
ApproveEditReject
Slack·~5 min

Connect Slack

Each person's Inbox as direct messages from Ballad, workspace news in a shared channel, and Ask Ballad, with quiet hours so nothing arrives while you're asleep.

  • Connect it
  • Check it works
  • What arrives
  • Ask Ballad from Slack
Read the guide
Email tool · Resendconnected
frommaya@news.driftwood.dev
domainverified
612 recipients with consentread-back on
Sending·~10 min

Connect Resend for sending

Send newsletter issues and lifecycle email from your own domain, and let bounces, complaints, unsubscribes, opens and clicks come back into Ballad on their own.

  • Verify a sending domain
  • Make an API key
  • Add it as an email account
  • Pick it for each voice
  • What comes back
Read the guide
Web
4,812
Conversions
63
Measurement·~10 min

Connect Ballad to Vercel Analytics

Close the measurement loop: enable Web Analytics, emit the signup and demo_request events, and connect it so traffic and conversions feed Signals.

  • Turn on Web Analytics
  • Emit conversion events
  • Keep post URLs matching your collection
  • Connect it in Ballad
Read the guide
The API at a glance

Two endpoints and a webhook.

Everything is authenticated with a bearer token you mint in Ballad under Settings. Responses are plain JSON with typed content blocks, so any stack can render them.

GET/api/content/collections/{slug}

A collection and a page of its published posts: slug, title, tier, date, excerpt, author, permalink, and hero image.

GET/api/content/items/{slug}

One post as ordered blocks (prose, hero image, pull quote, CTA, code) plus its SEO title, description, canonical, and JSON-LD.

POSTyour revalidate hook

Ballad calls your site when something publishes, so a cached index or post refreshes within seconds instead of on a timer.

GET/blog/rss.xml

Not an API endpoint, but worth having: the guide ships an RSS route and a sitemap entry for every published post.

Not on Next.js? The endpoints are plain HTTP and JSON. Render them however you like.

Read the full API reference