The Guild LogoThe Guild Monogram

Search docs

Search icon

GraphQL Inspector

Bulletproof your GraphQL

Get Started

Schema change notifications#

Stay up to date with changes in your GraphQL Schema. Receive notifications on Slack, Discord or even via WebHooks every time new changes are introduced.

Track what happens in your Production, Staging or QA environments.

⚠️ Available only in GitHub Application ⚠️

How it works?#

Every pushed commit is checked by GraphQL Inspector. If changes are detected, it sends a notification to your Slack or Discord.

You can exactly specifiy which environments Inspector should track.


Enabling schema change notifications is pretty straightforward. You need to define one of targets: Slack, Discord or generic webhook.

notifications: slack: 'your-slack-webhook' discord: 'your-discord-webhook' webhook: 'your-own-webhook'

Using with environments#

Notifications are highly customizable. You're able to have a setup where every schema change on any of your environments is sent via webhook. To reduce the noise, you can setup Slack notifications only for Production environment.

notifications: webhook: 'your-own-webhook' env: production: branch: 'master' notifications: slack: '<slack-webhook>' dev: branch: 'develop'

Whenever a new change is pushed to develop branch, you get a notification via Webhook but not on Slack.

Notifications on Slack#

In order to use Slack notifications, you need to create your own application on Slack and an Incoming Webhook. Follow these instructions.

notifications: slack: ''

Notifications on Slack

Notifications on Discord#

Same story as with Slack. You need to create a webhook first, following these instructions and pass it to

notifications: discord: ''

Notifications on Discord

Notifications via Webhook#

For more advanced cases, you may want to use the Webhook option.

notifications: webhook: ''

From now on, every change in your schema will pass through the webhook. You can integrate it with other tools, send to internal applications and do pretty much whatever you can imagine.

Payload structure#

The structure of the received payload described as GraphQL.

type Payload { environment: String! name: String changes: [Change!] } type Change { message: String! level: Level! } enum Level { Breaking Dangerous Safe }

Example payload#

{ "environment": "production", "changes": [ { "message": "Field 'user' was removed from object type 'Query'", "level": "breaking" }, { "message": "Argument 'limit: Int' added to field 'Query.users'", "level": "dangerous" }, { "message": "Field 'role' added to object type 'User'", "level": "safe" } ] }