Work Smarter, Not Harder: How to Become a Hands-Off Content Marketer

Become a more efficient content marketer in five minutes simply by reading this blog.

I’m going to teach you how to become a more efficient content marketer. You know how to write the content and market it – but did you know that you can automatically publish great original content to your blog using readily available APIs? Here’s how!

The Publishing Workflow

First, let’s start with the basics. A typical publishing workflow might look like this (and in roughly this order): It starts with content curation, workflow management, then content creation, content distribution and content analytics. It’s all under the banner of content marketing. Here’s a look at each of those elements and how they might get automated.

Content curation: There’s an easy way and a hard way. If you want to know what to write about, you can run all sorts of fancy algorithms and statistics to detect trends before they happen and choose related topics. Or you can assume someone else is already doing that, and then choose from the topics they publish and create your own content around that. For example, since we’re a tech company, we might just look to the geniuses at TechCrunch and write about whatever they write about. 

Workflow (editorial calendar) management: This is the field of organizing your content onto a calendar and planning your topics out in advance. If you’re curating from TechCrunch’s RSS feed, as we’d do for a self-publishing blog, then you don’t actually need this. We’re just going to order one new blog posts every day and accept it without edits. Because, again, we’re being super lazy! (But again, I don’t actually recommend this.)

Content creation: That’s the hardest part and we’ll address it later on.  

Content distribution: Fortunately, every significant publishing platform out there has an API. All you need is an account on the various social media sites and a Tumblr or WordPress page to host and post your content.

Content analytics: This might be version 2 of your self-publishing site. You can use data from your content analytics to choose better topics in the curation step. But for the sake of our little example, we don’t need to worry about this.

How to Automate Original Content Creation

Okay, back to our blog. You want people to read your stuff, so you can’t Fiverr it, and you also can’t plagiarize someone else’s work (obviously). So how do you automate original content creation? That’s where we come in. The Scripted API. Yes, content creation is now also a programmable service.

Let’s pseudo-code what this might look like. And for the sake of working through an actual example, let’s say you wanted your company blog to relate TechCrunch articles to your mobile social food app.

Step 1: You need topics! Let’s use a feed from TechMeme or TechCrunch’s own RSS feed to get them. If we assume TechCrunch editors are geniuses and know exactly which topics to write on any given day to get maximum traffic, then let’s just follow their lead. It’s easy to get the article’s title and link from an RSS feed. Curation: check.

Step 2: Let’s feed those topics into Scripted. If I’m using an actual article published on TechCrunch on January 7, 2016, then the form might look like this:

Topic: Relate this to my mobile social food app: The GoSun Stove Cooks With Just The Power Of The Sun

Format: Standard Blog Post

Prompt: Read this article and relate it to my company. We’re a mobile social food app that helps people figure out where to eat based on where their friends ate in the last 30 days. We want to talk about what we’re doing to the broader tech industry and the future of the intersection between social eating and mobile technology. Let’s be awesome!

Writer Industries: Software & Technology

Since I’ll be doing my day job while all of this writing is happening, I won’t be around to manually approve the writing or request edits when the draft comes in. I’ll trust Scripted not to deliver something terrible (everything is checked by an editor anyway). After three days of inaction, my jobs will auto-approve. So that’s my workflow management and my content creation. Check.

Step 3: Choose a place to publish it! Tumblr’s API looks good and even if it wasn’t, there’s a nice Ruby wrapper on their GitHub account. Finally, they also will auto-tweet when my posts are published, so that’s one less function I’d need to code myself.

Step 4: Watch your website traffic and Twitter feed blow up. That’s it!

The Scripted RubyGem

To make life even easier for you, we’ve recently released our own Scripted Client Ruby gem. If you like to build your apps in Ruby on Rails, your code will look amazingly simple. Below is my hack at it so you can see for yourself. Our docs here have more info and functions and some shell script examples.

## Step 1: Get the topic idea

require 'rss'
require 'open-uri'

url = ''

open(url) do |rss|
 feed = RSS::Parser.parse(rss)
 @article = feed.items.first
 @title = @article.title
 @link =

## Step 2: Get content written for you

require 'scripted_client'

# See for detail about your API key credentials

ScriptedClient.organization_key = 'your-org-key'
ScriptedClient.access_token = 'your-access-token'

# Other options are sandbox and development

ScriptedClient.env = :production

# First, find a JobTemplate that you'd like to use. We want the standard blog post (~400 words). See them all at 

templates = ScriptedClient::JobTemplate.all
blog_post = templates.find { |template| == 'Standard Blog Post' }

# Next, assign some values for the Prompts on that JobTemplate. Our goal is to generate clicks!

goal = blog_post.prompts.find { |prompt| prompt.label == 'Goal' }
goal.value = ['Generate clicks / SEO']

# These will be the same for everything we write

key_points = blog_post.prompts.find { |prompt| prompt.label == 'Key Points' }
key_points.value = ["Mobile technology can bring friends together by coordinating dinner reservations", "You can't spell mobile without bile, and you need bile to digest your food, so you can't be mobile without digesting"]

# Since this a unique request, let's also include some special instructions

special_instructions = blog_post.prompts.find { |prompt| prompt.label == 'Special Instructions' }
special_instructions.value = "Read this article #{@link} and relate it to my company. We’re a mobile social food app that helps people figure out where to eat based on where their friends ate in the last 30 days. We want to relate what we’re doing to the broader tech industry and the future of the intersection between social eating and mobile technology. Let’s be awesome!"

# Next, you can choose an Industry. This is required:

industries = ScriptedClient::Industry.all
software_and_technology = industries.find { |industry| == 'Software & Technology' }

# Now you can create the Job!

job =
 topic: "Relate this topic to my mobile social food app: #{@title}",
 job_template: blog_post,
 industries: [software_and_technology]

## Step 3: Hit publish

# When your job is done, you can retrieve it and then get crystal clean HTML content with two simple lines. First, get your last finished job

post = ScriptedClient::Job.finished.last

# Then retrieve its cleansed HTML content so you can publish to your CMS

html_content = ScriptedClient::post.html_contents

# From here, you can publish to any CMS with an API, like Tumblr, WordPress, or your Drupal or Joomla-based website!

Ready to get started? Log in to your Scripted account settings and click on the API tab to retrieve an API key. 

Drop me a line at if you have any questions. We’d love to see how you use our API.


Create a Free Scripted Account