Use this article to configure a GraphQL export in integrator.io — including the HTTP method, query, variables, paging, and advanced settings. GraphQL is a query language for APIs that lets you request only the fields you need, reducing response size compared to REST API calls.
Additional resources: GraphQL documentation
Before you begin, confirm the following:
-
You have a working GraphQL connection. See Set up a GraphQL connection for setup steps.
Important
To create a GraphQL export, you need a working GraphQL connection.
Start creating an export to your application using GraphQL in either of the following ways:
-
From the Build menu, select Flow builder. Then, select Add source.
-
From the Resources menu, select Exports. Then, select + Create export.
From the Application drop-down menu, select GraphQL and your available GraphQL connection.
|
Field |
Description |
Accepted values |
Required |
|---|---|---|---|
|
HTTP method |
Determines how you're sending and receiving data from your application. If POST is used, the HTTP request body typically contains filtering or selection criteria, which you can provide in the body field. Consult your application's API documentation to determine which method to use. |
|
Yes |
|
Query |
Defines the request the GraphQL server is processing. If you use the query shorthand syntax (omitting the operation type and name), you can't supply a name or variable definitions for your operation. You can build a query during a connection, export, or import — the query structure stays the same across all three. |
GraphQL query string |
Yes |
|
Operation name |
A meaningful name for your operation, required only if your query contains two or more operations (a request can only execute one operation at a time). Useful for debugging and server-side logging — it's easier to identify a named query in your logs than to decipher its contents. |
Any string |
Only if query has 2+ operations |
|
Variables |
Defines the JSON variables used in your query. For example, for |
JSON object |
No |
Note
Use single quotes for string arguments inside the Variables field when using Handlebars functions (such as dateFormat or if) . GraphQL variables are converted to JSON before being sent, so double quotes inside Handlebars functions break the JSON structure and cause a parsing failure. This requirement applies specifically to the Variables field. If parsing fails, the resource will return an error in the flow run history.
Fails to parse:
{
"query": "updated_at:>='{{dateFormat \"YYYY-MM-DDTHH:mm:ss[Z]\" lastExportDateTime \"YYYY-MM-DDTHH:mm:ss.SSS[Z]\"}}'"
}
Parses correctly:
{
"query": "updated_at:>='{{dateFormat 'YYYY-MM-DDTHH:mm:ss[Z]' lastExportDateTime 'YYYY-MM-DDTHH:mm:ss.SSS[Z]'}}'"
}
|
Value |
Description |
|---|---|
|
All |
Exports all records every time the export runs. |
|
Delta |
Exports only records that have been modified since the last run. |
|
Once |
Exports all records one time only. |
|
Limit |
Exports a set number of records as a test. Default: |
|
Tab |
Description |
|---|---|
|
Preview |
Runs the export against your live connection. Select Send to execute the request and view results. |
|
Mock output |
Lets you define a sample response manually, without making a live API call. Use this to test downstream mapping when live data isn't available. See Provide mock output data for exports and lookups for details. |
Results from the Preview tab are displayed across three sub-tabs:
|
Sub-tab |
Description |
|---|---|
|
Request |
Shows the constructed HTTP request sent to the source application, including headers and query body. |
|
Response |
Shows the raw HTTP response returned from the source application. |
|
Parsed output |
Shows the records extracted from the response, as integrator.io will pass them to the next flow step. |
Some APIs may have response patterns that are unusual when compared to most APIs. Use the settings below to accommodate outlying response codes.
|
Field |
Description |
|---|---|
|
Path to records in HTTP response body |
Specifies where integrator.io should look for the resource (or set of resources) in the API response. Leave blank if resources are at the root. If the response has a nested structure, enter the path using dot notation (e.g., |
|
Path to error field in HTTP response body |
Set this only if the API always returns a successful HTTP status code but uses a response body field to indicate failure — for example, returning |
|
Error values |
Limits which values in the error field are treated as failures. To provide multiple values, use a comma-separated list. |
|
Path to success field in HTTP response body |
Set this only if the API always returns a successful HTTP status code but uses a response body field to indicate success — for example, returning |
|
Success values |
Limits which values in the success field are treated as successful responses. To provide multiple values, use a comma-separated list. |
|
Path to detailed error message field in HTTP response body |
Specifies which field in the response body contains the detailed error message shown in the error management dashboard. If left blank, integrator.io uses the full HTTP response body as the error message. |
|
Field |
Description |
|---|---|
|
Configure async helper |
If data is exported asynchronously, select this checkbox to configure the async helper. |
|
Page size |
The number of records per page when integrator.io sends export data to an import queue. Default: |
|
Data URI template |
When your flow runs with data errors, this setting lets you verify that all errors have a link to the original data in the export application. Enter a Handlebars template to generate dynamic links based on the exported data. For example: |
|
Do not store retry data |
Select this checkbox if you don't want integrator.io to store the data associated with errors for this export. |
|
Override trace key template |
Defines a trace key to identify a unique record. Enter a single field such as |