Ballad
Channels

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.

~5 min7 sectionsLinkedIn · Kit, beehiiv, Substack…

A newsletter is the one channel you own outright. No feed ranking decides who sees it, and nobody can take the list away from you.

Ballad writes the issue. You send it — every time, on both channels.

What Ballad writes

Once a week, Ballad drafts an issue from what actually shipped: the posts you published, the articles that went live, each linked, plus one new take written for the issue rather than recycled from a post.

It arrives in your Inbox for review like anything else. Edit it, approve it, or decline it. Ballad has no send button, so nothing reaches a subscriber without you putting it there.

An issue gets its own weekly lane. A LinkedIn newsletter never eats a LinkedIn post slot — your feed cadence is untouched by turning it on.

LinkedIn newsletter

Turn on the LinkedIn newsletter format on a voice, under Settings → Voices → that voice → Formats. Ballad then drafts one issue a week into that lane.

Settings → Voices is people. The company's own voice has its own page, so wherever this guide says Settings → Voices → that voice, read Settings → Brand for the brand voice — same sections underneath.

On approval, the publish step gives you:

  • Copy title
  • Copy body — rich text, so formatting survives the paste
  • Copy HTML — if you'd rather work in source

and opens LinkedIn's article editor. Paste, then pick your newsletter under Publish in LinkedIn's own composer. LinkedIn notifies your subscribers; Ballad doesn't touch that.

Email newsletter

Enable the Email newsletter channel on a voice. Then in Settings → Voices → that voice → Accounts & look, choose the email tool you actually send from:

Kit · beehiiv · Substack · Mailchimp · Loops · other

You can also set an editor URL, so the publish step opens straight into your account, and a From name.

The publish step gives you Copy subject, Copy preheader, Copy body (rich text) and Copy HTML, then opens your editor. The rich-text copy pastes formatted into every one of those tools — that's the whole workflow: copy, paste, send from the tool you already use.

Attribution

Every link inside an issue carries a tracked ?ref= token. When someone follows one and signs up later, Signals ties that signup back to the issue.

The token isn't a nicety here, it's the only mechanism that works. Email clients strip the referrer, so a click out of an inbox arrives looking like direct traffic. Without the token an issue would appear to drive nothing at all. See Measure what your content does for how touches are stored.

What it never does

Being plain about the boundary:

  • No sending. Not to LinkedIn subscribers, not to an email list.
  • No lists. Ballad stores no subscribers and imports none.
  • No signup forms. Growing the list is your tool's job.
  • No deliverability. No domain auth, no warm-up, no spam handling — your email tool already does this, and does it better.

Ballad writes and measures. Your tool sends. Direct drafting into an ESP account may come later, as "create a draft in your account" — still never a send.

From an agent

Newsletters are in the agent API like any other format:

generate({ kind: "linkedin_newsletter", topic })
generate({ kind: "email", topic, destination })

create_draft({ format: "newsletter", channel, fields })

set_newsletter_tool({ personaId, tool, composeUrl, fromName })

generate returns a run; the draft lands in review exactly as the weekly one does. See Connect Claude to Ballad for scopes — drafting needs draft, changing the tool setting needs decide.

Checklist

  • LinkedIn newsletter format enabled on the voice, if you publish there
  • Email newsletter channel enabled, if you send email
  • Email tool chosen in Settings → Voices → the voice → Accounts & look
  • Editor URL set, so publish opens your account directly
  • First issue reviewed in the Inbox — nothing sends without you
Next guideConnect Ballad to Vercel Analytics