{"sourceDefinitionId": "79c1aa37-dae3-42ae-b333-d1c105477715", "name": "Zendesk Support", "dockerRepository": "airbyte/source-zendesk-support", "dockerImageTag": "5.0.2-preview.c19f94e", "documentationUrl": "https://docs.airbyte.com/integrations/sources/zendesk-support", "icon": "zendesk-support.svg", "iconUrl": "https://connectors.airbyte.com/files/metadata/airbyte/source-zendesk-support/latest/icon.svg", "sourceType": "api", "spec": {"connectionSpecification": {"$schema": "http://json-schema.org/draft-07/schema#", "title": "Source Zendesk Support Spec", "type": "object", "required": ["subdomain"], "additionalProperties": true, "properties": {"start_date": {"type": "string", "title": "Start Date", "description": "The UTC date and time from which you'd like to replicate data, in the format YYYY-MM-DDT00:00:00Z. All data generated after this date will be replicated.", "examples": ["2020-10-15T00:00:00Z"], "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}Z$", "pattern_descriptor": "YYYY-MM-DDTHH:mm:ssZ", "format": "date-time", "order": 2}, "subdomain": {"type": "string", "title": "Subdomain", "description": "This is your unique Zendesk subdomain that can be found in your account URL. For example, in https://MY_SUBDOMAIN.zendesk.com/, MY_SUBDOMAIN is the value of your subdomain.", "order": 0}, "credentials": {"title": "Authentication", "type": "object", "description": "Zendesk allows three authentication methods. We recommend using `OAuth2.0 with Refresh Token` for Airbyte Cloud users (recommended), `OAuth2.0 (Legacy)` for existing OAuth connections, and `API token` for Airbyte Open Source users.", "order": 1, "oneOf": [{"title": "OAuth2.0 with Refresh Token", "type": "object", "required": ["client_id", "client_secret", "refresh_token"], "additionalProperties": true, "properties": {"credentials": {"type": "string", "const": "oauth2_refresh", "order": 0}, "client_id": {"type": "string", "title": "Client ID", "description": "The OAuth client's ID. See Zendesk OAuth grant-type tokens documentation for more information.", "airbyte_secret": true}, "client_secret": {"type": "string", "title": "Client Secret", "description": "The OAuth client secret. See Zendesk OAuth grant-type tokens documentation for more information.", "airbyte_secret": true}, "access_token": {"type": "string", "title": "Access Token", "description": "Access Token for making authenticated requests.", "airbyte_secret": true}, "token_expiry_date": {"type": "string", "title": "Token Expiry Date", "description": "The date-time when the access token should be refreshed.", "format": "date-time"}, "refresh_token": {"type": "string", "title": "Refresh Token", "description": "The refresh token used to obtain new access tokens. Note that Zendesk uses rotating refresh tokens - each refresh will return a new refresh token and invalidate the previous one.", "airbyte_secret": true}}}, {"title": "API Token", "type": "object", "required": ["email", "api_token"], "additionalProperties": true, "properties": {"credentials": {"type": "string", "const": "api_token", "order": 0}, "email": {"title": "Email", "type": "string", "description": "The user email for your Zendesk account."}, "api_token": {"title": "API Token", "type": "string", "description": "The value of the API token generated. See our full documentation for more information on generating this token.", "airbyte_secret": true}}}, {"title": "OAuth2.0 (Legacy)", "type": "object", "required": ["access_token"], "additionalProperties": true, "properties": {"credentials": {"type": "string", "const": "oauth2.0", "order": 0}, "access_token": {"type": "string", "title": "Access Token", "description": "The OAuth access token. See the Zendesk docs for more information on generating this token.", "airbyte_secret": true}, "client_id": {"type": "string", "title": "Client ID", "description": "The OAuth client's ID. See this guide for more information.", "airbyte_secret": true}, "client_secret": {"type": "string", "title": "Client Secret", "description": "The OAuth client secret. See this guide for more information.", "airbyte_secret": true}}}]}, "ignore_pagination": {"type": "boolean", "default": false, "description": "[Deprecated] Makes each stream read a single page of data.", "title": "[Deprecated] Should the connector read the second and further pages of data.", "airbyte_hidden": true}, "num_workers": {"type": "integer", "title": "Number of concurrent workers", "minimum": 1, "maximum": 40, "default": 3, "examples": [1, 2, 3], "description": "The number of worker threads to use for the sync. The performance upper boundary is based on the limit of your Zendesk Support plan. More info about the rate limit plan tiers can be found on Zendesk's API docs.", "order": 3}}}, "supportsNormalization": false, "supportsDBT": false, "advanced_auth": {"auth_flow_type": "oauth2.0", "predicate_key": ["credentials", "credentials"], "predicate_value": "oauth2_refresh", "oauth_config_specification": {"oauth_user_input_from_connector_config_specification": {"type": "object", "additionalProperties": false, "properties": {"subdomain": {"type": "string", "path_in_connector_config": ["subdomain"]}}}, "oauth_connector_input_specification": {"consent_url": "https://{{subdomain}}.zendesk.com/oauth/authorizations/new?response_type=code&{{client_id_param}}&{{redirect_uri_param}}&{{scope_param}}&{{state_param}}", "access_token_url": "https://{{subdomain}}.zendesk.com/oauth/tokens?grant_type=authorization_code&{{auth_code_param}}&{{client_id_param}}&{{client_secret_param}}&{{redirect_uri_param}}&{{scope_param}}", "scope": "read", "extract_output": ["access_token", "refresh_token"]}, "complete_oauth_output_specification": {"type": "object", "properties": {"access_token": {"type": "string", "path_in_connector_config": ["credentials", "access_token"]}, "refresh_token": {"type": "string", "path_in_connector_config": ["credentials", "refresh_token"]}}}, "complete_oauth_server_input_specification": {"type": "object", "additionalProperties": false, "properties": {"client_id": {"type": "string"}, "client_secret": {"type": "string"}}}, "complete_oauth_server_output_specification": {"type": "object", "additionalProperties": false, "properties": {"client_id": {"type": "string", "path_in_connector_config": ["credentials", "client_id"]}, "client_secret": {"type": "string", "path_in_connector_config": ["credentials", "client_secret"]}}}}}}, "tombstone": false, "public": true, "custom": false, "releaseStage": "generally_available", "supportLevel": "certified", "allowedHosts": {"hosts": ["${subdomain}.zendesk.com", "zendesk.com"]}, "suggestedStreams": {"streams": ["brands", "groups", "organizations", "satisfaction_ratings", "tags", "ticket_audits", "ticket_comments", "ticket_fields", "ticket_forms", "ticket_metric_events", "ticket_metrics", "tickets", "users"]}, "maxSecondsBetweenMessages": 60, "releases": {"rolloutConfiguration": {"enableProgressiveRollout": false, "initialPercentage": 0, "maxPercentage": 50, "advanceDelayMinutes": 10}, "breakingChanges": {"1.0.0": {"upgradeDeadline": "2023-07-19", "message": "`cursor_field` for `Tickets` stream is changed to `generated_timestamp`", "migrationDocumentationUrl": "https://docs.airbyte.com/integrations/sources/zendesk-support-migrations#1.0.0"}, "2.0.0": {"upgradeDeadline": "2023-10-04", "message": "The `Deleted Tickets` stream was removed. Deleted tickets are still available from the Tickets stream.", "migrationDocumentationUrl": "https://docs.airbyte.com/integrations/sources/zendesk-support-migrations#2.0.0"}, "3.0.0": {"upgradeDeadline": "2024-09-09", "message": "This version includes breaking changes to the `TicketsMetric` stream. The cursor field has been updated to `generated_timestamp`. It is necessary to refresh the data and schema for the affected stream. Please see the migration guide for additional details.", "migrationDocumentationUrl": "https://docs.airbyte.com/integrations/sources/zendesk-support-migrations#3.0.0", "scopedImpact": [{"scopeType": "stream", "impactedScopes": ["ticket_metrics"]}]}, "4.0.0": {"upgradeDeadline": "2024-09-09", "message": "This version includes breaking changes to the `Tags` stream. The pagination strategy has been changed from `Offset` to `Cursor-Based`. It is necessary to reset the stream. Please see the migration guide for additional details.", "migrationDocumentationUrl": "https://docs.airbyte.com/integrations/sources/zendesk-support-migrations#4.0.0", "scopedImpact": [{"scopeType": "stream", "impactedScopes": ["tags"]}]}, "5.0.0": {"upgradeDeadline": "2026-01-31", "message": "This version adds OAuth2.0 with refresh token support. Users who authenticate via OAuth must re-authenticate to use the new flow with rotating refresh tokens.", "migrationDocumentationUrl": "https://docs.airbyte.com/integrations/sources/zendesk-support-migrations#5.0.0"}}, "migrationDocumentationUrl": "https://docs.airbyte.com/integrations/sources/zendesk-support-migrations"}, "ab_internal": {"sl": 300, "ql": 400, "isEnterprise": false, "requireVersionIncrementsInPullRequests": true}, "generated": {"git": {"commit_sha": "c19f94e80137900c7717e92da19ab1ec68f960f8", "commit_timestamp": "2026-01-27T14:11:43+00:00", "commit_author": "Devin AI", "commit_author_email": "158243242+devin-ai-integration[bot]@users.noreply.github.com"}, "source_file_info": {"metadata_file_path": "metadata/airbyte/source-zendesk-support/5.0.2-preview.c19f94e/metadata.yaml", "metadata_bucket_name": "prod-airbyte-cloud-connector-metadata-service", "metadata_last_modified": "2026-01-27T14:22:44.010000+00:00", "registry_entry_generated_at": "2026-01-27T14:23:47.899770"}, "sbomUrl": "https://connectors.airbyte.com/files/sbom/airbyte/source-zendesk-support/5.0.2-preview.c19f94e.spdx.json"}, "packageInfo": {}, "language": "manifest-only", "supportsFileTransfer": true, "supportsDataActivation": false, "githubIssueLabel": "source-zendesk-support", "connectorTestSuitesOptions": [{"suite": "liveTests", "testConnections": [{"id": "0c87dd87-c04e-4fed-a86a-fa4b6acdfef6", "name": "zendesk-support_config_dev_null"}, {"id": "36dad615-075b-46ed-8191-6436ca0abc29", "name": "zendesk-support_config_ticket_metrics_dev_null"}, {"id": "3fef7ac6-3265-457d-9d18-cb0906ba6dde", "name": "zendesk-support_config_oauth_dev_null"}]}, {"suite": "unitTests"}, {"suite": "acceptanceTests", "testSecrets": [{"fileName": "config_oauth.json", "name": "SECRET_SOURCE-ZENDESK-SUPPORT_OAUTH_CRED", "secretStore": {"alias": "airbyte-connector-testing-secret-store", "type": "GSM"}}, {"fileName": "config.json", "name": "SECRET_SOURCE-ZENDESK-SUPPORT_TOKEN_CRED", "secretStore": {"alias": "airbyte-connector-testing-secret-store", "type": "GSM"}}, {"fileName": "config_oauth.json", "name": "SECRET_ZENDESK_SUPPORT_OAUTH_CREDS", "secretStore": {"alias": "airbyte-connector-testing-secret-store", "type": "GSM"}}]}], "externalDocumentationUrls": [{"title": "Zendesk Support API", "type": "api_reference", "url": "https://developer.zendesk.com/api-reference/ticketing/introduction/"}, {"title": "API Changelog", "type": "api_release_history", "url": "https://developer.zendesk.com/api-reference/changelog/changelog/"}, {"title": "Zendesk API changelog", "type": "api_release_history", "url": "https://developer.zendesk.com/api-reference/ticketing/introduction/#changes"}, {"title": "Zendesk authentication", "type": "authentication_guide", "url": "https://developer.zendesk.com/api-reference/ticketing/introduction/#security-and-authentication"}, {"title": "Zendesk rate limits", "type": "rate_limits", "url": "https://developer.zendesk.com/api-reference/ticketing/account-configuration/usage_limits/"}, {"title": "Zendesk Status", "type": "status_page", "url": "https://status.zendesk.com/"}], "connectorBuildOptions": {"baseImage": "docker.io/airbyte/source-declarative-manifest:7.6.5.post3.dev21398747886@sha256:a9cc53368a213c1ca3ffb12c5325aad36613e27326fb6935fe6ea95a3359bf73"}, "tags": ["cdk:low-code", "language:manifest-only"], "remoteRegistries": {"pypi": {"enabled": false, "packageName": "airbyte-source-zendesk-support"}}, "license": "ELv2"}