How to run your editorial workflow in Ghost

Ghost is great for solo bloggers. But how can a team use Ghost effectively?

How to run your editorial workflow in Ghost

Available roles

Note: If you're hosted on Ghost Pro, most plans have a limited number of staff users. Happily, the "contributor" role doesn't count towards the staff user limit. So a multi-person editorial group might fit in a fairly small plan, as long as the reviewing group only has contributor-level access. [Self hosters have no limits to how many staff users they can have.]

  • Contributors: Can log in and write posts, but cannot publish. Cannot create or edit pages.
  • Authors: Can create and publish new posts and tags. Cannot create or edit pages.
  • Editors: Can invite, manage and edit authors and contributors
  • Administrators: Have full permissions to edit all data and settings
  • Owners: Everything administrators can do, plus access to Ghost Pro dashboard (if hosted there) for billing and DNS changes.

Staying organized

How can a group of people keep track of what's ready to publish, what needs review, etc?

Meet the #internal tag. Internal tags are great, because you can use them to organize your workflow. You might mark your posts as #needs-edits or #needs-images or #awaiting-approval or #ready-to-publish. Then, within the Ghost admin panel, you can filter what posts show up, or even create a custom view to show just the posts that need your attention:

The (highlighted) button creates a custom view that will show up in the Ghost menu, making it super easy to see if you have posts that need your attention!

How to make an internal site with custom tiers

Maybe just having articles ready to preview isn't enough. Maybe you want to publish information just for your authors, and keep it right in Ghost. One way to do this is to set up a tier just for your staff users. Create the tier, then make it unavailable. Finally, give each of your staff users a complimentary subscription to that tier. Now you can publish items just for staff. Add some custom routing (with routes.yaml) so that staff-only items show up only at /staff and nowhere else, and you've got a quick internal site running alongside Ghost.

Note: This approach requires that you are scrupulous about marking the staff-only items as only being for that tier. There's some danger here that someone might accidentally publish a staff-only document without the tier restrictions. So this might make sense if you just want to have private but not really confidential documents handy (like the editorial calendar or the sign-up for the next staff picnic), but it's probably NOT the right choice for anything truly confidential (like personnel evaluations).

Hypothes.is for annotations/comments

How do you easily leave a comment during article review? Do you need to work outside of Ghost? Not necessarily? Hypothes.is can be used for comments on Ghost!

Your group will need the hypothes.is extension installed. When you are ready to leave comments, click the 'preview' button, and then the pop-out icon (box with arrow) to get the preview in a separate window. Add some comments and highlights, and you've got a result like the one below:

Want to try it out? Here's a link to a live (draft) post with annotations on. Note that you'll need to have the extension installed for the link above to work correctly.

Some folks have proposed using HTML comments or hidden divs instead. I'm not a fan of this approach, because any HTML comments that aren't stripped out during the editorial process are user-readable (if they open the source code or inspect the page).

Another option for comments would be to use the 'email only' card, if you never send your posts out as a newsletter. The email only card doesn't show up on the web. It doesn't show up in the content api or rss feed, either. But you can't send that post as an email if it has internal comments. Great option if you don't do newsletters, terrible option otherwise!

Tip: Dealing with authors who aren't staff users

If you have a site with guest posts or other content that has authors, but you want to post on behalf of those authors, you'll need to make those authors an account. They can be contributors, but they still need an account set up before you can attribute articles to them. How do you do this, especially if you're posting on their behalf? Here's a good trick for contributors who won't actually access Ghost themselves:

  • Invite each contributor using a variation of your email address. Most email providers (including gmail) accept emails with +extrastuff added to the username part of the address. So for example, if your address is [email protected], you can sign your contributors with addresses like [email protected]. Those emails will arrive in your [email protected] inbox, where you can click the link and activate the contributor's staff account for them.

More ideas?

How does your team use Ghost effectively? Hit the comments button and let us know!


Hey, before you go... If your finances allow you to keep this tea-drinking ghost and the freelancer behind her supplied with our hot beverage of choice, we'd both appreciate it!