feat(source-gong): migrate OAuth scope to scopes object array#75195
feat(source-gong): migrate OAuth scope to scopes object array#75195Serhii Lazebnyi (lazebnyi) merged 5 commits intomasterfrom
Conversation
👋 Greetings, Airbyte Team Member!Here are some helpful tips and reminders for your convenience. 💡 Show Tips and TricksPR Slash CommandsAirbyte Maintainers (that's you!) can execute the following slash commands on your PR:
📚 Show Repo GuidanceHelpful Resources
|
|
|
|
Co-Authored-By: aldo.gonzalez@airbyte.io <aldo.gonzalez@airbyte.io>
Co-Authored-By: aldo.gonzalez@airbyte.io <aldo.gonzalez@airbyte.io>
f8e8aca to
7d6890d
Compare
|
Deploy preview for airbyte-docs ready! ✅ Preview Built with commit 181ef57. |
|
/publish-connectors-prerelease
|
|
/publish-connectors-prerelease
|
|
/publish-connectors-prerelease
|
Summary
Migrates source-gong OAuth configuration from single
scopestring to structuredscopesarray format with object shape{scope: "value"}, as part of the granular OAuth scopes initiative.Changes
scopestring toscopesarray with individual scope objectsRelated: https://github.com/airbytehq/airbyte-internal-issues/issues/16023
Updates since last revision
{{scopes_value | urlEncode}}→{{scopes_param}}. Thescopes_valuevariable was resolving to empty, causing the consent URL to havescope=with no scopes. The{{scopes_param}}pattern (which renders the fullscope=...key-value pair) is the proven approach used by merged PRs (Monday #74325, Zendesk Chat #74324).0.6.2-preview.f8e8acais pinned to workspace4e9f2be7-cb15-4f46-850f-bd48a24e9217for testing.Review & Testing Checklist for Human
scope=api%3Acalls%3Aread%3Abasic+api%3Acalls%3Aread%3Aextensive+api%3Ausers%3Aread+api%3Astats%3Ascorecards+api%3Astats%3Ainteraction(space-separated, URL-encoded). The previous pre-release (0.6.1) hadscope=empty.complete_oauthsucceeds: Gong uses Basic auth (Authorization: Basic base64(client_id:client_secret)) for token exchange, which differs from the standardclient_id/client_secretbody params. Confirm the full flow works end-to-end — consent → callback → token exchange →access_token+refresh_tokenreturned.api:calls:read:basic,api:calls:read:extensive,api:users:read,api:stats:scorecards,api:stats:interaction) should match the production Gong OAuth configuration. Missing or extra scopes could break customer syncs after migration.Notes
oauth_connector_input_specification). The originalscopestring andscope_valuetemplate worked on production. The migration toscopesarray required switching toscopes_paramrather thanscopes_valuefor correct template resolution.scopes_join_strategyis space-separated, which matches Gong's requirements (no explicitscopes_join_strategyneeded).access_token_headersalready included Basic auth andContent-Type: application/x-www-form-urlencodedfrom the original manifest, so noaccess_token_params/access_token_headersfix was needed (unlike Slack/Salesforce/GitHub).Link to Devin session: https://app.devin.ai/sessions/468831f741e1478095a6e30ccfd369b0
Requested by: Aldo Gonzalez (@aldogonzalez8)