# Intro

Gato GraphQL is a GraphQL server for WordPress, that enables fetching and modifying data in the WordPress site via a GraphQL API.

<!-- Among others, you can use it to:

- Query data to create headless sites
- Expose public and private APIs
- Synchronize content across sites
- Automate tasks
- Complement WP-CLI to execute admin tasks
- Search/replace content for site migrations
- Send notifications when something happens (new post published, new comment added, etc)
- Interact with cloud services
- Convert the data from a 3rd-party API into the required format
- Translate content in the site
- Insert or remove (Gutenberg) blocks in bulk
- Validate that a new post contains a mandatory block
- And much more...

This tutorial explains how to achieve all of these objectives, one by one, by exploring all the elements from the GraphQL schema (the types, fields, directives, etc). -->

This tutorial explores how to make the most out of the GraphQL schema (types, fields, and directives) when having all the extensions installed.

Lessons are incremental, focusing on some new element from the GraphQL schema, and building upon all items introduced in the previous lessons. Hence, the lessons are better read in the given order.

By the last lesson, you will have a thorough understanding of crafting GraphQL queries to achieve all the use cases afforded by Gato GraphQL.

<!-- [Watch “Introduction to Gato GraphQL” on YouTube](https://www.youtube.com/watch?v=uabFL_CoEWo) -->
