# GraphQL Client integrations

> Send any query or mutation to a GraphQL API, with variables and headers, and use the response in the next step.

**Canonical page:** https://tray.ai/connectors/graphql-integrations/
**Categories:** Developer tools
**Connects through:** Connector

## Overview

A GraphQL API lets you ask for exactly the fields you need and nothing more. The GraphQL Client sends a query or mutation to any GraphQL endpoint, with variables and headers, through one operation: Raw query. In the builder, a GraphQL IDE with a documentation explorer lets you browse the schema and run a query before it goes into a workflow.

## Use cases

### Read only the fields you need

Query for just the records and fields a workflow uses, such as open issues with their assignee and labels, instead of fetching whole objects and trimming them afterwards.

- Smaller responses
- Nested data in one request
- Fields chosen per workflow

### Write back with mutations

Create or update records through mutations, with values from earlier steps passed in as query variables. For example, create a repository when a project is approved.

- Variables from earlier steps
- One step for reads and writes
- No custom code

### Reach apps that lead with GraphQL

Many newer products publish a GraphQL API first. Point the GraphQL Client at the endpoint, reuse an existing connector's authentication or add your own OAuth2 or token authentication, and the app joins your workflows.

- Reuse existing authentications
- OAuth2 or token auth
- Any GraphQL endpoint

## Challenges Tray.ai solves

### Writing queries against an unfamiliar schema

GraphQL works on the basis that you know what you're asking for, and it can't do partial matching.

**How Tray.ai helps:** The GraphQL IDE in the builder has a documentation explorer and a query variables panel, so you can look up the schema and run a query before a workflow depends on it.

### Collecting large result sets

GraphQL APIs return big lists one page at a time.

**How Tray.ai helps:** The GraphQL Client sends one request per step, so loop over the API's page cursor in the workflow to collect the rest.

## Learn more

- Intelligent Integration: https://tray.ai/platform/intelligent-ipaas/
- Merlin Agent Builder: https://tray.ai/platform/merlin-agent-builder/
- Agent Gateway for MCP: https://tray.ai/platform/agent-gateway/
- Book a demo: https://tray.ai/contact/
