Skip to content

🐛 Source Gong: extensiveCalls, answeredScorecards, and callTranscripts incremental sync fetches all records on every sync #74090

@humungasaurus

Description

Summary

Three POST-based streams in source-gong claim to support incremental sync but fetch all records on every sync due to bugs in how fromDateTime is injected into requests.

Affected streams

1. extensiveCalls

Two bugs cause the cursor to never advance:

  1. start_time_option injects into request_parameter — but the endpoint (/calls/extensive) is a POST request. Gong ignores query parameters on POST endpoints, so the cursor value computed by DatetimeBasedCursor is silently discarded.
  2. request_body_json.filter.fromDateTime is hardcoded to config['start_date'] — this means every sync always filters from the user-configured start date, never from the cursor state.

2. answeredScorecards

The requester still has a stale request_parameters.fromDateTime: "{{ config['start_date'] }}". Since this is a POST endpoint (/stats/activity/scorecards), Gong ignores query params. The incremental cursor already correctly injects into body_json via start_time_option, so this static query param is dead code and a potential conflict.

3. callTranscripts

The stream has request_body_json.filter.fromDateTime hardcoded to config['start_date'] but no incremental_sync block at all. Every sync fetches all transcripts from the original start date.

Expected behavior

  • extensiveCalls: start_time_option should inject into body_json with field_path: [filter, fromDateTime], and the hardcoded filter should be removed so the cursor value advances between syncs.
  • answeredScorecards: The stale request_parameters.fromDateTime should be removed.
  • callTranscripts: The hardcoded filter should be removed and an incremental_sync block with DatetimeBasedCursor should be added, using inject_into: body_json with field_path: [filter, fromDateTime].

Reference

PR #71344 fixed the same class of bug for answeredScorecards (switching inject_into from request_parameter to body_json), but the fixes for extensiveCalls and callTranscripts were missed, and a stale request_parameters entry was left behind on answeredScorecards.

Connector

  • Connector: source-gong
  • Version: 0.5.5

Internal Tracking: https://github.com/airbytehq/oncall/issues/11470

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions