← All migration guides

Migrate from Headway to Fizlog

Every public Headway changelog has an RSS feed with the full post content. Point the importer at it and your whole history moves to Fizlog in a minute, original dates included.

About 30 minutes · keeps your entries and their original dates · no credit card

Why teams switch from Headway

Full side-by-side: Fizlog vs Headway.

Step by step

1

Create your Fizlog project

Sign up (free for one project), create a project and open it. You need two values from the project page: the public key used in the embed snippet and the API key under "API access".

2

Get your changelog out of Headway

Headway publishes an RSS feed for every public changelog: add /rss to your changelog URL — e.g. https://headwayapp.co/your-changelog/rss, or https://changelog.yourdomain.com/rss on a custom domain. The feed includes the full HTML of each post and its category (New, Improvement, Fix), which the importer maps to Fizlog types.

php fizlog-import.php rss https://headwayapp.co/YOUR-CHANGELOG/rss

Headway doesn't offer RSS for private accounts. If your changelog is private, make it public for a moment to export, or copy posts by hand in the Fizlog dashboard (the Publish at field keeps original dates).

3

Preview, then import

Run the importer with --dry-run first to see every entry it found, then run it again without the flag. Entries keep their original dates and are imported silently, so no webhook or subscriber email fires for old posts.

The importer is a single PHP file with no dependencies — download fizlog-import.php or read it on the guides page.

export FIZLOG_API_KEY=your_project_api_key php fizlog-import.php rss https://headwayapp.co/YOUR-CHANGELOG/rss --dry-run php fizlog-import.php rss https://headwayapp.co/YOUR-CHANGELOG/rss
4

Swap the embed snippet

Replace the Headway widget code in your app with the Fizlog script tag. Without data-selector the widget shows as a small button in the corner; with it, the bell renders inside an element you choose.

BEFORE — Headway embed
<script> var HW_config = { selector: ".CHANGE_THIS", account: "ACCOUNT_ID" }; </script> <script async src="https://cdn.headwayapp.co/widget.js"></script>
AFTER — Fizlog
<script src="https://fizlog.com/widget/widget.js" data-project="YOUR_PUBLIC_KEY" data-selector="#whats-new" async></script>
5

Point old links at your new changelog

If you used a custom domain like changelog.yourdomain.com with Headway, point that path at Fizlog with a redirect on your side (your Fizlog public page is fizlog.com/p.php?key=YOUR_PUBLIC_KEY — Fizlog doesn't host custom domains). Otherwise just update links in your app, docs and emails.

6

Check, then cancel Headway

Open your app and the public page, confirm the entries look right, and only then cancel your Headway subscription.

FAQ

Will importing ping my users?

No. Imported entries are sent with "silent": true — no webhook and no subscriber email for old posts.

Is the same element used for the widget?

Yes, if you like. Headway attaches its badge to the CSS selector in HW_config; give Fizlog the same element via data-selector and the bell appears in the same place.

What about images?

Images in Headway posts are not imported — Fizlog entries support text, links, bold, italics, code and lists.

Can I run it again if something looks wrong?

Yes, but each run creates new entries. Delete the imported ones in the dashboard first, or use --dry-run until the preview looks right.

Export options per Headway's own documentation, checked September 2026: Headway RSS feeds, Headway widget docs. Vendors change their products — if a step no longer matches, check your plan's export options.

Ready to move?

Free for one project, $0.99/mo flat for unlimited.

Start free on Fizlog — no credit card