GraphQL Request

Executes GraphQL queries and mutations against any GraphQL endpoint, supporting Basic, Bearer, or OAuth authentication and schema-driven templates generated from introspection.

Revision History

1.0.0.0 - Initial release.
1.0.1.1 - Fixed shared OAuthConnection lock handling.
1.0.1.2 - Changed template key format for AI system.
0.0.1.2 - Major version reset.
0.0.1.6 - Added generic OAuth designer methods and refreshed the published OAuth setup guidance.

Connection

The Connection stores the GraphQL endpoint, authentication settings, metadata used for templates, and the query used for connection testing.

Property Type Description
URL String Base URL of the GraphQL endpoint.
Authorization Enum Authentication mode: None, Basic, Bearer, or OAuth.
Username String Username used when Authorization is Basic.
Password Masked Password used when Authorization is Basic.
Bearer Token Masked Token used when Authorization is Bearer.
Auth URL String OAuth authorization endpoint used when Authorization is OAuth.
Token URL String OAuth token endpoint used when Authorization is OAuth.
Client ID Masked OAuth client identifier used when Authorization is OAuth.
Secret Key Masked OAuth client secret used when Authorization is OAuth.
Scope String OAuth scopes requested during authentication.
Access Token Masked OAuth access token populated after you connect the account.
Refresh Token Masked OAuth refresh token populated when the provider returns one.
Custom Headers String Additional headers in Key: Value format, one per line.
Authentication Test Path String Shared HTTP test property included on the Connection. The GraphQL Connection test uses Authentication Test Query instead.
Authentication Test HTTP Method Enum Shared HTTP test property included on the Connection. The GraphQL Connection test uses Authentication Test Query instead.
Authentication Test Query String Lightweight GraphQL query executed by the Connection test action.
Schema String Cached introspection schema populated by the Acquire Metadata Connection action.
Maximum Object Depth Integer Depth limit used when building sample templates from the schema.

Setup Notes

  • Obtain the GraphQL endpoint URL and confirm that schema introspection is available.
  • Choose an authentication mode supported by the endpoint. When you use OAuth, provide Auth URL, Token URL, Client ID, Secret Key, and any required Scope, then complete the account authorization step so the Connection can store Access Token and Refresh Token.
  • Add any required custom headers to Custom Headers in Key: Value format, one per line.
  • Do not include an Authorization header in Custom Headers when Authorization is set to Basic, Bearer, or OAuth.
  • Provide an Authentication Test Query that can run safely during connection testing.
  • Click Acquire Metadata on the Connection to run the standard GraphQL introspection query and cache the schema used for templates.
  • Increase Maximum Object Depth when the generated templates are too shallow for your schema.

Methods

The Node exposes one method for queries and one for mutations. Both methods validate the GraphQL document against the cached schema before sending the request.

Query

Executes a GraphQL query document.

Parameter Type Description
Connection Connection Connection containing the endpoint, authentication settings, and cached schema.
Query String GraphQL query document to execute.
Body Object Optional stream of variable objects. If omitted, the query runs once with no variables.
Return Type Description
Response Object GraphQL response object emitted for each execution.

Mutation

Executes a GraphQL mutation document.

Parameter Type Description
Connection Connection Connection containing the endpoint, authentication settings, and cached schema.
Query String GraphQL mutation document to execute.
Body Object Optional stream of variable objects. If omitted, the mutation runs once with no variables.
Return Type Description
Response Object GraphQL response object emitted for each execution.

Usage Notes

  • Refresh the cached Schema whenever the upstream GraphQL contract changes, otherwise validation and templates may drift from the live endpoint.
  • If the Body stream contains multiple items, the Node executes the same query or mutation once per item.
  • If the Body stream is empty, the Node still executes once with no variables.
  • GraphQL application errors are returned in the errors array of the Response object. Transport and authentication failures still raise errors.

Known Issues

  • Introspection must be enabled on the endpoint to acquire metadata and generate templates.
  • OAuth support assumes a standard authorization-code bearer-token flow and does not support PKCE-only public-client providers.