Here’s a tool (still in beta) that you can use to generate a newsletter digest based on your Ghost posts. Feedback appreciated! The goal is to be able to schedule digest creation, but right now it’ll just save a draft for you. (I figured that if something was going to go wrong during testing, it’d be better if it didn’t actually send it out!)
Update: Chasing down a bug that seems to be interfering with first logins. If it isn’t working for you, my apologies! Will update when I think I’ve got it fixed.
(I’m using Ghost as the source-of-truth for the logins on the netlify-hosted app, which complicates testing a bit…)
Update: Fixed. I think. Onboarding flows are hard! ![]()
Hello Cathy. Thanks for building this! Been looking forward to this for some time now.
To be honest I’m not in need of it just yet, although that time is getting closer and closer, and in the meantime I’m more than willing to kick the tires a bit for you.
Yes, I tried it out a few hours ago and got the error message that I had to create a site first, which I guess somebody else told you about. Anyway, I’ve now gotten past that stage, but now I’m getting another error: When I try and create a New Automation I get the error message “Failed to create newsletter automation”.
I then noticed that the site I’d set up had gotten its own drop-down, and under its settings I noticed that the Ghost Access Token section was blank. I’m not sure if that’s an issue or not, but regardless I tried re-entering the token and tried to (re)save the changes but got a “Token expired” message. I generated a new token and tried to save changes with the updated one, but that one also got the expired message.
Argh! Thanks for the detailed report!
This is my first attempt at getting “Ghost as the source of truth” into production in a react app (rather than just handling a single request to the back-end), and it’s… interesting. Lots of fussing with expired tokens.
And unfortunately, since the problems are mostly expired tokens, my quick “run through and test everything in case I broke something” isn’t hitting those edge cases.
I’m reluctant to declare victory, but I /might/ have gotten it? Sitting here with the window open for a while to see what happens. ![]()
Yes! I’m now fully in and can see the Newsletter Settings page. I’ll try giving it a whirl tomorrow.
Phew! :) Thanks for testing.
Alright, round two.
Upon re-visiting the newsletter digest builder site everything was good to go as I was still logged in and the automation I’d created yesterday was already set up. I created a section out of the various options available (which contains the exact options I’m looking for!
), but upon trying to save the settings (which I tried to keep as simple as possible so as to reduce complications) I got an error message saying they couldn’t be saved.
Not sure whether or not I could save a draft to my Ghost instance with the settings not being saved I gave it a shot anyway, but after I saw the “generating” message for a few seconds I then got the “Token expired” message at the bottom of the page.
I went back to the site settings page to try re-entering the token as I did yesterday (even though I see that it now states “Leave blank to keep the current token”), but upon doing so I again got the “Token expired” message. Upon hitting save a second time (for no discernible reason) I even got a second “Token expired” message, but this time more explicit
.
With that all not working I thought I’d go back to the Newsletter Automations page to check things out again but got told “Failed to load newsletter automations”, which essentially locked me out.
That being so, I was nonetheless able to go back via my browser’s history to the first time I visited the Newsletter Automations page, which surprisingly worked and surprisingly allowed me to repeat the initial steps I took of which allowed me to take the first screenshot seen above.
Looking forward to round three
.
Thank you for that! :)
Clearly I’m still having issues with timed out authentication (which could also give clearer error messages).
![]()
Update: Redeployed to https://tools.spectralwebservices.com - which /may/ help with some cross-origin issues in picky browsers?
Alright, all the changes from the section I created got saved this time, although when I went to “Save a draft to Ghost now” I got another error message: “Unable to determine the authenticated user or integration. Check that cookies are being passed through if using session authentication.”
Also, the error message covered up the “Delete automation section” (if that matters):
OK, that’s progress! :)
So that error means that the attempt to send the newsletter over to Ghost failed. (That’s the raw Ghost error.) You might check that your site settings have a valid url (not localhost) and that you’ve got a valid staff user token (contributor is fine) or api key (not content).
I’m currently showing more raw errors in hopes that it helps with debugging, but yeah, I could probably rewrite THAT one to something more user-friendly.
Site settings are as valid as I can tell, and it’s by no means a localhost site but rather a Ghost(Pro) site.
Otherwise, I regenerated the Contributor’s Staff access token and applied it and saved it to the Site Settings section, this time getting the message “Site updated”. I then returned to the automation and tried to Save a draft to Ghost now, but got the same error message.
Thanks. I’ll dig into logs on that. I’m publishing to ghost pro here, so we are missing… something
Hmm. I hypothesize that you’ve set your front end website url, and the function needs the .ghost.io domain. [This was entirely unclear by the field label. My bad.] I’ve added a validation tool in site settings that will hopefully throw a useful error message! :)
Whoops, my mistake, I should have thought of that. Otherwise, it now works!
So I generated my first draft, which came through wonderfully. The generated link leading directly to the post on my site was a nice/convenient touch.
I’ll play around with it all a bunch more later, but in the meantime I imagine that some people might want to have one or more tags automatically added to the digest, and others might want to change the post access settings (and even select specific tiers). Supposing there aren’t already plans to add some/all of these options, would options as such even be possible?
Yes. Tiers will be an option. I guess there should probably be a paywall placement widget, too?
I do plan to apply tags, but contributor tokens can’t apply tags, so am deferring that until a little more tire kicking has happened.
Additional functionality suggestions welcome! :)
I am very interested in this. Can you send me setup instructions?
There’s a link in the first post - that post has directions for creating a contributor staff token (the most complicated part!), and there’s a link to get yourself set up from there! If you’re stuck somewhere specific, please let me know where the UI is currently non-obvious, and I’ll get you sorted! :) (PM is fine if you prefer, or email to cathy @ spectralwebservices.com )
A couple of things. Figured it out, but didn’t realize I need an account with your site first. I was able to create a newsletter. On the choices I would like to see an option for featured posts. Right now it is searching on tags.
I clicked the save button and it redirects me to a tip jar page. and then I had to navigate back to the tools page and saw I had redo the news letter configuration. The next time though I go the same tip jar redirect, but hit the back button and the save button again. I was then able to go to the top of the page and click the generate button. After a short wait, I see the status of “Failed to generate draft”.
Ok. it seems to be working now. I tried a couple more times. More feedback. I do have url links in the original posts. But those are not preserved when the posts is pulled into the newsletter digest.
Thanks for the feedback! Sorry for the save problem - sounds like my floating tip jar ghost is interfering with the button. ![]()
You’re losing links from the newsletter? Interesting. I haven’t seen that before. Can you tell me which layout setting you were using? I’m guessing it’s one of the full text ones? Will investigate!



