Get Ballad running on your stack.
Ballad writes and serves your content; your own site renders it. Analytics flow the other way, back into Signals, and Claude can work inside the loop as a connector. These guides cover the wiring; the first two are the setup this site runs on.
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
readdraftproposedecidepublishConnect 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 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
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 — no cookies, no visitor ids.
- Install the beacon
- Fire a conversion
- Keep your canonical tags
- What Ballad stores
Image posts & carousels
Ballad 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.
- What a visual post is
- Your brand look
- Reviewing and publishing
- What it costs
Newsletters
Ballad drafts a weekly issue from what shipped — for a LinkedIn newsletter or your email tool. You review it and send it yourself; Ballad never sends.
- What Ballad writes
- LinkedIn newsletter
- Email newsletter
- What it never does
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
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.
A collection and a page of its published posts: slug, title, tier, date, excerpt, author, permalink, and hero image.
One post as ordered blocks (prose, hero image, pull quote, CTA, code) plus its SEO title, description, canonical, and JSON-LD.
Ballad calls your site when something publishes, so a cached index or post refreshes within seconds instead of on a timer.
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.