Owners/editors should be able to create bylines manually

I run a publication with a small staff but we occasionally accept pitches from freelancers who technically have no need to ever be in the back-end of our website because their posts are formatted, published, and edited by staff. It would be helpful if it were possible to manually create an author byline for situations such as this. In the back-end of Ghost, posts would still appear as being created by the actual staff user, perhaps for example “Staff User as Alias Author Name.” I’ve had to create a lot of user accounts within my Ghost instance to accommodate one-off bylines because I can’t create author aliases.

I’m out of votes, so just jumping in here to echo this post. I have a large number of story sources that are not staff, and I have no way of creating a good “author” block for them, like I could on Wordpress using a guest author plugin.

Adding a +1 here. Substack has this as a way of doing this.


That said, simply being able to attribute the byline manually and not giving them access to the Ghost backend would work even better for us. We don’t need lots of users in our backend, we just need to be able to credit them properly.

I have looked at these:

But the solutions suggested link to a resource that is no longer available

Here’s the snippet card I created for one of our contributors. I have these for people that post regularly that are not “staff.”

<section class='c-card-author'>
   <div class='c-card-author__media'>
      <img class='c-card-author__image lazyload' data-src='/content/images/2021/09/Cross-Al-260x300.jpg' width='80' height='80'>

   <div class='c-card-author__content'>
      <h3 class='c-card-author__name'>Al Cross</h3>
      <p class='c-card-author__bio' style="font-size: 16px; line-height: 24px; color: gray;">Al Cross is director of the Institute for Rural Journalism and an associate professor of journalism at the University of Kentucky. He served as a political reporter and commentator at the Louisville Courier-Journal for 26 years.</p>

I’ve seen several people wanting to create users manually or add them programmatically, rather than having to send an invite for each one. Perhaps the Ghost API could have a “create user” functionality?

Editing and deleting users are probably best left to the admin interface for now, because they can potentially destroy a lot of data, but a system for simply adding users that don’t yet exist would be nice.

In admin panel, all actions ara performed via API.
What the difference to this admin api that admin ui consume and api used by SDK ?

@luizamboni staff users are not creatable via the API. It’s possible to create invites via the API, the recipient then has to accept it and fill in their details at which point a staff user record is created - that’s the only staff user creation flow that exists at present.

1 Like

@badrihippo I feel the same. I’m looking into Ghost as an option, but the lack of features (and flexibility) from the CLI is a disappointment – it’s exactly where I expected Ghost’s strong point to be when first reading the introduction.

The fact that I cannot even set up a test user for a local dev installation is disappointing. That should be trivial to implement.

Incidentally, I posted a workaround on this thread. You basically need to copy the following JSON code and replace the user details with your own, then “import” the generated file into Ghost:

  "data": {
    "posts": [],
    "tags": [],
    "posts_tags": [],
    "users": [
        "id": 1,
        "slug": "person",
        "bio": "I am a person on the website",
        "website": "https://www.example.com",
        "created_at": "Thu, 3 Aug 2019 13:45:57 +0530",
        "created_by": 1,
        "email": "person@example.com",
        "name": "Some Person",
        "profile_image": ""
  "meta": {
    "exported_on": "Thu, 3 Aug 2019 13:46:48 +0530",
    "version": "2.14.0"

Not neat, but it works, and I’m planning to write a script for it that would make things even more convenient


Hi Kevin, is it possible to create invites via the new v3 Admin API? Or is there some way to call that endpoint directly? We have a use case where when someone joins our Slack team we want to be able to automatically create a user / invite a user to a Ghost instance.

You can create an invite using sesion auth but not token auth.

Not sure why this showed up under Latest (a new vote, perhaps?), but I notice it says “Planned.” Is that accurate? Is this functionality of adding new authors with cards and bylines coming?

What does this do exactly?

Thanks, Bruce. Does this just use existing classes?

Yes, those are the ones in the theme.

I now have a Google Workspace account, which allows me to create a number of email aliases that are automatically forwarded to me. So, I’ve created fake emails for the non–staff contributors we use, sent an invite to those fake emails (thus, to me), then accepted the invites from those fake invites to those fake emails. It’s a kludge, but it seems to be the only way to properly do author attribution for now.

Yeah, I’m doing that on my WordPress site now. But it looks like your card is all manually coded so there’s no reason to send an invite beyond wanting the CMS to attribute the post to the guest, correct? Also, wouldn’t you hit your user limit pretty soon (unless you have unlimited)?

It lets you add authors directly without having to send them an email invite and getting them to sign up.

I just realised (very late!) that this is a bit off-topic. The original question was about avoiding creating these “accounts” at all, whereas my answer was about creating the accounts without the actual author having to take any action. Sorry about that!

1 Like

This is not a perfect solution for multiple reasons, including SEO, but I use a “guest contributor” byline and then put the author’s last name in the body - Remembering Lillia Bartlow, who captured Berkeley's heart

I’ve come back here again because I could really use this feature! It’s a bit of a pain to have to create a bunch of alias emails just to create bylines I need (e.g. for the city I cover, when I want to publish PSAs). - Berkeley will now play 'wailing siren tone' in emergencies - Would be really great to just be able to create a new user from the back end.