a headless statue with arm raised in a gallery
PHOTO: Pana Vasquez

GraphCMS is a cloud-based headless content management system based on GraphQL — a query language for APIs that’s used and open sourced by Facebook.

Like all headless content management systems, GraphCMS lets you build rich content APIs for use on websites, web apps, mobile apps, smartwatches and pretty much any device used today (and tomorrow).

The emergence of GraphCMS, founded in 2016 in Giessen, Germany, is part of the spike in the number of headless content management systems hitting the market, which comes in response to the growing demand among enterprises and online businesses in general.

GraphCMS: A Background

To understand the relatively short history of GraphCMS, CMSWire spoke to GraphCMS CEO and Co-founder Michael Lukaszczyk.

We first asked Lukaszczyk and his business partner Daniel Winter why they launched GraphCMS in early 2016.

“Only a few weeks after we founded a software agency [together], we stumbled upon a [blog post about headless content management systems]. It was also the time we started to dig deeper into GraphQL.” he said.

“When we read the article, we knew immediately that both concepts would work together well. We did market research and we found that there was no CMS based on GraphQL, so we decided to build one.”

When asked why he and his co-founder decided to use GraphQL instead of representational state transfer (REST), Lukaszczyk said that “GraphQL is currently one of the brightest stars in the developer universe.”

“It is a powerful query language for your APIs, which allows you to talk to APIs in a way that wasn't possible before. Some call it the successor of REST, which I agree with,” he said.

Getting Started With GraphCMS

Outside of headless content management, the core features of GraphCMS include the following:

  • Image processing: On-the-fly image transformations, such as resizing or cropping just by adding parameters to your media´s URL.
  • Roles and permissions: The roles and permissions feature allows you to assign your collaborators different roles, such as Developer, Editor and Collaborator.
  • Webhooks: Webhooks enable you to trigger custom code as soon as your content changes.
  • Multi-project management: With one user account, you can manage multiple projects and create up to 50 users per account to help manage those projects.

Content localization is another GraphCMS feature currently in the works.

You can start building with GraphCMS by logging in via Facebook, Github, Google or — if you’re old school — email.

Once you’re in, GraphCMS does a solid job of onboarding you with an interactive tour and an Intercom-powered live chat system.

The dashboard presents GraphCMS news, a Slack channel invite, a survey request and a graph of your total API requests over time. It’s pretty, but not the most useful dashboard I’ve seen — and you can’t customize it either.

Creating Content Models

To create headless content with GraphCMS, you’ll first need to create a content model on the Content page. Here, you can also create new models, fields and enumerations.

The rich text editor is handy for nontechnical marketers to produce content. Basic formatting options are in place and images can be uploaded directly from the editor. Switching to an HTML view is a one-click process, but there are no content versioning or collaboration features.

Content Fields

When you have a content model in place, you can start to populate it with content fields. These range from text to JSON objects.

For each field, you can configure create, read, update and delete (CRUD) permissions. GraphCMS does a good job of presenting content models and their fields, and allows you to edit and delete them from the same Content page that houses them.

Asset Management

GraphCMS allows you to bulk upload images from your computer, Facebook, Instagram, Google Drive and Dropbox. You can also import images from a URL.

Once uploaded, you can make use of GraphCMS’ simplistic, but helpful image editor. With it, you can crop and rotate images, or add two filters (Sepia and Mono).

Once you have some assets uploaded, they are accessible from the Assets tab. However, there’s no way to categorize or search through them, which could be a problem if you upload a lot of assets.

Webhooks

Webhooks enable you to trigger custom code as soon as your content changes. A webhook is ideal when you want a certain process to be triggered in your application due to an event that occurred in a separate application. For example, if somebody buys a ticket to your event, you can set up a webhook to update your total number of available tickets.

To set up a webhook on GraphCMS, you’ll need to cycle through three steps: identifying the trigger event, the payload and an endpoint URL. GraphCMS’ documentation goes into further detail.

Once created, your webhook will be active by default. You can disable it by heading back to the ‘Webhooks’ page.

GraphCMS Pricing

GraphCMS offers four plans, ranging from free to $349 per project, per month. The free plan entitles you to 10,000 API operations per month, 1GB of media traffic per month and two seats (users). You also get image editing, roles and permissions.

For more API operations, traffic and seats — as well as features like webhooks, content localization and premium support — you’ll have to start forking over some cash.

The Verdict

GraphCMS delivers on what it promises: It’s a headless CMS based on GraphQL, which many deem to be REST 2.0. The backend is slick and approachable for nontechnical users, but without content versioning and collaboration features of any kind, GraphCMS would be a hard sell in the enterprise market. However, with content localization on its way, enterprises may find a purpose for GraphCMS for smaller, localized projects that require minimal collaboration.

Pros

  • Rich content editing
  • Attractive UI with a short learning curve thanks to an automated onboarding tour
  • Content models, fields and webhooks are all easily managed
  • Basic asset management
  • Roles and permissions
  • Content localization in the works

Cons

  • The UI is good overall, but the sidebar navigation does a poor job of showing you which area of the dashboard you’re currently viewing.  
  • No content versioning
  • No collaboration features

Have you used GraphCMS? Let us know what you think of it in the comments below.