Most probably, you have at some point come across Medium – the platform for ideas and stories. Otherwise, I do recommend the reading of this and this post.

The matter of fact is that it’s been thriving. Even though it’s founders don’t publicize the volume of posts nor active users, em January 2016 more than 25 million visitors had landed on the posts published through the platform. The founders, by the way, are the guys who had previously created Twitter…

Medium has been designed to facilitate reading and creation, besides the intelligence involved in the distribution of content to the reader. For those reasons, it has seduced and attracted more and more writers, bloggers, journalists and people who just want to express something to a certain audience.

Brands interested in raising their reach, attracting potential customers or testing new channels of distribution may couple Medium with the usefulness and organization of Contentools to create and revise pieces of content, editorial calendar and publishing. It’s possible to link them both through the platform of integration Zapier.

Zapier is a service which connects more than 750 applications and allow them to dialogue. There’s plenty of content available online, even for those who are unaware of Zapier APIs and task automation. Contentools is already there, therefore users can link their accounts to heaps of other solutions, automatizing their work even further.

TLDR; the text turns into more technical from this point, describing how to integrate the tools mentioned so far. In case you’re not familiar with those, We recommend some research on Zapier, on how Contentools might help your content creation process and on APIs and their use.

Integrating Contentools and Medium via Zapier

To publish your stories and ideas on Medium using Contentools, you’ll need 3 requirements:

– An API Key of your Contentools account
– An account on Zapier
– An API Key of you Medium account

PS: Zapier offers free accounts, with up to 100 usages per month of each automation ( which is enough for most cases).

API Key Contentools

In case you already have an account, just follow this tutorial to extract your API Key. Otherwise, ask for a demo and talk to one of our specialists.

Zapier Account

To have access to Zapier integrations, just go to zapier.com and follow the steps to create a new free account.

API Key Medium

To create a new integration key, just go to your Medium page and access the settings menu by clicking on your profile picture, on the upper right corner. Then you will see something similar to the printscreen below, then choose a name for the integration (e.g. Zapier) and record the key for further use.

Medium API Key

Using triggers and actions on Zapier

Having all the requirements at hand, just go to Zapier and “Zap” them!

Step 1 – Make a Zap

Zapier calls it’s integrations “Zaps”, so let’s zap Contentools + Medium.

Make a Zap - Zapier

Step 2 – Choose the trigger

The trigger event starts the automation. As we want to publish our content on Medium from Contentools platform, we must set the trigger as ‘New Published Content’ on ‘Contentools’ app.

Novo Conteúdo Publicado - Gatilho Contentools Zapier

PS: When you click “Save and Continue”, Zapier will ask you to connect with your Contentools account. For this step, you’ll need your API Key, the email account you use to login on the platform and your account’s subdomain (subdomain.contentools.com).

Step 3 – Find your Medium ID using Zapier

Unfortunately, Medium doesn’t have yet a native integration with Zapier. It’s possible to integrate them, though, via webhooks. We’re going to divide this step in two stages: Firstly getting the Medium user ID, then using it to finally conclude our integration.

Every Zapier trigger starts an automation that executes an action.  To find your ID on Medium, create a “getter” using the ‘Webhooks by Zapier’ app, as seen below:

Webhooks by Zapier - Get action

Next step is to set this actions by filling up some required fields. These are:

URL: https://api.medium.com/v1/me
Send as JSON: Yes
JSON Key: json
Unflatten: yes
Headers: create a pair using the following data

– 1st Field: ‘Authorization’
– 2nd Fiels: ‘Bearer API_KEY_MEDIUM’
Authorization Medium - Zapier

Now click on “continue” and test. Ready! To check your ID just click on ‘view your get’ on the next screen:

Ver seus resultados - Zapier

Having the test successfully run, when you click on view result, Zapier will return the data related to your user on Medium. Store (separately) the info displayed on the field “data_id”.

Zapier Medium Results

Step 4 – “Zapping” Medium

Now that we have all the necessary information, the last step can be discarded. That’s because Zapier free accounts only provide automations, Zaps, with 2 steps: a trigger and a action. Paid accounts can create automations with multiple steps. Step 3 was only needed to find out the ID of your user on Medium. Having that done, just create another “post” action using the ‘Webhooks by Zapier’ app.

The difference to the previous step is related to the fields to be filled up. These are:

URL: https://api.medium.com/v1/users/[your_user_id_stored_from_step_3]/posts
Payload Type: Json
Data: create the following pairs
Medium Data Fields
Wrap request in array: no
Headers: same as step 3 (‘Authorization’ and ‘Bearer API_KEY_MEDIUM’)

PS: I chose to publish my posts as drafts, in order to run a last revision before making it public. But if you prefer to post it in public mode straight away, just swap it from ‘draft’ to ‘public’ the item publishStatus.

Click on “Save and Continue” and test your integration. Should everything be correctly set, you’ll get a confirmation message and your content you be posted on your Medium page.

Now what?

From now on, your automation is running normally, just create your stories on Contentools and schedule them for publishing. When the day comes, Contentools and Zapier will do the work for you and post it on Medium. Then you can optimize your time to organize your ideas, your editorial calendar, as well as have an easier process of creation and reviewing your pieces of content.

See you on the next integration!