Skip to main content

GraphQL Source Connector

The GraphQL source connector in DataSync lets you retrieve data from GraphQL for loading or synchronizing in your data warehouse. After creating all required source connections, configure your destination source to complete the connection setup.

Create a source connection in DataSync

  1. Log in to DataSync.
  2. From the welcome screen, select Connections.
  3. Next to Source Connections, click New.
  4. Select GraphQL.
  5. In the Connection Properties panel, enter the connection properties.
  6. (Optional) In the Additional Connection Properties panel, select Add property and enter the parameters for each property.
  7. In the Advanced Settings panel, configure the settings, including the Tracking Type and other values according to your requirements.
  8. Click Save.

Parameters

Connection properties

ParameterDescription
DescriptionUnique name for the connection. Example: GraphQL
URLAddress of the GraphQL API endpoint. This must represent the specific GraphQL service endpoint, which may differ from the base API URL. The value is validated when you create the connection.
Example: https://api.example.com/graphql
Authenticatioon ModeAuthentication scheme used to access the API. Selection determines additional connection string options and how they appear in the configuration:

  • OAuth2 – Authenticate using the OAuth 2.0 flow.
  • OAuthPKCE – Authenticate using the OAuth PKCE flow.
  • Basic – Authenticate using username and password.
  • NoAuth – Connect without authentication.
UsernameAccount username with required API permissions. Example: User123
PasswordPassword for the specified username. Example: P@ssw0rd!
Callback URLRedirect URL assigned automatically by DataSync. Some APIs require you to add this value to an authorized list of callback URLs in application settings or the configuration portal.
Client IDApplication identifier assigned during registration. Found in your application settings or configuration portal. Example: client-id-987654
Client SecretConfidential value known only to the client and authorization server. Available in your application settings or configuration portal. Example: mySuperSecretValue
Authorization URLURL that starts the authorization process. Available in the API documentation.
Example: https://auth.example.com/oauth2/authorize
Access Token URLURL used to exchange an authorization code for an access token. Available in the API documentation. Example: https://auth.example.com/oauth2/token
Refresh Token URLURL used to exchange a refresh token for a new access token. Available in the API documentation. Example: https://auth.example.com/oauth2/refresh
ScopeAccess permissions requested during connection. Verify access rights with your configuration portal. Example: read:users write:projects
Convert all dates and times to GMTConversion setting for all date and time values from the API to GMT.
Page sizeMaximum results to return per page when client-side paging is enabled. Larger values return more rows per page but may cause timeouts.
Enable PoolingConnection pooling option for performance.
Pool idle timeoutMaximum idle time for connections before returning them to the pool, in seconds.
Max Pool SizeMaximum number of connections allowed in the pool.
Pool wait timeMaximum wait time for connection allocation before error is thrown, in seconds.
Verbosity
  • 1 – Log queries, row counts, execution start/end, errors.
  • 2 – Includes level 1 plus cache queries, HTTP headers.
  • 3 – Includes level 2 plus request/response bodies.
  • 4 – Includes level 3 plus transport-level communication.
  • 5 – Includes level 4 plus all interface commands.
TimeoutTime in seconds to wait for connection opening and query execution before timeout.

Additional connection properties

Additional connection string properties not specified in the Connection Properties panel. For each property added, you can choose Visible or Encrypted. Selecting Encrypted hides the value from the interface and stores it encrypted in the back end, such as when defining passwords.

PropertyValue
HTTPHeadersCustom HTTP headers required by the API. Add a separate line for each header to include in API requests.
Example: Authorization: Bearer <token>
ExpandTablesDepthDepth setting for expanding nested lists during table discovery. Match the value to the nesting level needed for your GraphQL data model. Controls how many levels of nested lists are included:

  • 0 – No expansion of inner list objects to tables.
  • 1 – Expand list objects at the same level in the object definition; does not expand nested lists.
  • n – Expand lists to the specified nesting depth.

Advanced settings

Advanced settings control how the GraphQL connector tracks changes, handles regional and time configuration, and processes data batches during extraction. These options allow fine‑tuning for performance and accuracy, and should be configured according to your system environment and operational requirements.

SettingDescription
Tracking TypeMethod for tracking changes: None or Date.
RegionRegion setting for the connector, if required by your setup.
Time ZoneTime zone matching the GraphQL application server.
Time OffsetRefresh offset in seconds to compensate for timing issues in record selection. Minimum value is 0; maximum is 3600 seconds.
Batch SizeQuantity of records processed in each batch during extraction. Larger batch sizes increase memory usage but can improve performance up to a point. The default value is 2000 and the maximum should not exceed 10000 records. Adjust according to your network speed and disk performance; in most cases the default (2000) works best.

Example