Guide

How to use Quillo

Everything you need to connect your tools, draft faster, and publish to Substack.

Prefer to read? The written steps below cover the same flow.

Getting started

Quillo is a Substack publishing studio. The typical first-run looks like this:

  1. 1Create your account and start the 3-day free trial.
  2. 2Connect your Substack publication and keep your session fresh.
  3. 3Add your own AI provider key (or write manually).
  4. 4Draft in the AI Composer, review in Drafts, then push to Substack.

Embed a subscribe form on your site

Build a Substack subscribe form in the Studio, style it with a live preview, then paste the snippet on any web page — or use the WordPress shortcode if you have the Quillo plugin installed.

The short version: Studio → Embeds → New embed → Form → pick a template → set your publication URL → style it → choose how it appears → copy the snippet or shortcode. Everything you change updates in the live preview on the right.

Step 1 — Create the embed and pick a template

Open Studio → Embeds, create a new embed and choose Form. Start from one of the presets (Minimal Light, Bold Dark, Editorial Serif, Brutalist Pop, Aurora Glass, Noir & Gold, and more). A template just fills in colors, fonts and radius — you can change every value afterwards.

Quillo Edit embed screen showing the template gallery on the left and the live preview on the right
Templates on the left, live preview on the right — it updates as you edit.

Step 2 — Basics

  • Name — internal label so you can find this embed later.
  • Substack publication URL — where subscribers are sent, e.g. https://yourname.substack.com.
  • Layout — Inline, Card or Minimal.
  • Active — turn this on to serve the form. An inactive embed stops rendering on your site.
Basics panel with name, Substack publication URL, layout select and active toggle
Basics — name, publication URL, layout and the active switch.

Step 3 — Copy (the words people read)

Set the heading, description, button label, email placeholder and the success message shown after someone subscribes. Pick the text alignment (left, center, right) with the three alignment buttons.

Copy panel with heading, description, button label, placeholder, success message and text alignment
Every string in the form is editable — including the success message.

Step 4 — Typography, surface and button colors

  • Typography — choose the font family (system, sans, serif options such as Cormorant Garamond).
  • Surface — background, text, border and accent (focus ring) colors, plus corner radius. Use Per-corner if you want different radii on each corner.
  • Button — button background, button text and hover background.
  • Each color field has Presets and, where it makes sense, Gradient helpers — so a background or button can be a CSS gradient, not just a flat hex.
Typography, Surface and Button panels with color fields, gradient and preset helpers, and a radius slider
Colors, gradients and radius — the preview reflects each change instantly.

Step 5 — How the form appears

Under Display, choose one of four behaviours:

  • Inline — sits in the page where you paste it.
  • Inline after a delay — appears in place after a few seconds.
  • Popup modal — timed — opens after your chosen delay.
  • Popup modal — on exit intent — opens when the visitor moves to leave the page.

Pick a popup design template (Centered Card, Slide-in Corner, Bottom Banner, Exit Rescue, Editorial Morning, Studio Split, and more). Each template is a starting point; the options you get next depend on what you selected.

Display panel with the appearance select and a grid of popup design templates
Display mode plus popup design templates, tagged minimal / image / exit / banner.

For popups you can then fine-tune: exit-intent sensitivity, how often it shows again, position (center, bottom-right slide-in, bottom banner), backdrop color and opacity, close on backdrop click, close on Esc, what happens after a visitor dismisses it, and an optional image or logo with alt text, position and size.

Popup settings including sensitivity, frequency, position, backdrop, close behaviour and image options
Toggle “Popup chrome” in the preview to see the overlay exactly as visitors will.
The installed snippet handles the trigger, frequency cap, Esc / click-outside close and scroll lock for you — there is nothing extra to script on your site.

Step 6 — Lead magnet: deliver a file or link

Turn on Show a download / reward after success to build a lead-gen form: the visitor gives their email, gets subscribed to your Substack, and then sees your reward. Set the reward title, an optional description, the button label and the file or link URL.

Host the file wherever you like (Google Drive, Dropbox, your own site) — Quillo shows the link after a successful subscribe.

After subscribe panel with reward toggle, title, description, button label and file URL
After-subscribe reward — the lead magnet step.

Step 7 — Spam protection

  • A honeypot field is always included and invisible to humans — nothing to configure.
  • Email validation is on by default; you can reword the invalid-email message.
  • Optional: paste a Cloudflare Turnstile site key for stronger bot protection. The site key is public and safe to embed. Leave it empty to disable.
Spam protection panel with a Cloudflare Turnstile site key field and invalid email message
Turnstile is optional; the honeypot and email check are always on.

Step 8 — Install it on your site

Scroll to Install snippet and press Copy. It is self-contained HTML — no external scripts — so you can paste it into any page, template or block editor. You can also grab it any time from the embeds list with the Get code button.

Any website

Paste the snippet into an HTML block, custom code area or your theme template. It works in WordPress too — a Custom HTML block accepts the same snippet.

WordPress with the Quillo plugin

Install the plugin (see WordPress plugin) and use the shortcode instead: [quillo_subscribe id="…"]. Copy it from Get code or the editor’s code panel.

Want to show your latest Substack posts instead of a form? See Embed a newsfeed below.

Embed a newsfeed of your Substack posts

A newsfeed embed shows your latest Substack posts on your own site — styled to match your brand, with a live preview while you build it.

The short version: Studio → Embeds → New embed → Newsfeed → name + publication URL → Style → Posts → Layout → Behavior → Embed code. Same flow as the form, only the panels differ.

Step 1 — Name, publication URL and Style

  • Embed name — internal label so you can find it later.
  • Publication URL — e.g. https://yourname.substack.com. Posts are fetched from here.
  • Theme template — Light, Dark, Paper, Midnight, Sepia, Mint, Indigo, Rose, Brutalist, Glass, Magazine, or Custom for your own colors, radius and font.
  • Card style — Bordered, Shadow, Ghost or Flat.
  • Alignment — left, center or right text.
  • Fields to show — image, subtitle, author, premium badge, date, reactions and comments. An orange-marked toggle means that field is visible; the preview updates instantly, so you never have to guess.
  • Use the desktop / mobile buttons above the preview to check both widths, and the Active switch + Save at the top right when you are done.
Newsfeed editor showing embed name, publication URL, theme templates and card style with a live preview
Style panel — theme templates, card style and alignment with a live preview.

Step 2 — Posts: fetch, choose and reorder

Open the Posts panel and pull posts in one of two ways:

  • Connected — fetch from the Substack publication you connected in Quillo.
  • From URL — fetch from the publication URL you typed above, no connection needed.

Tick posts in Available to add them, press Remove to take one out, and use the arrows in Selected to reorder — the first post becomes the hero in layouts that have one. Up to 25 posts can be selected.

Posts panel with Connected and From URL buttons, selected posts with reorder arrows and available posts list
Fetch, select, remove and reorder — order in the list is order in the feed.
Posts are saved as a snapshot, so the embed loads fast and never hammers Substack. Press fetch again whenever you publish something new to refresh the feed.

Step 3 — Layout (5 styles)

  • Cards — image + text, one per row.
  • Compact — a tight title list.
  • Grid — 2-up, uniform tiles.
  • Magazine — big hero post plus a grid.
  • Masonry — Pinterest-style staggered columns.

Click through them and keep whichever reads best in the preview.

Layout panel with Cards, Compact, Grid, Magazine and Masonry options and the magazine preview
Five layouts, previewed live — Magazine shown here.

Step 4 — Behavior

  • Open links in new tab — keep visitors on your page.
  • Show header — add a heading above the feed, e.g. “Latest posts from Brian Jackson”.
  • Show footer button — a call-to-action such as “View all posts” pointing at your Substack URL.
Behavior panel with new tab toggle, header title and footer button label and URL
Header text and a “View all posts” button are both optional.

Step 5 — Embed code

Open Embed code and pick whichever fits your site — you only need one.

Any website (HTML)

Press Copy snippet and paste it once on the page. Posts render inline, inherit your fonts, and are served from our edge cache — fast at any scale.

WordPress with the Quillo plugin

Use [quillo_newsfeed id="…"] instead of the snippet. Copy it with Copy shortcode, or from the Get code button in the embeds list.
Embed code panel with the HTML snippet, Copy snippet button and the WordPress shortcode
HTML snippet or WordPress shortcode — both stay in sync with your settings.

Change anything later and press Save — the live embed updates. No need to re-paste the snippet.

Connect your Substack publication

Quillo needs your publication URL and a valid Substack session to publish drafts.

1. Add your publication URL

Go to Settings → Substack and paste your Substack URL (for example https://yourname.substack.com). This tells Quillo where drafts should land.

2. Add your substack.sid cookie

Paste the substack.sid cookie value from your browser into the substack.sid cookie field in Settings. See the step-by-step instructions below.

Important: rate limits

Substack may return 429: Too Many Requests if you publish drafts too quickly. Wait about 60 seconds between posts. Keep in mind this is not official Substack automation, so it has these natural limitations.

Chrome extension

The extension keeps your Substack session fresh and lets you save any web page to your Quillo Library with one click.

Install

Unzip the file, open chrome://extensions, enable Developer mode, then click Load unpacked and select the unzipped folder.

Connect

In Settings → Browser extension, generate a token, copy it, open the extension popup, paste it, and click Save.
  • Auto-refreshes your Substack session so publishing does not fail mid-draft.
  • One-click save of any article or page to your Library for later newsletter use.

AI keys — bring your own key

Quillo does not bill you for AI usage. You add your own provider key and we call the provider directly. Keys are encrypted server-side.

Go to Settings → AI keys, choose a provider, paste the key, then pick a model in the Composer.

WordPress plugin

The plugin pulls your WordPress posts into Quillo. You then edit and publish them from Quillo — there is no direct posting from WordPress to Substack.

How the flow works

WordPress post → pulled into Quillo (Library / Drafts) → you review and edit in Quillo → you publish to Substack from Quillo. All publishing happens on the Quillo site.

Step 1 — Install the plugin

  1. Download quillo-wp.zip.
  2. In your WordPress admin, go to Plugins → Add New → Upload Plugin.
  3. Choose the zip, click Install Now, then Activate.

Step 2 — Connect (recommended: one-click)

WordPress admin Settings → Quillo page showing the Connect to Quillo button and embed shortcodes
WordPress admin → Settings → Quillo.
  1. In WordPress admin, open Settings → Quillo.
  2. Click Connect to Quillo. WordPress creates an application password for Quillo automatically.
  3. WordPress asks you to authorise the connection — approve it.
  4. You are redirected back to Quillo, where you click Allow to finish linking the site.
  5. Your site now appears in WordPress → Your posts.

If you land on “Site connected — one last step”

Some hosts strip the return address WordPress sends us, so we can't hand the token back automatically. Your site is already connected — do not start over. Click Copy & open WordPress settings, then in Settings → Quillo → Have a token already? paste the token and click Connect. The plugin card then turns green with your plan and last sync.

Requires WordPress 5.6+ with Application Passwords enabled (default) and HTTPS.

Step 2 (alternative) — Connect manually

Use this if the one-click flow is blocked by your host or security plugin.

  1. In Quillo, open Settings → Browser extension and generate a token, then copy it.
  2. In WordPress, go to Settings → Quillo, click Have a token already?, paste the token and click Connect.
  3. In WordPress, go to Users → Profile of a user with the Administrator role, scroll to Application Passwords, create one named “Quillo”, and copy the generated password.
  4. Back in Quillo, open Settings → WordPress sites and fill in the Site URL, an optional label, the WordPress username and that Application Password, then click Connect site.
Quillo Settings WordPress sites form with Site URL, label, WordPress username and Application Password fields
The WordPress sites form in Quillo Settings. The password is stored server-side and never shown again.

Step 3 — Pull posts into Quillo

Quillo WordPress Your posts screen listing WordPress posts with Import as draft and View actions
Quillo → WordPress → Your posts.
  1. Open WordPress → Your posts and pick your site in the left column.
  2. Search if you have many posts.
  3. Click Import as draft to pull a post into Quillo — one by one, or as many as you like.
  4. Use View to open the original post on your site first if you want to check it.

Step 4 — Edit and publish from Quillo

  1. Imported posts land in Drafts. Edit them there, or refine with the AI Composer.
  2. Publish to Substack from Quillo when the draft is ready.
  3. Wait about 60 seconds between posts to avoid Substack’s 429: Too Many Requests limit.

Note: WordPress never posts to Substack directly. It only sends content into Quillo, and Quillo handles all Substack publishing.

Step 5 — Auto-send new posts (optional)

Plugin 0.4.1 can push each newly published post into your Quillo Library automatically, so you never click Send to Quillo again.

  1. In WordPress, open Settings → Quillo and tick Automatically send newly published posts to Quillo.
  2. Optionally list extra post types (comma separated). The default is post.
  3. Publish something. It appears in your Library within a few seconds, and the last five sends are listed on the settings page.

Only newly published, public posts are sent. Old posts are not backfilled, edits are not re-sent, and a failed send never affects your published post.

Shortcodes — embed your forms and newsfeed

With the plugin active you can drop a Quillo embed anywhere on your site:

  • [quillo_subscribe id="EMBED_ID"] — subscribe form
  • [quillo_newsfeed id="EMBED_ID"] — newsfeed
  • Optional attributes: height (px) and class.

Use the bare embed ID, not the element id

The ID looks like a0f598e3-0063-4def-84cf-0d0be61fb07e. Do not paste the quillo-newsfeed-… element id from the JavaScript snippet — the plugin now strips that prefix, but older versions rendered an empty frame.

Where to find it: every row in Embeds has a Copy shortcode button, the embed editors show a WordPress block with the ID and shortcode, and once connected the plugin's own Settings → Quillo page lists every embed with a click-to-copy shortcode.

Ready to publish?

Connect your tools in Settings, then open the Composer or your Drafts.

Open settings