GraphQL Node

Execute GraphQL queries and mutations against any GraphQL API

Written By pvdyck

Last updated About 5 hours ago

GraphQL Node

The GraphQL node sends queries and mutations to any GraphQL endpoint, providing a structured alternative to REST API calls via the HTTP Request node.

Parameters

ParameterDescription
AuthenticationAuth method for the endpoint. Supports credentials configured in Secure Vault
HTTP Request MethodHTTP method to use: GET or POST (default: POST)
EndpointThe GraphQL API URL (e.g., https://api.example.com/graphql)
QueryThe GraphQL query or mutation string
VariablesJSON object of variables to pass to the query (for parameterized queries)
Response FormatHow to parse the response: JSON (default) or String
Ignore SSL IssuesWhen enabled, accepts self-signed or invalid SSL certificates

Headers

Add custom HTTP headers as key-value pairs. Useful for passing API keys, content types, or other required headers.

Example Query

query GetUser($id: ID!) {  user(id: $id) {    name    email    createdAt  }}

With variables: {"id": "123"}

Example Mutation

mutation CreatePost($input: PostInput!) {  createPost(input: $input) {    id    title  }}

With variables: {"input": {"title": "Hello", "body": "World"}}

Tips

  • Use Variables for parameterized queries instead of string interpolation -- cleaner and safer
  • Set Content-Type: application/json in headers if the endpoint requires it (most do by default)
  • Use expressions in the Variables field to pass dynamic data: {{ JSON.stringify({ id: $json.userId }) }}
  • For authenticated endpoints, configure credentials in Secure Vault and set the Authentication parameter

Limitations

  • Subscriptions not supported -- Real-time WebSocket-based GraphQL subscriptions cannot be used
  • File uploads not supported -- GraphQL multipart uploads are not available
  • Same timeout as HTTP Request -- Subject to the 10-second timeout limit on indie.money
  • For simple REST calls, the HTTP Request Node may be simpler

Related