# Overview - Graphql

**URL:** <https://discuss.dgraph.io/t/overview-graphql/9858>\
**Category:** Documentation\
**Created:** [August 28, 2020, 10:03pm UTC](https://discuss.dgraph.io/t/overview-graphql/9858 "2020-08-28T22:03:31Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![diggy](https://yyz1.discourse-cdn.com/flex007/user_avatar/discuss.dgraph.io/diggy/32/3666_2.png) [@diggy](https://discuss.dgraph.io/u/diggy)\
**Post date:** [August 28, 2020, 10:03pm UTC](https://discuss.dgraph.io/t/overview-graphql/9858/1 "2020-08-28T22:03:31Z")

</div>

Dgraph creates a GraphQL API from nothing more than GraphQL types. That’s great, and gets you moving fast from an idea to a running app. However, at some point, as your app develops, you might want to customize the behaviour of your schema.

In Dgraph, you do that with code (in any language you like) that implements custom resolvers.

Dgraph doesn’t execute your custom logic itself. It makes external HTTP requests. That means, you can deploy your custom logic into the same Kubernetes cluster as your Dgraph instance, deploy and call, for example, AWS Lambda functions, or even make calls to existing HTTP and GraphQL endpoints.

## The `@custom` directive

There are three places you can use the `@custom` directive and thus tell Dgraph where to apply custom logic.

1) You can add custom queries to the Query type

```
type Query {
    myCustomQuery(...): QueryResultType @custom(...)
}

```

2) You can add custom mutations to the Mutation type

```
type Mutation {
    myCustomMutation(...): MutationResult @custom(...)
}

```

3) You can add custom fields to your types

```
type MyType {
    ...
    customField: FieldType @custom(...)
    ...
}

```

## Learn more

Find out more about the `@custom` directive [here](https://dgraph.io/docs/graphql/custom/directive), or check out:

* * *
This is a companion discussion topic for the original entry at [https://dgraph.io/docs/graphql/custom/custom-overview/](https://dgraph.io/docs/graphql/custom/custom-overview/)
