Skip to content

fix(source-salesloft): use native OAuth authenticator so token refresh works - #84300

Open
devin-ai-integration[bot] wants to merge 2 commits into
masterfrom
devin/1786545486-salesloft-native-oauth
Open

fix(source-salesloft): use native OAuth authenticator so token refresh works#84300
devin-ai-integration[bot] wants to merge 2 commits into
masterfrom
devin/1786545486-salesloft-native-oauth

docs(source-salesloft): link changelog entry to PR

a3ff3d8
Select commit
Loading
Failed to load commit list.
Sign in for the full log view
GitHub Actions / `source-salesloft` Connector Test Results failed Aug 12, 2026 in 0s

4 fail, 3 skipped, 9 pass in 1m 4s

16 tests   9 ✅  1m 4s ⏱️
 2 suites  3 💤
 2 files    4 ❌

Results for commit a3ff3d8.

Annotations

Check warning on line 0 in .tmp.integration_tests.test_airbyte_standards.TestSuite

See this annotation in the file changed.

@github-actions github-actions / `source-salesloft` Connector Test Results

test_docker_image_build_and_spec (.tmp.integration_tests.test_airbyte_standards.TestSuite) failed

airbyte-integrations/connectors/source-salesloft/build/test-results/standard-tests-junit.xml [took 13s]
Raw output
SystemExit: 1
self = <airbyte_cdk.test.standard_tests.util.TestSuiteAuto object at 0x7f5ee19a6150>
connector_image_override = None, connector_base_image_override = None

    @pytest.mark.skipif(
        shutil.which("docker") is None,
        reason="docker CLI not found in PATH, skipping docker image tests",
    )
    @pytest.mark.image_tests
    def test_docker_image_build_and_spec(
        self,
        connector_image_override: str | None,
        connector_base_image_override: str | None,
    ) -> None:
        """Run `docker_image` acceptance tests."""
        connector_root = self.get_connector_root_dir().absolute()
        metadata = MetadataFile.from_file(connector_root / "metadata.yaml")
    
        connector_image: str | None = connector_image_override
        if not connector_image:
            tag = "dev-latest"
>           connector_image = build_connector_image(
                connector_name=connector_root.absolute().name,
                connector_directory=connector_root,
                metadata=metadata,
                tag=tag,
                no_verify=False,
                base_image_override=connector_base_image_override,
            )

/home/runner/.local/share/uv/tools/airbyte-cdk/lib/python3.11/site-packages/airbyte_cdk/test/standard_tests/docker_base.py:237: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

connector_name = 'source-salesloft'
connector_directory = PosixPath('/home/runner/work/airbyte/airbyte/airbyte-integrations/connectors/source-salesloft')

    def build_connector_image(
        connector_name: str,
        connector_directory: Path,
        *,
        metadata: MetadataFile,
        tag: str,
        no_verify: bool = False,
        dockerfile_override: Path | None = None,
        base_image_override: str | None = None,
    ) -> str:
        """Build a connector Docker image.
    
        This command builds a Docker image for a connector, using either
        the connector's Dockerfile or a base image specified in the metadata.
        The image is built for both AMD64 and ARM64 architectures.
    
        Args:
            connector_name: The name of the connector.
            connector_directory: The directory containing the connector code.
            metadata: The metadata of the connector.
            tag: The tag to apply to the built image.
            no_verify: If True, skip verification of the built image.
            dockerfile_override: Optional path to a Dockerfile to use instead of the connector's default.
            base_image_override: Optional base image to build `FROM` instead of the `baseImage`
                declared in `metadata.yaml`. This lets CI build a connector on top of a
                locally-built `source-declarative-manifest` image (e.g. one built from the current
                branch) so the image tests exercise the branch's CDK rather than the published base
                image's CDK. The image must be visible to the default buildx builder: locally-built
                images are only resolved by the default `docker` driver, not by `docker-container`
                builders (which would instead attempt to pull the image from the registry).
    
        Raises:
            ValueError: If the connector build options are not defined in metadata.yaml.
            ConnectorImageBuildError: If the image build or tag operation fails.
        """
        # Detect primary architecture based on the machine type.
        primary_arch: ArchEnum = (
            ArchEnum.ARM64
            if platform.machine().lower().startswith(("arm", "aarch"))
            else ArchEnum.AMD64
        )
        if not connector_name:
            raise ValueError("Connector name must be provided.")
        if not connector_directory:
            raise ValueError("Connector directory must be provided.")
        if not connector_directory.exists():
            raise ValueError(f"Connector directory does not exist: {connector_directory}")
    
        connector_kebab_name = connector_name
        connector_dockerfile_dir = connector_directory / "build" / "docker"
    
        if dockerfile_override:
            dockerfile_path = dockerfile_override
        else:
            dockerfile_path = connector_dockerfile_dir / "Dockerfile"
            dockerignore_path = connector_dockerfile_dir / "Dockerfile.dockerignore"
            try:
                dockerfile_text, dockerignore_text = get_dockerfile_templates(
                    metadata=metadata,
                    connector_directory=connector_directory,
                )
            except FileNotFoundError:
                # If the Dockerfile and .dockerignore are not found in the connector directory,
                # download the templates from the Airbyte repo. This is a fallback
                # in case the Airbyte repo not checked out locally.
                try:
                    dockerfile_text, dockerignore_text = _download_dockerfile_defs(
                        connector_language=metadata.data.language,
                    )
                except requests.HTTPError as e:
                    raise ConnectorImageBuildError(
                        build_args=[],
                        error_text=(
                            "Could not locate local dockerfile templates and "
                            f"failed to download Dockerfile templates from github: {e}"
                        ),
                    ) from e
    
            # ensure the directory exists
            connector_dockerfile_dir.mkdir(parents=True, exist_ok=True)
            dockerfile_path.write_text(dockerfile_text)
            dockerignore_path.write_text(dockerignore_text)
    
        extra_build_script: str = ""
        build_customization_path = connector_directory / "build_customization.py"
        if build_customization_path.exists():
            extra_build_script = str(build_customization_path)
    
        dockerfile_path.parent.mkdir(parents=True, exist_ok=True)
        if not metadata.data.connectorBuildOptions:
            raise ValueError(
                "Connector build options are not defined in metadata.yaml. "
                "Please check the connector's metadata file."
            )
    
        base_image = base_image_override or metadata.data.connectorBuildOptions.baseImage
        build_args: dict[str, str | None] = {
            "BASE_IMAGE": base_image,
            "CONNECTOR_NAME": connector_kebab_name,
            "EXTRA_BUILD_SCRIPT": extra_build_script,
        }
    
        base_tag = f"{metadata.data.dockerRepository}:{tag}"
    
        if metadata.data.language == ConnectorLanguage.JAVA:
            # This assumes that the repo root ('airbyte') is three levels above the
            # connector directory (airbyte/airbyte-integrations/connectors/source-foo).
            repo_root = connector_directory.parent.parent.parent
            # For Java connectors, we need to build the connector tar file first.
            subprocess.run(
                [
                    "./gradlew",
                    f":airbyte-integrations:connectors:{connector_name}:distTar",
                ],
                cwd=repo_root,
                text=True,
                check=True,
            )
    
        # Always build for AMD64, and optionally for ARM64 if needed locally.
        architectures = [ArchEnum.AMD64]
        if primary_arch == ArchEnum.ARM64:
            architectures += [ArchEnum.ARM64]
    
        built_images: list[str] = []
        for arch in architectures:
            docker_tag = f"{base_tag}-{arch.value}"
            docker_tag_parts = docker_tag.split("/")
            if len(docker_tag_parts) > 2:
                docker_tag = "/".join(docker_tag_parts[-1:])
            built_images.append(
                _build_image(
                    context_dir=connector_directory,
                    dockerfile=dockerfile_path,
                    metadata=metadata,
                    tag=docker_tag,
                    arch=arch,
                    build_args=build_args,
                )
            )
    
        _tag_image(
            tag=f"{base_tag}-{primary_arch.value}",
            new_tags=[base_tag],
        )
        if not no_verify:
            success, error_message = verify_connector_image(base_tag)
            if success:
                click.echo(f"Build and verification completed successfully: {base_tag}")
                return base_tag
    
            click.echo(
                f"Built image failed verification: {base_tag}\nError was:{error_message}", err=True
            )
>           sys.exit(1)
E           SystemExit: 1

/home/runner/.local/share/uv/tools/airbyte-cdk/lib/python3.11/site-packages/airbyte_cdk/utils/docker.py:299: SystemExit

Check warning on line 0 in .tmp.integration_tests.test_airbyte_standards.TestSuite

See this annotation in the file changed.

@github-actions github-actions / `source-salesloft` Connector Test Results

test_docker_image_build_and_check['invalid_config' Test Scenario] (.tmp.integration_tests.test_airbyte_standards.TestSuite) failed

airbyte-integrations/connectors/source-salesloft/build/test-results/standard-tests-junit.xml [took 0s]
Raw output
SystemExit: 1
self = <airbyte_cdk.test.standard_tests.util.TestSuiteAuto object at 0x7f5ee19a45d0>
scenario = ConnectorTestScenario(config_path=PosixPath('integration_tests/invalid_config.json'), config_dict=None, configured_catalog_path=None, empty_streams=None, timeout_seconds=None, expect_records=None, file_types=None, status='failed')
connector_image_override = None, connector_base_image_override = None

    @pytest.mark.skipif(
        shutil.which("docker") is None,
        reason="docker CLI not found in PATH, skipping docker image tests",
    )
    @pytest.mark.image_tests
    def test_docker_image_build_and_check(
        self,
        scenario: ConnectorTestScenario,
        connector_image_override: str | None,
        connector_base_image_override: str | None,
    ) -> None:
        """Run `docker_image` acceptance tests.
    
        This test builds the connector image and runs the `check` command inside the container.
    
        Note:
          - It is expected for docker image caches to be reused between test runs.
          - In the rare case that image caches need to be cleared, please clear
            the local docker image cache using `docker image prune -a` command.
        """
        tag = "dev-latest"
        connector_root = self.get_connector_root_dir()
        metadata = MetadataFile.from_file(connector_root / "metadata.yaml")
        connector_image: str | None = connector_image_override
        if not connector_image:
            tag = "dev-latest"
>           connector_image = build_connector_image(
                connector_name=connector_root.absolute().name,
                connector_directory=connector_root,
                metadata=metadata,
                tag=tag,
                no_verify=False,
                base_image_override=connector_base_image_override,
            )

/home/runner/.local/share/uv/tools/airbyte-cdk/lib/python3.11/site-packages/airbyte_cdk/test/standard_tests/docker_base.py:283: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

connector_name = 'source-salesloft', connector_directory = PosixPath('.')

    def build_connector_image(
        connector_name: str,
        connector_directory: Path,
        *,
        metadata: MetadataFile,
        tag: str,
        no_verify: bool = False,
        dockerfile_override: Path | None = None,
        base_image_override: str | None = None,
    ) -> str:
        """Build a connector Docker image.
    
        This command builds a Docker image for a connector, using either
        the connector's Dockerfile or a base image specified in the metadata.
        The image is built for both AMD64 and ARM64 architectures.
    
        Args:
            connector_name: The name of the connector.
            connector_directory: The directory containing the connector code.
            metadata: The metadata of the connector.
            tag: The tag to apply to the built image.
            no_verify: If True, skip verification of the built image.
            dockerfile_override: Optional path to a Dockerfile to use instead of the connector's default.
            base_image_override: Optional base image to build `FROM` instead of the `baseImage`
                declared in `metadata.yaml`. This lets CI build a connector on top of a
                locally-built `source-declarative-manifest` image (e.g. one built from the current
                branch) so the image tests exercise the branch's CDK rather than the published base
                image's CDK. The image must be visible to the default buildx builder: locally-built
                images are only resolved by the default `docker` driver, not by `docker-container`
                builders (which would instead attempt to pull the image from the registry).
    
        Raises:
            ValueError: If the connector build options are not defined in metadata.yaml.
            ConnectorImageBuildError: If the image build or tag operation fails.
        """
        # Detect primary architecture based on the machine type.
        primary_arch: ArchEnum = (
            ArchEnum.ARM64
            if platform.machine().lower().startswith(("arm", "aarch"))
            else ArchEnum.AMD64
        )
        if not connector_name:
            raise ValueError("Connector name must be provided.")
        if not connector_directory:
            raise ValueError("Connector directory must be provided.")
        if not connector_directory.exists():
            raise ValueError(f"Connector directory does not exist: {connector_directory}")
    
        connector_kebab_name = connector_name
        connector_dockerfile_dir = connector_directory / "build" / "docker"
    
        if dockerfile_override:
            dockerfile_path = dockerfile_override
        else:
            dockerfile_path = connector_dockerfile_dir / "Dockerfile"
            dockerignore_path = connector_dockerfile_dir / "Dockerfile.dockerignore"
            try:
                dockerfile_text, dockerignore_text = get_dockerfile_templates(
                    metadata=metadata,
                    connector_directory=connector_directory,
                )
            except FileNotFoundError:
                # If the Dockerfile and .dockerignore are not found in the connector directory,
                # download the templates from the Airbyte repo. This is a fallback
                # in case the Airbyte repo not checked out locally.
                try:
                    dockerfile_text, dockerignore_text = _download_dockerfile_defs(
                        connector_language=metadata.data.language,
                    )
                except requests.HTTPError as e:
                    raise ConnectorImageBuildError(
                        build_args=[],
                        error_text=(
                            "Could not locate local dockerfile templates and "
                            f"failed to download Dockerfile templates from github: {e}"
                        ),
                    ) from e
    
            # ensure the directory exists
            connector_dockerfile_dir.mkdir(parents=True, exist_ok=True)
            dockerfile_path.write_text(dockerfile_text)
            dockerignore_path.write_text(dockerignore_text)
    
        extra_build_script: str = ""
        build_customization_path = connector_directory / "build_customization.py"
        if build_customization_path.exists():
            extra_build_script = str(build_customization_path)
    
        dockerfile_path.parent.mkdir(parents=True, exist_ok=True)
        if not metadata.data.connectorBuildOptions:
            raise ValueError(
                "Connector build options are not defined in metadata.yaml. "
                "Please check the connector's metadata file."
            )
    
        base_image = base_image_override or metadata.data.connectorBuildOptions.baseImage
        build_args: dict[str, str | None] = {
            "BASE_IMAGE": base_image,
            "CONNECTOR_NAME": connector_kebab_name,
            "EXTRA_BUILD_SCRIPT": extra_build_script,
        }
    
        base_tag = f"{metadata.data.dockerRepository}:{tag}"
    
        if metadata.data.language == ConnectorLanguage.JAVA:
            # This assumes that the repo root ('airbyte') is three levels above the
            # connector directory (airbyte/airbyte-integrations/connectors/source-foo).
            repo_root = connector_directory.parent.parent.parent
            # For Java connectors, we need to build the connector tar file first.
            subprocess.run(
                [
                    "./gradlew",
                    f":airbyte-integrations:connectors:{connector_name}:distTar",
                ],
                cwd=repo_root,
                text=True,
                check=True,
            )
    
        # Always build for AMD64, and optionally for ARM64 if needed locally.
        architectures = [ArchEnum.AMD64]
        if primary_arch == ArchEnum.ARM64:
            architectures += [ArchEnum.ARM64]
    
        built_images: list[str] = []
        for arch in architectures:
            docker_tag = f"{base_tag}-{arch.value}"
            docker_tag_parts = docker_tag.split("/")
            if len(docker_tag_parts) > 2:
                docker_tag = "/".join(docker_tag_parts[-1:])
            built_images.append(
                _build_image(
                    context_dir=connector_directory,
                    dockerfile=dockerfile_path,
                    metadata=metadata,
                    tag=docker_tag,
                    arch=arch,
                    build_args=build_args,
                )
            )
    
        _tag_image(
            tag=f"{base_tag}-{primary_arch.value}",
            new_tags=[base_tag],
        )
        if not no_verify:
            success, error_message = verify_connector_image(base_tag)
            if success:
                click.echo(f"Build and verification completed successfully: {base_tag}")
                return base_tag
    
            click.echo(
                f"Built image failed verification: {base_tag}\nError was:{error_message}", err=True
            )
>           sys.exit(1)
E           SystemExit: 1

/home/runner/.local/share/uv/tools/airbyte-cdk/lib/python3.11/site-packages/airbyte_cdk/utils/docker.py:299: SystemExit

Check warning on line 0 in .tmp.integration_tests.test_airbyte_standards.TestSuite

See this annotation in the file changed.

@github-actions github-actions / `source-salesloft` Connector Test Results

test_docker_image_build_and_check['config' Test Scenario] (.tmp.integration_tests.test_airbyte_standards.TestSuite) failed

airbyte-integrations/connectors/source-salesloft/build/test-results/standard-tests-junit.xml [took 0s]
Raw output
SystemExit: 1
self = <airbyte_cdk.test.standard_tests.util.TestSuiteAuto object at 0x7f5ee19a4c90>
scenario = ConnectorTestScenario(config_path=PosixPath('secrets/config.json'), config_dict=None, configured_catalog_path=None, empty_streams=[], timeout_seconds=None, expect_records=None, file_types=None, status='succeed')
connector_image_override = None, connector_base_image_override = None

    @pytest.mark.skipif(
        shutil.which("docker") is None,
        reason="docker CLI not found in PATH, skipping docker image tests",
    )
    @pytest.mark.image_tests
    def test_docker_image_build_and_check(
        self,
        scenario: ConnectorTestScenario,
        connector_image_override: str | None,
        connector_base_image_override: str | None,
    ) -> None:
        """Run `docker_image` acceptance tests.
    
        This test builds the connector image and runs the `check` command inside the container.
    
        Note:
          - It is expected for docker image caches to be reused between test runs.
          - In the rare case that image caches need to be cleared, please clear
            the local docker image cache using `docker image prune -a` command.
        """
        tag = "dev-latest"
        connector_root = self.get_connector_root_dir()
        metadata = MetadataFile.from_file(connector_root / "metadata.yaml")
        connector_image: str | None = connector_image_override
        if not connector_image:
            tag = "dev-latest"
>           connector_image = build_connector_image(
                connector_name=connector_root.absolute().name,
                connector_directory=connector_root,
                metadata=metadata,
                tag=tag,
                no_verify=False,
                base_image_override=connector_base_image_override,
            )

/home/runner/.local/share/uv/tools/airbyte-cdk/lib/python3.11/site-packages/airbyte_cdk/test/standard_tests/docker_base.py:283: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

connector_name = 'source-salesloft', connector_directory = PosixPath('.')

    def build_connector_image(
        connector_name: str,
        connector_directory: Path,
        *,
        metadata: MetadataFile,
        tag: str,
        no_verify: bool = False,
        dockerfile_override: Path | None = None,
        base_image_override: str | None = None,
    ) -> str:
        """Build a connector Docker image.
    
        This command builds a Docker image for a connector, using either
        the connector's Dockerfile or a base image specified in the metadata.
        The image is built for both AMD64 and ARM64 architectures.
    
        Args:
            connector_name: The name of the connector.
            connector_directory: The directory containing the connector code.
            metadata: The metadata of the connector.
            tag: The tag to apply to the built image.
            no_verify: If True, skip verification of the built image.
            dockerfile_override: Optional path to a Dockerfile to use instead of the connector's default.
            base_image_override: Optional base image to build `FROM` instead of the `baseImage`
                declared in `metadata.yaml`. This lets CI build a connector on top of a
                locally-built `source-declarative-manifest` image (e.g. one built from the current
                branch) so the image tests exercise the branch's CDK rather than the published base
                image's CDK. The image must be visible to the default buildx builder: locally-built
                images are only resolved by the default `docker` driver, not by `docker-container`
                builders (which would instead attempt to pull the image from the registry).
    
        Raises:
            ValueError: If the connector build options are not defined in metadata.yaml.
            ConnectorImageBuildError: If the image build or tag operation fails.
        """
        # Detect primary architecture based on the machine type.
        primary_arch: ArchEnum = (
            ArchEnum.ARM64
            if platform.machine().lower().startswith(("arm", "aarch"))
            else ArchEnum.AMD64
        )
        if not connector_name:
            raise ValueError("Connector name must be provided.")
        if not connector_directory:
            raise ValueError("Connector directory must be provided.")
        if not connector_directory.exists():
            raise ValueError(f"Connector directory does not exist: {connector_directory}")
    
        connector_kebab_name = connector_name
        connector_dockerfile_dir = connector_directory / "build" / "docker"
    
        if dockerfile_override:
            dockerfile_path = dockerfile_override
        else:
            dockerfile_path = connector_dockerfile_dir / "Dockerfile"
            dockerignore_path = connector_dockerfile_dir / "Dockerfile.dockerignore"
            try:
                dockerfile_text, dockerignore_text = get_dockerfile_templates(
                    metadata=metadata,
                    connector_directory=connector_directory,
                )
            except FileNotFoundError:
                # If the Dockerfile and .dockerignore are not found in the connector directory,
                # download the templates from the Airbyte repo. This is a fallback
                # in case the Airbyte repo not checked out locally.
                try:
                    dockerfile_text, dockerignore_text = _download_dockerfile_defs(
                        connector_language=metadata.data.language,
                    )
                except requests.HTTPError as e:
                    raise ConnectorImageBuildError(
                        build_args=[],
                        error_text=(
                            "Could not locate local dockerfile templates and "
                            f"failed to download Dockerfile templates from github: {e}"
                        ),
                    ) from e
    
            # ensure the directory exists
            connector_dockerfile_dir.mkdir(parents=True, exist_ok=True)
            dockerfile_path.write_text(dockerfile_text)
            dockerignore_path.write_text(dockerignore_text)
    
        extra_build_script: str = ""
        build_customization_path = connector_directory / "build_customization.py"
        if build_customization_path.exists():
            extra_build_script = str(build_customization_path)
    
        dockerfile_path.parent.mkdir(parents=True, exist_ok=True)
        if not metadata.data.connectorBuildOptions:
            raise ValueError(
                "Connector build options are not defined in metadata.yaml. "
                "Please check the connector's metadata file."
            )
    
        base_image = base_image_override or metadata.data.connectorBuildOptions.baseImage
        build_args: dict[str, str | None] = {
            "BASE_IMAGE": base_image,
            "CONNECTOR_NAME": connector_kebab_name,
            "EXTRA_BUILD_SCRIPT": extra_build_script,
        }
    
        base_tag = f"{metadata.data.dockerRepository}:{tag}"
    
        if metadata.data.language == ConnectorLanguage.JAVA:
            # This assumes that the repo root ('airbyte') is three levels above the
            # connector directory (airbyte/airbyte-integrations/connectors/source-foo).
            repo_root = connector_directory.parent.parent.parent
            # For Java connectors, we need to build the connector tar file first.
            subprocess.run(
                [
                    "./gradlew",
                    f":airbyte-integrations:connectors:{connector_name}:distTar",
                ],
                cwd=repo_root,
                text=True,
                check=True,
            )
    
        # Always build for AMD64, and optionally for ARM64 if needed locally.
        architectures = [ArchEnum.AMD64]
        if primary_arch == ArchEnum.ARM64:
            architectures += [ArchEnum.ARM64]
    
        built_images: list[str] = []
        for arch in architectures:
            docker_tag = f"{base_tag}-{arch.value}"
            docker_tag_parts = docker_tag.split("/")
            if len(docker_tag_parts) > 2:
                docker_tag = "/".join(docker_tag_parts[-1:])
            built_images.append(
                _build_image(
                    context_dir=connector_directory,
                    dockerfile=dockerfile_path,
                    metadata=metadata,
                    tag=docker_tag,
                    arch=arch,
                    build_args=build_args,
                )
            )
    
        _tag_image(
            tag=f"{base_tag}-{primary_arch.value}",
            new_tags=[base_tag],
        )
        if not no_verify:
            success, error_message = verify_connector_image(base_tag)
            if success:
                click.echo(f"Build and verification completed successfully: {base_tag}")
                return base_tag
    
            click.echo(
                f"Built image failed verification: {base_tag}\nError was:{error_message}", err=True
            )
>           sys.exit(1)
E           SystemExit: 1

/home/runner/.local/share/uv/tools/airbyte-cdk/lib/python3.11/site-packages/airbyte_cdk/utils/docker.py:299: SystemExit

Check warning on line 0 in .tmp.integration_tests.test_airbyte_standards.TestSuite

See this annotation in the file changed.

@github-actions github-actions / `source-salesloft` Connector Test Results

test_basic_read['config' Test Scenario] (.tmp.integration_tests.test_airbyte_standards.TestSuite) failed

airbyte-integrations/connectors/source-salesloft/build/test-results/standard-tests-junit.xml [took 39s]
Raw output
airbyte_cdk.test.entrypoint_wrapper.AirbyteEntrypointException: Failed to run airbyte command.
AirbyteErrorTraceMessage(message='HTTP Status Code: 401. Error: Unauthorized. Please ensure you are authenticated correctly.', internal_message='\'GET\' request to \'https://api.salesloft.com/v2/users?per_page=100\' failed with status code \'401\' and error message: \'Invalid Bearer token\'. Request (body): \'None\'. Response (body): \'{\'error\': \'Invalid Bearer token\'}\'. Response (headers): \'{\'Date\': \'Wed, 12 Aug 2026 14:48:06 GMT\', \'Content-Type\': \'application/json; charset=utf-8\', \'Transfer-Encoding\': \'chunked\', \'Connection\': \'keep-alive\', \'X-Frame-Options\': \'SAMEORIGIN\', \'X-XSS-Protection\': \'1; mode=block\', \'X-Content-Type-Options\': \'nosniff\', \'X-Download-Options\': \'noopen\', \'X-Permitted-Cross-Domain-Policies\': \'none\', \'Referrer-Policy\': \'strict-origin-when-cross-origin\', \'Cache-Control\': \'no-cache\', \'Content-Security-Policy-Report-Only\': "default-src \'self\' https: blob: data:; img-src \'self\' https: http:; frame-ancestors \'none\'", \'X-Request-Id\': \'2b617e1968ab4acb8760a209cf6afcb7\', \'X-Runtime\': \'0.010520\', \'Strict-Transport-Security\': \'max-age=31536000; includeSubDomains\', \'vary\': \'Origin\', \'x-ratelimit-remaining-minute\': \'599\', \'x-ratelimit-limit-minute\': \'600\', \'x-ratelimit-endpoint-cost\': \'1\', \'X-Entry-Cluster\': \'k8s-us-pop-2\', \'X-Entry-PoP\': \'us-east4\', \'X-Global-Request-Start\': \'t=1786546086.168\'}\'.', stack_trace='Traceback (most recent call last):
  File "/home/runner/.local/share/uv/tools/airbyte-cdk/lib/python3.11/site-packages/airbyte_cdk/sources/streams/concurrent/partition_reader.py", line 79, in process_partition
    for record in partition.read():
  File "/home/runner/.local/share/uv/tools/airbyte-cdk/lib/python3.11/site-packages/airbyte_cdk/sources/declarative/stream_slicers/declarative_partition_generator.py", line 91, in read
    for stream_data in self._retriever.read_records(
  File "/home/runner/.local/share/uv/tools/airbyte-cdk/lib/python3.11/site-packages/airbyte_cdk/sources/declarative/retrievers/simple_retriever.py", line 480, in read_records
    yield from records
  File "/home/runner/.local/share/uv/tools/airbyte-cdk/lib/python3.11/site-packages/airbyte_cdk/sources/declarative/retrievers/simple_retriever.py", line 404, in _read_pages
    response = self._fetch_next_page(stream_slice, next_page_token)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/.local/share/uv/tools/airbyte-cdk/lib/python3.11/site-packages/airbyte_cdk/sources/declarative/retrievers/simple_retriever.py", line 321, in _fetch_next_page
    return self.requester.send_request(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/.local/share/uv/tools/airbyte-cdk/lib/python3.11/site-packages/airbyte_cdk/sources/declarative/requesters/http_requester.py", line 458, in send_request
    request, response = self._http_client.send_request(
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/.local/share/uv/tools/airbyte-cdk/lib/python3.11/site-packages/airbyte_cdk/sources/streams/http/http_client.py", line 611, in send_request
    response: requests.Response = self._send_with_retry(
                                  ^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/.local/share/uv/tools/airbyte-cdk/lib/python3.11/site-packages/airbyte_cdk/sources/streams/http/http_client.py", line 292, in _send_with_retry
    response = backoff_handler(rate_limit_backoff_handler(user_backoff_handler))(
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/.local/share/uv/tools/airbyte-cdk/lib/python3.11/site-packages/backoff/_sync.py", line 105, in retry
    ret = target(*args, **kwargs)
          ^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/.local/share/uv/tools/airbyte-cdk/lib/python3.11/site-packages/backoff/_sync.py", line 105, in retry
    ret = target(*args, **kwargs)
          ^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/.local/share/uv/tools/airbyte-cdk/lib/python3.11/site-packages/backoff/_sync.py", line 105, in retry
    ret = target(*args, **kwargs)
          ^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/.local/share/uv/tools/airbyte-cdk/lib/python3.11/site-packages/airbyte_cdk/sources/streams/http/http_client.py", line 386, in _send
    self._handle_error_resolution(
  File "/home/runner/.local/share/uv/tools/airbyte-cdk/lib/python3.11/site-packages/airbyte_cdk/sources/streams/http/http_client.py", line 501, in _handle_error_resolution
    raise AirbyteTracedException(
airbyte_cdk.utils.traced_exception.AirbyteTracedException: HTTP Status Code: 401. Error: Unauthorized. Please ensure you are authenticated correctly.
', failure_type=<FailureType.config_error: 'config_error'>, stream_descriptor=StreamDescriptor(name='users', namespace=None))
AirbyteErrorTraceMessage(message='HTTP Status Code: 401. Error: Unauthorized. Please ensure you are authenticated correctly.', internal_message='\'GET\' request to \'https://api.salesloft.com/v2/account_tiers?per_page=100\' failed with status code \'401\' and error message: \'Invalid Bearer token\'. Request (body): \'None\'. Response (body): \'{\'error\': \'Invalid Bearer token\'}\'. Response (headers): \'{\'Date\': \'Wed, 12 Aug 2026 14:48:06 GMT\', \'Content-Type\': \'application/json; charset=utf-8\', \'Transfer-Encoding\': \'chunked\', \'Connection\': \'keep-alive\', \'X-Frame-Options\': \'SAMEORIGIN\', \'X-XSS-Protection\': \'1; mode=block\', \'X-Content-Type-Options\': \'nosniff\', \'X-Download-Options\': \'noopen\', \'X-Permitted-Cross-Domain-Policies\': \'none\', \'Referrer-Policy\': \'strict-origin-when-cross-origin\', \'Cache-Control\': \'no-cache\', \'Content-Security-Policy-Report-Only\': "default-src \'self\' https: blob: data:; img-src \'self\' https: http:; frame-ancestors \'none\'", \'X-Request-Id\': \'d9a585ffe0952402bb5fafd104443574\', \'X-Runtime\': \'0.065289\', \'Strict-Transport-Security\': \'max-age=31536000; includeSubDomains\', \'vary\': \'Origin\', \'x-ratelimit-remaining-minute\': \'598\', \'x-ratelimit-limit-minute\': \'600\', \'x-ratelimit-endpoint-cost\': \'1\', \'X-Entry-Cluster\': \'k8s-us-pop-2\', \'X-Entry-PoP\': \'us-east4\', \'X-Global-Request-Start\': \'t=1786546086.248\'}\'.', stack_trace='Traceback (most recent call last):
  File "/home/runner/.local/share/uv/tools/airbyte-cdk/lib/python3.11/site-packages/airbyte_cdk/sources/streams/concurrent/partition_reader.py", line 79, in process_partition
    for record in partition.read():
  File "/home/runner/.local/share/uv/tools/airbyte-cdk/lib/python3.11/site-packages/airbyte_cdk/sources/declarative/stream_slicers/declarative_partition_generator.py", line 91, in read
    for stream_data in self._retriever.read_records(
  File "/home/runner/.local/share/uv/tools/airbyte-cdk/lib/python3.11/site-packages/airbyte_cdk/sources/declarative/retrievers/simple_retriever.py", line 480, in read_records
    yield from records
  File "/home/runner/.local/share/uv/tools/airbyte-cdk/lib/python3.11/site-packages/airbyte_cdk/sources/declarative/retrievers/simple_retriever.py", line 404, in _read_pages
    response = self._fetch_next_page(stream_slice, next_page_token)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/.local/share/uv/tools/airbyte-cdk/lib/python3.11/site-packages/airbyte_cdk/sources/declarative/retrievers/simple_retriever.py", line 321, in _fetch_next_page
    return self.requester.send_request(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/.local/share/uv/tools/airbyte-cdk/lib/python3.11/site-packages/airbyte_cdk/sources/declarative/requesters/http_requester.py", line 458, in send_request
    request, response = self._http_client.send_request(
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/.local/share/uv/tools/airbyte-cdk/lib/python3.11/site-packages/airbyte_cdk/sources/streams/http/http_client.py", line 611, in send_request
    response: requests.Response = self._send_with_retry(
                                  ^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/.local/share/uv/tools/airbyte-cdk/lib/python3.11/site-packages/airbyte_cdk/sources/streams/http/http_client.py", line 292, in _send_with_retry
    response = backoff_handler(rate_limit_backoff_handler(user_backoff_handler))(
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/.local/share/uv/tools/airbyte-cdk/lib/python3.11/site-packages/backoff/_sync.py", line 105, in retry
    ret = target(*args, **kwargs)
          ^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/.local/share/uv/tools/airbyte-cdk/lib/python3.11/site-packages/backoff/_sync.py", line 105, in retry
    ret = target(*args, **kwargs)
          ^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/.local/share/uv/tools/airbyte-cdk/lib/python3.11/site-packages/backoff/_sync.py", line 105, in retry
    ret = target(*args, **kwargs)
          ^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/.local/share/uv/tools/airbyte-cdk/lib/python3.11/site-packages/airbyte_cdk/sources/streams/http/http_client.py", line 386, in _send
    self._handle_error_resolution(
  File "/home/runner/.local/share/uv/tools/airbyte-cdk/lib/python3.11/site-packages/airbyte_cdk/sources/streams/http/http_client.py", line 501, in _handle_error_resolution
    raise AirbyteTracedException(
airbyte_cdk.utils.traced_exception.AirbyteTracedException: HTTP Status Code: 401. Error: Unauthorized. Please ensure you are authenticated correctly.
', failure_type=<FailureType.config_error: 'config_error'>, stream_descriptor=StreamDescriptor(name='account_tiers', namespace=None))
AirbyteErrorTraceMessage(message='HTTP Status Code: 401. Error: Unauthorized. Please ensure you are authenticated correctly.', internal_message='\'GET\' request to \'https://api.salesloft.com/v2/imports?per_page=100\' failed with status code \'401\' and error message: \'Invalid Bearer token\'. Request (body): \'None\'. Response (body): \'{\'error\': \'Invalid Bearer token\'}\'. Response (headers): \'{\'Date\': \'Wed, 12 Aug 2026 14:48:06 GMT\', \'Content-Type\': \'application/json; charset=utf-8\', \'Transfer-Encoding\': \'chunked\', \'Connection\': \'keep-alive\', \'X-Frame-Options\': \'SAMEORIGIN\', \'X-XSS-Protection\': \'1; mode=block\', \'X-Content-Type-Options\': \'nosniff\', \'X-Download-Options\': \'noopen\', \'X-Permitted-Cross-Domain-Policies\': \'none\', \'Referrer-Policy\': \'strict-origin-when-cross-origin\', \'Cache-Control\': \'no-cache\', \'Content-Security-Policy-Report-Only\': "default-src \'self\' https: blob: data:; img-src \'self\' https: http:; frame-ancestors \'none\'", \'X-Request-Id\': \'8c3a75543b1573c661bedcb52f03ce52\', \'X-Runtime\': \'0.009273\', \'Strict-Transport-Security\': \'max-age=31536000; includeSubDomains\', \'vary\': \'Origin\', \'x-ratelimit-remaining-minute\': \'597\', \'x-ratelimit-limit-minute\': \'600\', \'x-ratelimit-endpoint-cost\': \'1\', \'X-Entry-Cluster\': \'k8s-us-pop-2\', \'X-Entry-PoP\': \'us-east4\', \'X-Global-Request-Start\': \'t=1786546086.354\'}\'.', stack_trace='Traceback (most recent call last):
  File "/home/runner/.local/share/uv/tools/airbyte-cdk/lib/python3.11/site-packages/airbyte_cdk/sources/streams/concurrent/partition_reader.py", line 79, in process_partition
    for record in partition.read():
  File "/home/runner/.local/share/uv/tools/airbyte-cdk/lib/python3.11/site-packages/airbyte_cdk/sources/declarative/stream_slicers/declarative_partition_generator.py", line 91, in read
    for stream_data in self._retriever.read_records(
  File "/home/runner/.local/share/uv/tools/airbyte-cdk/lib/python3.11/site-packages/airbyte_cdk/sources/declarative/retrievers/simple_retriever.py", line 480, in read_records
    yield from records
  File "/home/runner/.local/share/uv/tools/airbyte-cdk/lib/python3.11/site-packages/airbyte_cdk/sources/declarative/retrievers/simple_retriever.py", line 404, in _read_pages
    response = self._fetch_next_page(stream_slice, next_page_token)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/.local/share/uv/tools/airbyte-cdk/lib/python3.11/site-packages/airbyte_cdk/sources/declarative/retrievers/simple_retriever.py", line 321, in _fetch_next_page
    return self.requester.send_request(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/.local/share/uv/tools/airbyte-cdk/lib/python3.11/site-packages/airbyte_cdk/sources/declarative/requesters/http_requester.py", line 458, in send_request
    request, response = self._http_client.send_request(
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/.local/share/uv/tools/airbyte-cdk/lib/python3.11/site-packages/airbyte_cdk/sources/streams/http/http_client.py", line 611, in send_request
    response: requests.Response = self._send_with_retry(
                                  ^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/.local/share/uv/tools/airbyte-cdk/lib/python3.11/site-packages/airbyte_cdk/sources/streams/http/http_client.py", line 292, in _send_with_retry
    response = backoff_handler(rate_limit_backoff_handler(user_backoff_handler))(
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/.local/share/uv/tools/airbyte-cdk/lib/python3.11/site-packages/backoff/_sync.py", line 105, in retry
    ret = target(*args, **kwargs)
          ^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/.local/share/uv/tools/airbyte-cdk/lib/python3.11/site-packages/backoff/_sync.py", line 105, in retry
    ret = target(*args, **kwargs)
          ^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/.local/share/uv/tools/airbyte-cdk/lib/python3.11/site-packages/backoff/_sync.py", line 105, in retry
    ret = target(*args, **kwargs)
          ^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/.local/share/uv/tools/airbyte-cdk/lib/python3.11/site-packages/airbyte_cdk/sources/streams/http/http_client.py", line 386, in _send
    self._handle_error_resolution(
  File "/home/runner/.local/share/uv/tools/airbyte-cdk/lib/python3.11/site-packages/airbyte_cdk/sources/streams/http/http_client.py", line 501, in _handle_error_resolution
    raise AirbyteTracedException(
airbyte_cdk.utils.traced_exception.AirbyteTracedException: HTTP Status Code: 401. Error: Unauthorized. Please ensure you are authenticated correctly.
', failure_type=<FailureType.config_error: 'config_error'>, stream_descriptor=StreamDescriptor(name='import', namespace=None))
AirbyteErrorTraceMessage(message='HTTP Status Code: 401. Error: Unauthorized. Please ensure you are authenticated correctly.', internal_message='\'GET\' request to \'https://api.salesloft.com/v2/person_stages?per_page=100\' failed with status code \'401\' and error message: \'Invalid Bearer token\'. Request (body): \'None\'. Response (body): \'{\'error\': \'Invalid Bearer token\'}\'. Response (headers): \'{\'Date\': \'Wed, 12 Aug 2026 14:48:06 GMT\', \'Content-Type\': \'application/json; charset=utf-8\', \'Transfer-Encoding\': \'chunked\', \'Connection\': \'keep-alive\', \'X-Frame-Options\': \'SAMEORIGIN\', \'X-XSS-Protection\': \'1; mode=block\', \'X-Content-Type-Options\': \'nosniff\', \'X-Download-Options\': \'noopen\', \'X-Permitted-Cross-Domain-Policies\': \'none\', \'Referrer-Policy\': \'strict-origin-when-cross-origin\', \'Cache-Control\': \'no-cache\', \'Content-Security-Policy-Report-Only\': "default-src \'self\' https: blob: data:; img-src \'self\' https: http:; frame-ancestors \'none\'", \'X-Request-Id\': \'4d0391df1b1c2950d006bb8c0de9cc69\', \'X-Runtime\': \'0.012727\', \'Strict-Transport-Security\': \'max-age=31536000; includeSubDomains\', \'vary\': \'Origin\', \'x-ratelimit-remaining-minute\': \'596\', \'x-ratelimit-limit-minute\': \'600\', \'x-ratelimit-endpoint-cost\': \'1\', \'X-Entry-Cluster\': \'k8s-us-pop-2\', \'X-Entry-PoP\': \'us-east4\', \'X-Global-Request-Start\': \'t=1786546086.420\'}\'.', stack_trace='Traceback (most recent call last):
  File "/home/runner/.local/share/uv/tools/airbyte-cdk/lib/python3.11/site-packages/airbyte_cdk/sources/streams/concurrent/partition_reader.py", line 79, in process_partition
    for record in partition.read():
  File "/home/runner/.local/share/uv/tools/airbyte-cdk/lib/python3.11/site-packages/airbyte_cdk/sources/declarative/stream_slicers/declarative_partition_generator.py", line 91, in read
    for stream_data in self._retriever.read_records(
  File "/home/runner/.local/share/uv/tools/airbyte-cdk/lib/python3.11/site-packages/airbyte_cdk/sources/declarative/retrievers/simple_retriever.py", line 480, in read_records
    yield from records
  File "/home/runner/.local/share/uv/tools/airbyte-cdk/lib/python3.11/site-packages/airbyte_cdk/sources/declarative/retrievers/simple_retriever.py", line 404, in _read_pages
    response = self._fetch_next_page(stream_slice, next_page_token)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/.local/share/uv/tools/airbyte-cdk/lib/python3.11/site-packages/airbyte_cdk/sources/declarative/retrievers/simple_retriever.py", line 321, in _fetch_next_page
    return self.requester.send_request(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/.local/share/uv/tools/airbyte-cdk/lib/python3.11/site-packages/airbyte_cdk/sources/declarative/requesters/http_requester.py", line 458, in send_request
    request, response = self._http_client.send_request(
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/.local/share/uv/tools/airbyte-cdk/lib/python3.11/site-packages/airbyte_cdk/sources/streams/http/http_client.py", line 611, in send_request
    response: requests.Response = self._send_with_retry(
                                  ^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/.local/share/uv/tools/airbyte-cdk/lib/python3.11/site-packages/airbyte_cdk/sources/streams/http/http_client.py", line 292, in _send_with_retry
    response = backoff_handler(rate_limit_backoff_handler(user_backoff_handler))(
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/.local/share/uv/tools/airbyte-cdk/lib/python3.11/site-packages/backoff/_sync.py", line 105, in retry
    ret = target(*args, **kwargs)
          ^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/.local/share/uv/tools/airbyte-cdk/lib/python3.11/site-packages/backoff/_sync.py", line 105, in retry
    ret = target(*args, **kwargs)
          ^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/.local/share/uv/tools/airbyte-cdk/lib/python3.11/site-packages/backoff/_sync.py", line 105, in retry
    ret = target(*args, **kwargs)
          ^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/.local/share/uv/tools/airbyte-cdk/lib/python3.11/site-packages/airbyte_cdk/sources/streams/http/http_client.py", line 386, in _send
    self._handle_error_resolution(
  File "/home/runner/.local/share/uv/tools/airbyte-cdk/lib/python3.11/site-packages/airbyte_cdk/sources/streams/http/http_client.py", line 501, in _handle_error_resolution
    raise AirbyteTracedException(
airbyte_cdk.utils.traced_exception.AirbyteTracedException: HTTP Status Code: 401. Error: Unauthorized. Please ensure you are authenticated correctly.
', failure_type=<FailureType.config_error: 'config_error'>, stream_descriptor=StreamDescriptor(name='person_stages', namespace=None))
AirbyteErrorTraceMessage(message='HTTP Status Code: 401. Error: Unauthorized. Please ensure you are authenticated correctly.', internal_message='\'GET\' request to \'https://api.salesloft.com/v2/phone_number_assignments?per_page=100\' failed with status code \'401\' and error message: \'Invalid Bearer token\'. Request (body): \'None\'. Response (body): \'{\'error\': \'Invalid Bearer token\'}\'. Response (headers): \'{\'Date\': \'Wed, 12 Aug 2026 14:48:06 GMT\', \'Content-Type\': \'application/json; charset=utf-8\', \'Transfer-Encoding\': \'chunked\', \'Connection\': \'keep-alive\', \'X-Frame-Options\': \'SAMEORIGIN\', \'X-XSS-Protection\': \'1; mode=block\', \'X-Content-Type-Options\': \'nosniff\', \'X-Download-Options\': \'noopen\', \'X-Permitted-Cross-Domain-Policies\': \'none\', \'Referrer-Policy\': \'strict-origin-when-cross-origin\', \'Cache-Control\': \'no-cache\', \'Content-Security-Policy-Report-Only\': "default-src \'self\' https: blob: data:; img-src \'self\' https: http:; frame-ancestors \'none\'", \'X-Request-Id\': \'940b98465ab05f386770836234b806a1\', \'X-Runtime\': \'0.005549\', \'Strict-Transport-Security\': \'max-age=31536000; includeSubDomains\', \'vary\': \'Origin\', \'x-ratelimit-remaining-minute\': \'595\', \'x-ratelimit-limit-minute\': \'600\', \'x-ratelimit-endpoint-cost\': \'1\', \'X-Entry-Cluster\': \'k8s-us-pop-2\', \'X-Entry-PoP\': \'us-east4\', \'X-Global-Request-Start\': \'t=1786546086.481\'}\'.', stack_trace='Traceback (most recent call last):
  File "/home/runner/.local/share/uv/tools/airbyte-cdk/lib/python3.11/site-packages/airbyte_cdk/sources/streams/concurrent/partition_reader.py", line 79, in process_partition
    for record in partition.read():
  File "/home/runner/.local/share/uv/tools/airbyte-cdk/lib/python3.11/site-packages/airbyte_cdk/sources/declarative/stream_slicers/declarative_partition_generator.py", line 91, in read
    for stream_data in self._retriever.read_records(
  File "/home/runner/.local/share/uv/tools/airbyte-cdk/lib/python3.11/site-packages/airbyte_cdk/sources/declarative/retrievers/simple_retriever.py", line 480, in read_records
    yield from records
  File "/home/runner/.local/share/uv/tools/airbyte-cdk/lib/python3.11/site-packages/airbyte_cdk/sources/declarative/retrievers/simple_retriever.py", line 404, in _read_pages
    response = self._fetch_next_page(stream_slice, next_page_token)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/.local/share/uv/tools/airbyte-cdk/lib/python3.11/site-packages/airbyte_cdk/sources/declarative/retrievers/simple_retriever.py", line 321, in _fetch_next_page
    return self.requester.send_request(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/.local/share/uv/tools/airbyte-cdk/lib/python3.11/site-packages/airbyte_cdk/sources/declarative/requesters/http_requester.py", line 458, in send_request
    request, response = self._http_client.send_request(
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/.local/share/uv/tools/airbyte-cdk/lib/python3.11/site-packages/airbyte_cdk/sources/streams/http/http_client.py", line 611, in send_request
    response: requests.Response = self._send_with_retry(
                                  ^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/.local/share/uv/tools/airbyte-cdk/lib/python3.11/site-packages/airbyte_cdk/sources/streams/http/http_client.py", line 292, in _send_with_retry
    response = backoff_handler(rate_limit_backoff_handler(user_backoff_handler))(
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/.local/share/uv/tools/airbyte-cdk/lib/python3.11/site-packages/backoff/_sync.py", line 105, in retry
    ret = target(*args, **kwargs)
          ^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/.local/share/uv/tools/airbyte-cdk/lib/python3.11/site-packages/backoff/_sync.py", line 105, in retry
    ret = target(*args, **kwargs)
          ^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/.local/share/uv/tools/airbyte-cdk/lib/python3.11/site-packages/backoff/_sync.py", line 105, in retry
    ret = target(*args, **kwargs)
          ^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/.local/share/uv/tools/airbyte-cdk/lib/python3.11/site-packages/airbyte_cdk/sources/streams/http/http_client.py", line 386, in _send
    self._handle_error_resolution(
  File "/home/runner/.local/share/uv/tools/airbyte-cdk/lib/python3.11/site-packages/airbyte_cdk/sources/streams/http/http_client.py", line 501, in _handle_error_resolution
    raise AirbyteTracedException(
airbyte_cdk.utils.traced_exception.AirbyteTracedException: HTTP Status Code: 401. Error: Unauthorized. Please ensure you are authenticated correctly.
', failure_type=<FailureType.config_error: 'config_error'>, stream_descriptor=StreamDescriptor(name='phone_number_assignments', namespace=None))
AirbyteErrorTraceMessage(message='HTTP Status Code: 401. Error: Unauthorized. Please ensure you are authenticated correctly.', internal_message='\'GET\' request to \'https://api.salesloft.com/v2/steps?per_page=100\' failed with status code \'401\' and error message: \'Invalid Bearer token\'. Request (body): \'None\'. Response (body): \'{\'error\': \'Invalid Bearer token\'}\'. Response (headers): \'{\'Date\': \'Wed, 12 Aug 2026 14:48:06 GMT\', \'Content-Type\': \'application/json; charset=utf-8\', \'Transfer-Encoding\': \'chunked\', \'Connection\': \'keep-alive\', \'X-Frame-Options\': \'SAMEORIGIN\', \'X-XSS-Protection\': \'1; mode=block\', \'X-Content-Type-Options\': \'nosniff\', \'X-Download-Options\': \'noopen\', \'X-Permitted-Cross-Domain-Policies\': \'none\', \'Referrer-Policy\': \'strict-origin-when-cross-origin\', \'Cache-Control\': \'no-cache\', \'Content-Security-Policy-Report-Only\': "default-src \'self\' https: blob: data:; img-src \'self\' https: http:; frame-ancestors \'none\'", \'X-Request-Id\': \'b4b0bf0fe330e115ccd65cfb12c6d10a\', \'X-Runtime\': \'0.007619\', \'Strict-Transport-Security\': \'max-age=31536000; includeSubDomains\', \'vary\': \'Origin\', \'x-ratelimit-remaining-minute\': \'593\', \'x-ratelimit-limit-minute\': \'600\', \'x-ratelimit-endpoint-cost\': \'1\', \'X-Entry-Cluster\': \'k8s-us-pop-2\', \'X-Entry-PoP\': \'us-east4\', \'X-Global-Request-Start\': \'t=1786546086.610\'}\'.', stack_trace='Traceback (most recent call last):
  File "/home/runner/.local/share/uv/tools/airbyte-cdk/lib/python3.11/site-packages/airbyte_cdk/sources/streams/concurrent/partition_reader.py", line 79, in process_partition
    for record in partition.read():
  File "/home/runner/.local/share/uv/tools/airbyte-cdk/lib/python3.11/site-packages/airbyte_cdk/sources/declarative/stream_slicers/declarative_partition_generator.py", line 91, in read
    for stream_data in self._retriever.read_records(
  File "/home/runner/.local/share/uv/tools/airbyte-cdk/lib/python3.11/site-packages/airbyte_cdk/sources/declarative/retrievers/simple_retriever.py", line 480, in read_records
    yield from records
  File "/home/runner/.local/share/uv/tools/airbyte-cdk/lib/python3.11/site-packages/airbyte_cdk/sources/declarative/retrievers/simple_retriever.py", line 404, in _read_pages
    response = self._fetch_next_page(stream_slice, next_page_token)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/.local/share/uv/tools/airbyte-cdk/lib/python3.11/site-packages/airbyte_cdk/sources/declarative/retrievers/simple_retriever.py", line 321, in _fetch_next_page
    return self.requester.send_request(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/.local/share/uv/tools/airbyte-cdk/lib/python3.11/site-packages/airbyte_cdk/sources/declarative/requesters/http_requester.py", line 458, in send_request
    request, response = self._http_client.send_request(
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/.local/share/uv/tools/airbyte-cdk/lib/python3.11/site-packages/airbyte_cdk/sources/streams/http/http_client.py", line 611, in send_request
    response: requests.Response = self._send_with_retry(
                                  ^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/.local/share/uv/tools/airbyte-cdk/lib/python3.11/site-packages/airbyte_cdk/sources/streams/http/http_client.py", line 292, in _send_with_retry
    response = backoff_handler(rate_limit_backoff_handler(user_backoff_handler))(
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/.local/share/uv/tools/airbyte-cdk/lib/python3.11/site-packages/backoff/_sync.py", line 105, in retry
    ret = target(*args, **kwargs)
          ^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/.local/share/uv/tools/airbyte-cdk/lib/python3.11/site-packages/backoff/_sync.py", line 105, in retry
    ret = target(*args, **kwargs)
          ^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/.local/share/uv/tools/airbyte-cdk/lib/python3.11/site-packages/backoff/_sync.py", line 105, in retry
    ret = target(*args, **kwargs)
          ^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/.local/share/uv/tools/airbyte-cdk/lib/python3.11/site-packages/airbyte_cdk/sources/streams/http/http_client.py", line 386, in _send
    self._handle_error_resolution(
  File "/home/runner/.local/share/uv/tools/airbyte-cdk/lib/python3.11/site-packages/airbyte_cdk/sources/streams/http/http_client.py", line 501, in _handle_error_resolution
    raise AirbyteTracedException(
airbyte_cdk.utils.traced_exception.AirbyteTracedException: HTTP Status Code: 401. Error: Unauthorized. Please ensure you are authenticated correctly.
', failure_type=<FailureType.config_error: 'config_error'>, stream_descriptor=StreamDescriptor(name='steps', namespace=None))
AirbyteErrorTraceMessage(message='HTTP Status Code: 401. Error: Unauthorized. Please ensure you are authenticated correctly.', internal_message='\'GET\' request to \'https://api.salesloft.com/v2/team_template_attachments?per_page=100\' failed with status code \'401\' and error message: \'Invalid Bearer token\'. Request (body): \'None\'. Response (body): \'{\'error\': \'Invalid Bearer token\'}\'. Response (headers): \'{\'Date\': \'Wed, 12 Aug 2026 14:48:06 GMT\', \'Content-Type\': \'application/json; charset=utf-8\', \'Transfer-Encoding\': \'chunked\', \'Connection\': \'keep-alive\', \'X-Frame-Options\': \'SAMEORIGIN\', \'X-XSS-Protection\': \'1; mode=block\', \'X-Content-Type-Options\': \'nosniff\', \'X-Download-Options\': \'noopen\', \'X-Permitted-Cross-Domain-Policies\': \'none\', \'Referrer-Policy\': \'strict-origin-when-cross-origin\', \'Cache-Control\': \'no-cache\', \'Content-Security-Policy-Report-Only\': "default-src \'self\' https: blob: data:; img-src \'self\' https: http:; frame-ancestors \'none\'", \'X-Request-Id\': \'6891ce4482400f28dc8cafffef2410a4\', \'X-Runtime\': \'0.008193\', \'Strict-Transport-Security\': \'max-age=31536000; includeSubDomains\', \'vary\': \'Origin\', \'x-ratelimit-remaining-minute\': \'594\', \'x-ratelimit-limit-minute\': \'600\', \'x-ratelimit-endpoint-cost\': \'1\', \'X-Entry-Cluster\': \'k8s-us-pop-2\', \'X-Entry-PoP\': \'us-east4\', \'X-Global-Request-Start\': \'t=1786546086.617\'}\'.', stack_trace='Traceback (most recent call last):
  File "/home/runner/.local/share/uv/tools/airbyte-cdk/lib/python3.11/site-packages/airbyte_cdk/sources/streams/concurrent/partition_reader.py", line 79, in process_partition
    for record in partition.read():
  File "/home/runner/.local/share/uv/tools/airbyte-cdk/lib/python3.11/site-packages/airbyte_cdk/sources/declarative/stream_slicers/declarative_partition_generator.py", line 91, in read
    for stream_data in self._retriever.read_records(
  File "/home/runner/.local/share/uv/tools/airbyte-cdk/lib/python3.11/site-packages/airbyte_cdk/sources/declarative/retrievers/simple_retriever.py", line 480, in read_records
    yield from records
  File "/home/runner/.local/share/uv/tools/airbyte-cdk/lib/python3.11/site-packages/airbyte_cdk/sources/declarative/retrievers/simple_retriever.py", line 404, in _read_pages
    response = self._fetch_next_page(stream_slice, next_page_token)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/.local/share/uv/tools/airbyte-cdk/lib/python3.11/site-packages/airbyte_cdk/sources/declarative/retrievers/simple_retriever.py", line 321, in _fetch_next_page
    return self.requester.send_request(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/.local/share/uv/tools/airbyte-cdk/lib/python3.11/site-packages/airbyte_cdk/sources/declarative/requesters/http_requester.py", line 458, in send_request
    request, respon…TracedException(\'\\\'GET\\\' request to \\\'https://api.salesloft.com/v2/crm_users?per_page=100\\\' failed with status code \\\'401\\\' and error message: \\\'Invalid Bearer token\\\'. Request (body): \\\'None\\\'. Response (body): \\\'{\\\'error\\\': \\\'Invalid Bearer token\\\'}\\\'. Response (headers): \\\'{\\\'Date\\\': \\\'Wed, 12 Aug 2026 14:48:06 GMT\\\', \\\'Content-Type\\\': \\\'application/json; charset=utf-8\\\', \\\'Transfer-Encoding\\\': \\\'chunked\\\', \\\'Connection\\\': \\\'keep-alive\\\', \\\'X-Frame-Options\\\': \\\'SAMEORIGIN\\\', \\\'X-XSS-Protection\\\': \\\'1; mode=block\\\', \\\'X-Content-Type-Options\\\': \\\'nosniff\\\', \\\'X-Download-Options\\\': \\\'noopen\\\', \\\'X-Permitted-Cross-Domain-Policies\\\': \\\'none\\\', \\\'Referrer-Policy\\\': \\\'strict-origin-when-cross-origin\\\', \\\'Cache-Control\\\': \\\'no-cache\\\', \\\'Content-Security-Policy-Report-Only\\\': "default-src \\\'self\\\' https: blob: data:; img-src \\\'self\\\' https: http:; frame-ancestors \\\'none\\\'", \\\'X-Request-Id\\\': \\\'506e71b93f73b402776a9be7cf67b43c\\\', \\\'X-Runtime\\\': \\\'0.012466\\\', \\\'Strict-Transport-Security\\\': \\\'max-age=31536000; includeSubDomains\\\', \\\'vary\\\': \\\'Origin\\\', \\\'x-ratelimit-remaining-minute\\\': \\\'592\\\', \\\'x-ratelimit-limit-minute\\\': \\\'600\\\', \\\'x-ratelimit-endpoint-cost\\\': \\\'1\\\', \\\'X-Entry-Cluster\\\': \\\'k8s-us-pop-2\\\', \\\'X-Entry-PoP\\\': \\\'us-east4\\\', \\\'X-Global-Request-Start\\\': \\\'t=1786546086.748\\\'}\\\'.\')
E           custom_fields: AirbyteTracedException(\'\\\'GET\\\' request to \\\'https://api.salesloft.com/v2/custom_fields?per_page=100\\\' failed with status code \\\'401\\\' and error message: \\\'Invalid Bearer token\\\'. Request (body): \\\'None\\\'. Response (body): \\\'{\\\'error\\\': \\\'Invalid Bearer token\\\'}\\\'. Response (headers): \\\'{\\\'Date\\\': \\\'Wed, 12 Aug 2026 14:48:06 GMT\\\', \\\'Content-Type\\\': \\\'application/json; charset=utf-8\\\', \\\'Transfer-Encoding\\\': \\\'chunked\\\', \\\'Connection\\\': \\\'keep-alive\\\', \\\'X-Frame-Options\\\': \\\'SAMEORIGIN\\\', \\\'X-XSS-Protection\\\': \\\'1; mode=block\\\', \\\'X-Content-Type-Options\\\': \\\'nosniff\\\', \\\'X-Download-Options\\\': \\\'noopen\\\', \\\'X-Permitted-Cross-Domain-Policies\\\': \\\'none\\\', \\\'Referrer-Policy\\\': \\\'strict-origin-when-cross-origin\\\', \\\'Cache-Control\\\': \\\'no-cache\\\', \\\'Content-Security-Policy-Report-Only\\\': "default-src \\\'self\\\' https: blob: data:; img-src \\\'self\\\' https: http:; frame-ancestors \\\'none\\\'", \\\'X-Request-Id\\\': \\\'a5c4286bbae1b27407455284fc776241\\\', \\\'X-Runtime\\\': \\\'0.007096\\\', \\\'Strict-Transport-Security\\\': \\\'max-age=31536000; includeSubDomains\\\', \\\'vary\\\': \\\'Origin\\\', \\\'x-ratelimit-remaining-minute\\\': \\\'590\\\', \\\'x-ratelimit-limit-minute\\\': \\\'600\\\', \\\'x-ratelimit-endpoint-cost\\\': \\\'1\\\', \\\'X-Entry-Cluster\\\': \\\'k8s-us-pop-2\\\', \\\'X-Entry-PoP\\\': \\\'us-east4\\\', \\\'X-Global-Request-Start\\\': \\\'t=1786546086.918\\\'}\\\'.\')
E           groups: AirbyteTracedException(\'\\\'GET\\\' request to \\\'https://api.salesloft.com/v2/groups?per_page=100\\\' failed with status code \\\'401\\\' and error message: \\\'Invalid Bearer token\\\'. Request (body): \\\'None\\\'. Response (body): \\\'{\\\'error\\\': \\\'Invalid Bearer token\\\'}\\\'. Response (headers): \\\'{\\\'Date\\\': \\\'Wed, 12 Aug 2026 14:48:06 GMT\\\', \\\'Content-Type\\\': \\\'application/json; charset=utf-8\\\', \\\'Transfer-Encoding\\\': \\\'chunked\\\', \\\'Connection\\\': \\\'keep-alive\\\', \\\'X-Frame-Options\\\': \\\'SAMEORIGIN\\\', \\\'X-XSS-Protection\\\': \\\'1; mode=block\\\', \\\'X-Content-Type-Options\\\': \\\'nosniff\\\', \\\'X-Download-Options\\\': \\\'noopen\\\', \\\'X-Permitted-Cross-Domain-Policies\\\': \\\'none\\\', \\\'Referrer-Policy\\\': \\\'strict-origin-when-cross-origin\\\', \\\'Cache-Control\\\': \\\'no-cache\\\', \\\'Content-Security-Policy-Report-Only\\\': "default-src \\\'self\\\' https: blob: data:; img-src \\\'self\\\' https: http:; frame-ancestors \\\'none\\\'", \\\'X-Request-Id\\\': \\\'4ba90d785ad10e44928abaa71f081ffe\\\', \\\'X-Runtime\\\': \\\'0.005959\\\', \\\'Strict-Transport-Security\\\': \\\'max-age=31536000; includeSubDomains\\\', \\\'vary\\\': \\\'Origin\\\', \\\'x-ratelimit-remaining-minute\\\': \\\'589\\\', \\\'x-ratelimit-limit-minute\\\': \\\'600\\\', \\\'x-ratelimit-endpoint-cost\\\': \\\'1\\\', \\\'X-Entry-Cluster\\\': \\\'k8s-us-pop-2\\\', \\\'X-Entry-PoP\\\': \\\'us-east4\\\', \\\'X-Global-Request-Start\\\': \\\'t=1786546086.919\\\'}\\\'.\')
E           call_sentiments: AirbyteTracedException(\'\\\'GET\\\' request to \\\'https://api.salesloft.com/v2/call_sentiments?per_page=100\\\' failed with status code \\\'401\\\' and error message: \\\'Invalid Bearer token\\\'. Request (body): \\\'None\\\'. Response (body): \\\'{\\\'error\\\': \\\'Invalid Bearer token\\\'}\\\'. Response (headers): \\\'{\\\'Date\\\': \\\'Wed, 12 Aug 2026 14:48:07 GMT\\\', \\\'Content-Type\\\': \\\'application/json; charset=utf-8\\\', \\\'Transfer-Encoding\\\': \\\'chunked\\\', \\\'Connection\\\': \\\'keep-alive\\\', \\\'X-Frame-Options\\\': \\\'SAMEORIGIN\\\', \\\'X-XSS-Protection\\\': \\\'1; mode=block\\\', \\\'X-Content-Type-Options\\\': \\\'nosniff\\\', \\\'X-Download-Options\\\': \\\'noopen\\\', \\\'X-Permitted-Cross-Domain-Policies\\\': \\\'none\\\', \\\'Referrer-Policy\\\': \\\'strict-origin-when-cross-origin\\\', \\\'Cache-Control\\\': \\\'no-cache\\\', \\\'Content-Security-Policy-Report-Only\\\': "default-src \\\'self\\\' https: blob: data:; img-src \\\'self\\\' https: http:; frame-ancestors \\\'none\\\'", \\\'X-Request-Id\\\': \\\'d247f193e7e1f137ca49548db5134e73\\\', \\\'X-Runtime\\\': \\\'0.007795\\\', \\\'Strict-Transport-Security\\\': \\\'max-age=31536000; includeSubDomains\\\', \\\'vary\\\': \\\'Origin\\\', \\\'x-ratelimit-remaining-minute\\\': \\\'587\\\', \\\'x-ratelimit-limit-minute\\\': \\\'600\\\', \\\'x-ratelimit-endpoint-cost\\\': \\\'1\\\', \\\'X-Entry-Cluster\\\': \\\'k8s-us-pop-2\\\', \\\'X-Entry-PoP\\\': \\\'us-east4\\\', \\\'X-Global-Request-Start\\\': \\\'t=1786546087.056\\\'}\\\'.\')
E           call_dispositions: AirbyteTracedException(\'\\\'GET\\\' request to \\\'https://api.salesloft.com/v2/call_dispositions?per_page=100\\\' failed with status code \\\'401\\\' and error message: \\\'Invalid Bearer token\\\'. Request (body): \\\'None\\\'. Response (body): \\\'{\\\'error\\\': \\\'Invalid Bearer token\\\'}\\\'. Response (headers): \\\'{\\\'Date\\\': \\\'Wed, 12 Aug 2026 14:48:07 GMT\\\', \\\'Content-Type\\\': \\\'application/json; charset=utf-8\\\', \\\'Transfer-Encoding\\\': \\\'chunked\\\', \\\'Connection\\\': \\\'keep-alive\\\', \\\'X-Frame-Options\\\': \\\'SAMEORIGIN\\\', \\\'X-XSS-Protection\\\': \\\'1; mode=block\\\', \\\'X-Content-Type-Options\\\': \\\'nosniff\\\', \\\'X-Download-Options\\\': \\\'noopen\\\', \\\'X-Permitted-Cross-Domain-Policies\\\': \\\'none\\\', \\\'Referrer-Policy\\\': \\\'strict-origin-when-cross-origin\\\', \\\'Cache-Control\\\': \\\'no-cache\\\', \\\'Content-Security-Policy-Report-Only\\\': "default-src \\\'self\\\' https: blob: data:; img-src \\\'self\\\' https: http:; frame-ancestors \\\'none\\\'", \\\'X-Request-Id\\\': \\\'ad9ea1bb3043d1747b43bd83843c9a58\\\', \\\'X-Runtime\\\': \\\'0.019558\\\', \\\'Strict-Transport-Security\\\': \\\'max-age=31536000; includeSubDomains\\\', \\\'vary\\\': \\\'Origin\\\', \\\'x-ratelimit-remaining-minute\\\': \\\'588\\\', \\\'x-ratelimit-limit-minute\\\': \\\'600\\\', \\\'x-ratelimit-endpoint-cost\\\': \\\'1\\\', \\\'X-Entry-Cluster\\\': \\\'k8s-us-pop-2\\\', \\\'X-Entry-PoP\\\': \\\'us-east4\\\', \\\'X-Global-Request-Start\\\': \\\'t=1786546087.068\\\'}\\\'.\')
E           people: AirbyteTracedException(\'\\\'GET\\\' request to \\\'https://api.salesloft.com/v2/people?sort_direction=ASC&per_page=100&updated_at%5Bgte%5D=2020-11-16T00%3A00%3A00.000000Z&updated_at%5Blte%5D=2026-08-12T14%3A48%3A07.000000Z\\\' failed with status code \\\'401\\\' and error message: \\\'Invalid Bearer token\\\'. Request (body): \\\'None\\\'. Response (body): \\\'{\\\'error\\\': \\\'Invalid Bearer token\\\'}\\\'. Response (headers): \\\'{\\\'Date\\\': \\\'Wed, 12 Aug 2026 14:48:07 GMT\\\', \\\'Content-Type\\\': \\\'application/json; charset=utf-8\\\', \\\'Transfer-Encoding\\\': \\\'chunked\\\', \\\'Connection\\\': \\\'keep-alive\\\', \\\'X-Frame-Options\\\': \\\'SAMEORIGIN\\\', \\\'X-XSS-Protection\\\': \\\'1; mode=block\\\', \\\'X-Content-Type-Options\\\': \\\'nosniff\\\', \\\'X-Download-Options\\\': \\\'noopen\\\', \\\'X-Permitted-Cross-Domain-Policies\\\': \\\'none\\\', \\\'Referrer-Policy\\\': \\\'strict-origin-when-cross-origin\\\', \\\'Cache-Control\\\': \\\'no-cache\\\', \\\'Content-Security-Policy-Report-Only\\\': "default-src \\\'self\\\' https: blob: data:; img-src \\\'self\\\' https: http:; frame-ancestors \\\'none\\\'", \\\'X-Request-Id\\\': \\\'01caa4a05d9050d352f5c440ee86cc9e\\\', \\\'X-Runtime\\\': \\\'0.008084\\\', \\\'Strict-Transport-Security\\\': \\\'max-age=31536000; includeSubDomains\\\', \\\'vary\\\': \\\'Origin\\\', \\\'x-ratelimit-remaining-minute\\\': \\\'586\\\', \\\'x-ratelimit-limit-minute\\\': \\\'600\\\', \\\'x-ratelimit-endpoint-cost\\\': \\\'1\\\', \\\'X-Entry-Cluster\\\': \\\'k8s-us-pop-2\\\', \\\'X-Entry-PoP\\\': \\\'us-east4\\\', \\\'X-Global-Request-Start\\\': \\\'t=1786546087.185\\\'}\\\'.\')
E           cadences: AirbyteTracedException(\'\\\'GET\\\' request to \\\'https://api.salesloft.com/v2/cadences?sort_direction=ASC&per_page=100&updated_at%5Bgte%5D=2020-11-16T00%3A00%3A00.000000Z&updated_at%5Blte%5D=2026-08-12T14%3A48%3A07.000000Z\\\' failed with status code \\\'401\\\' and error message: \\\'Invalid Bearer token\\\'. Request (body): \\\'None\\\'. Response (body): \\\'{\\\'error\\\': \\\'Invalid Bearer token\\\'}\\\'. Response (headers): \\\'{\\\'Date\\\': \\\'Wed, 12 Aug 2026 14:48:07 GMT\\\', \\\'Content-Type\\\': \\\'application/json; charset=utf-8\\\', \\\'Transfer-Encoding\\\': \\\'chunked\\\', \\\'Connection\\\': \\\'keep-alive\\\', \\\'X-Frame-Options\\\': \\\'SAMEORIGIN\\\', \\\'X-XSS-Protection\\\': \\\'1; mode=block\\\', \\\'X-Content-Type-Options\\\': \\\'nosniff\\\', \\\'X-Download-Options\\\': \\\'noopen\\\', \\\'X-Permitted-Cross-Domain-Policies\\\': \\\'none\\\', \\\'Referrer-Policy\\\': \\\'strict-origin-when-cross-origin\\\', \\\'Cache-Control\\\': \\\'no-cache\\\', \\\'Content-Security-Policy-Report-Only\\\': "default-src \\\'self\\\' https: blob: data:; img-src \\\'self\\\' https: http:; frame-ancestors \\\'none\\\'", \\\'X-Request-Id\\\': \\\'74fe89b4bcc9310835816729c9412855\\\', \\\'X-Runtime\\\': \\\'0.009294\\\', \\\'Strict-Transport-Security\\\': \\\'max-age=31536000; includeSubDomains\\\', \\\'vary\\\': \\\'Origin\\\', \\\'x-ratelimit-remaining-minute\\\': \\\'584\\\', \\\'x-ratelimit-limit-minute\\\': \\\'600\\\', \\\'x-ratelimit-endpoint-cost\\\': \\\'1\\\', \\\'X-Entry-Cluster\\\': \\\'k8s-us-pop-2\\\', \\\'X-Entry-PoP\\\': \\\'us-east4\\\', \\\'X-Global-Request-Start\\\': \\\'t=1786546087.307\\\'}\\\'.\')
E           cadence_memberships: AirbyteTracedException(\'\\\'GET\\\' request to \\\'https://api.salesloft.com/v2/cadence_memberships?sort_direction=ASC&per_page=100&updated_at%5Bgte%5D=2020-11-16T00%3A00%3A00.000000Z&updated_at%5Blte%5D=2026-08-12T14%3A48%3A07.000000Z\\\' failed with status code \\\'401\\\' and error message: \\\'Invalid Bearer token\\\'. Request (body): \\\'None\\\'. Response (body): \\\'{\\\'error\\\': \\\'Invalid Bearer token\\\'}\\\'. Response (headers): \\\'{\\\'Date\\\': \\\'Wed, 12 Aug 2026 14:48:07 GMT\\\', \\\'Content-Type\\\': \\\'application/json; charset=utf-8\\\', \\\'Transfer-Encoding\\\': \\\'chunked\\\', \\\'Connection\\\': \\\'keep-alive\\\', \\\'X-Frame-Options\\\': \\\'SAMEORIGIN\\\', \\\'X-XSS-Protection\\\': \\\'1; mode=block\\\', \\\'X-Content-Type-Options\\\': \\\'nosniff\\\', \\\'X-Download-Options\\\': \\\'noopen\\\', \\\'X-Permitted-Cross-Domain-Policies\\\': \\\'none\\\', \\\'Referrer-Policy\\\': \\\'strict-origin-when-cross-origin\\\', \\\'Cache-Control\\\': \\\'no-cache\\\', \\\'Content-Security-Policy-Report-Only\\\': "default-src \\\'self\\\' https: blob: data:; img-src \\\'self\\\' https: http:; frame-ancestors \\\'none\\\'", \\\'X-Request-Id\\\': \\\'ade2a8a06800c37144b5ea4d571f7951\\\', \\\'X-Runtime\\\': \\\'0.009991\\\', \\\'Strict-Transport-Security\\\': \\\'max-age=31536000; includeSubDomains\\\', \\\'vary\\\': \\\'Origin\\\', \\\'x-ratelimit-remaining-minute\\\': \\\'583\\\', \\\'x-ratelimit-limit-minute\\\': \\\'600\\\', \\\'x-ratelimit-endpoint-cost\\\': \\\'1\\\', \\\'X-Entry-Cluster\\\': \\\'k8s-us-pop-2\\\', \\\'X-Entry-PoP\\\': \\\'us-east4\\\', \\\'X-Global-Request-Start\\\': \\\'t=1786546087.433\\\'}\\\'.\')
E           emails: AirbyteTracedException(\'\\\'GET\\\' request to \\\'https://api.salesloft.com/v2/activities/emails?sort_direction=ASC&per_page=100&updated_at%5Bgte%5D=2020-11-16T00%3A00%3A00.000000Z&updated_at%5Blte%5D=2026-08-12T14%3A48%3A07.000000Z\\\' failed with status code \\\'401\\\' and error message: \\\'Invalid Bearer token\\\'. Request (body): \\\'None\\\'. Response (body): \\\'{\\\'error\\\': \\\'Invalid Bearer token\\\'}\\\'. Response (headers): \\\'{\\\'Date\\\': \\\'Wed, 12 Aug 2026 14:48:07 GMT\\\', \\\'Content-Type\\\': \\\'application/json; charset=utf-8\\\', \\\'Transfer-Encoding\\\': \\\'chunked\\\', \\\'Connection\\\': \\\'keep-alive\\\', \\\'X-Frame-Options\\\': \\\'SAMEORIGIN\\\', \\\'X-XSS-Protection\\\': \\\'1; mode=block\\\', \\\'X-Content-Type-Options\\\': \\\'nosniff\\\', \\\'X-Download-Options\\\': \\\'noopen\\\', \\\'X-Permitted-Cross-Domain-Policies\\\': \\\'none\\\', \\\'Referrer-Policy\\\': \\\'strict-origin-when-cross-origin\\\', \\\'Cache-Control\\\': \\\'no-cache\\\', \\\'Content-Security-Policy-Report-Only\\\': "default-src \\\'self\\\' https: blob: data:; img-src \\\'self\\\' https: http:; frame-ancestors \\\'none\\\'", \\\'X-Request-Id\\\': \\\'150adc6b02f86a39f648b70ce0ab6436\\\', \\\'X-Runtime\\\': \\\'0.006922\\\', \\\'Strict-Transport-Security\\\': \\\'max-age=31536000; includeSubDomains\\\', \\\'vary\\\': \\\'Origin\\\', \\\'x-ratelimit-remaining-minute\\\': \\\'582\\\', \\\'x-ratelimit-limit-minute\\\': \\\'600\\\', \\\'x-ratelimit-endpoint-cost\\\': \\\'1\\\', \\\'X-Entry-Cluster\\\': \\\'k8s-us-pop-2\\\', \\\'X-Entry-PoP\\\': \\\'us-east4\\\', \\\'X-Global-Request-Start\\\': \\\'t=1786546087.597\\\'}\\\'.\')
E           emails_scoped_fields: AirbyteTracedException(\'\\\'GET\\\' request to \\\'https://api.salesloft.com/v2/activities/emails?sort_direction=ASC&scoped_fields%5B%5D=subject&scoped_fields%5B%5D=body&per_page=100&updated_at%5Bgte%5D=2020-11-16T00%3A00%3A00.000000Z&updated_at%5Blte%5D=2026-08-12T14%3A48%3A07.000000Z\\\' failed with status code \\\'401\\\' and error message: \\\'Invalid Bearer token\\\'. Request (body): \\\'None\\\'. Response (body): \\\'{\\\'error\\\': \\\'Invalid Bearer token\\\'}\\\'. Response (headers): \\\'{\\\'Date\\\': \\\'Wed, 12 Aug 2026 14:48:07 GMT\\\', \\\'Content-Type\\\': \\\'application/json; charset=utf-8\\\', \\\'Transfer-Encoding\\\': \\\'chunked\\\', \\\'Connection\\\': \\\'keep-alive\\\', \\\'X-Frame-Options\\\': \\\'SAMEORIGIN\\\', \\\'X-XSS-Protection\\\': \\\'1; mode=block\\\', \\\'X-Content-Type-Options\\\': \\\'nosniff\\\', \\\'X-Download-Options\\\': \\\'noopen\\\', \\\'X-Permitted-Cross-Domain-Policies\\\': \\\'none\\\', \\\'Referrer-Policy\\\': \\\'strict-origin-when-cross-origin\\\', \\\'Cache-Control\\\': \\\'no-cache\\\', \\\'Content-Security-Policy-Report-Only\\\': "default-src \\\'self\\\' https: blob: data:; img-src \\\'self\\\' https: http:; frame-ancestors \\\'none\\\'", \\\'X-Request-Id\\\': \\\'ac55383b543d6696a4116ca985c2687b\\\', \\\'X-Runtime\\\': \\\'0.006697\\\', \\\'Strict-Transport-Security\\\': \\\'max-age=31536000; includeSubDomains\\\', \\\'vary\\\': \\\'Origin\\\', \\\'x-ratelimit-remaining-minute\\\': \\\'581\\\', \\\'x-ratelimit-limit-minute\\\': \\\'600\\\', \\\'x-ratelimit-endpoint-cost\\\': \\\'1\\\', \\\'X-Entry-Cluster\\\': \\\'k8s-us-pop-2\\\', \\\'X-Entry-PoP\\\': \\\'us-east4\\\', \\\'X-Global-Request-Start\\\': \\\'t=1786546087.768\\\'}\\\'.\')
E           calls: AirbyteTracedException(\'\\\'GET\\\' request to \\\'https://api.salesloft.com/v2/activities/calls?sort_direction=ASC&per_page=100&updated_at%5Bgte%5D=2020-11-16T00%3A00%3A00.000000Z&updated_at%5Blte%5D=2026-08-12T14%3A48%3A07.000000Z\\\' failed with status code \\\'401\\\' and error message: \\\'Invalid Bearer token\\\'. Request (body): \\\'None\\\'. Response (body): \\\'{\\\'error\\\': \\\'Invalid Bearer token\\\'}\\\'. Response (headers): \\\'{\\\'Date\\\': \\\'Wed, 12 Aug 2026 14:48:07 GMT\\\', \\\'Content-Type\\\': \\\'application/json; charset=utf-8\\\', \\\'Transfer-Encoding\\\': \\\'chunked\\\', \\\'Connection\\\': \\\'keep-alive\\\', \\\'X-Frame-Options\\\': \\\'SAMEORIGIN\\\', \\\'X-XSS-Protection\\\': \\\'1; mode=block\\\', \\\'X-Content-Type-Options\\\': \\\'nosniff\\\', \\\'X-Download-Options\\\': \\\'noopen\\\', \\\'X-Permitted-Cross-Domain-Policies\\\': \\\'none\\\', \\\'Referrer-Policy\\\': \\\'strict-origin-when-cross-origin\\\', \\\'Cache-Control\\\': \\\'no-cache\\\', \\\'Content-Security-Policy-Report-Only\\\': "default-src \\\'self\\\' https: blob: data:; img-src \\\'self\\\' https: http:; frame-ancestors \\\'none\\\'", \\\'X-Request-Id\\\': \\\'90a3d0776f318d9d43da6fc9a70cba28\\\', \\\'X-Runtime\\\': \\\'0.009422\\\', \\\'Strict-Transport-Security\\\': \\\'max-age=31536000; includeSubDomains\\\', \\\'vary\\\': \\\'Origin\\\', \\\'x-ratelimit-remaining-minute\\\': \\\'580\\\', \\\'x-ratelimit-limit-minute\\\': \\\'600\\\', \\\'x-ratelimit-endpoint-cost\\\': \\\'1\\\', \\\'X-Entry-Cluster\\\': \\\'k8s-us-pop-2\\\', \\\'X-Entry-PoP\\\': \\\'us-east4\\\', \\\'X-Global-Request-Start\\\': \\\'t=1786546087.887\\\'}\\\'.\')
E           accounts: AirbyteTracedException(\'\\\'GET\\\' request to \\\'https://api.salesloft.com/v2/accounts?sort_direction=ASC&per_page=100&updated_at%5Bgte%5D=2020-11-16T00%3A00%3A00.000000Z&updated_at%5Blte%5D=2026-08-12T14%3A48%3A07.000000Z\\\' failed with status code \\\'401\\\' and error message: \\\'Invalid Bearer token\\\'. Request (body): \\\'None\\\'. Response (body): \\\'{\\\'error\\\': \\\'Invalid Bearer token\\\'}\\\'. Response (headers): \\\'{\\\'Date\\\': \\\'Wed, 12 Aug 2026 14:48:08 GMT\\\', \\\'Content-Type\\\': \\\'application/json; charset=utf-8\\\', \\\'Transfer-Encoding\\\': \\\'chunked\\\', \\\'Connection\\\': \\\'keep-alive\\\', \\\'X-Frame-Options\\\': \\\'SAMEORIGIN\\\', \\\'X-XSS-Protection\\\': \\\'1; mode=block\\\', \\\'X-Content-Type-Options\\\': \\\'nosniff\\\', \\\'X-Download-Options\\\': \\\'noopen\\\', \\\'X-Permitted-Cross-Domain-Policies\\\': \\\'none\\\', \\\'Referrer-Policy\\\': \\\'strict-origin-when-cross-origin\\\', \\\'Cache-Control\\\': \\\'no-cache\\\', \\\'Content-Security-Policy-Report-Only\\\': "default-src \\\'self\\\' https: blob: data:; img-src \\\'self\\\' https: http:; frame-ancestors \\\'none\\\'", \\\'X-Request-Id\\\': \\\'6ab86dce924daf731d4e3016003fda1f\\\', \\\'X-Runtime\\\': \\\'0.007808\\\', \\\'Strict-Transport-Security\\\': \\\'max-age=31536000; includeSubDomains\\\', \\\'vary\\\': \\\'Origin\\\', \\\'x-ratelimit-remaining-minute\\\': \\\'579\\\', \\\'x-ratelimit-limit-minute\\\': \\\'600\\\', \\\'x-ratelimit-endpoint-cost\\\': \\\'1\\\', \\\'X-Entry-Cluster\\\': \\\'k8s-us-pop-2\\\', \\\'X-Entry-PoP\\\': \\\'us-east4\\\', \\\'X-Global-Request-Start\\\': \\\'t=1786546088.016\\\'}\\\'.\')
E           account_stages: AirbyteTracedException(\'\\\'GET\\\' request to \\\'https://api.salesloft.com/v2/account_stages?sort_direction=ASC&per_page=100&updated_at%5Bgte%5D=2020-11-16T00%3A00%3A00.000000Z&updated_at%5Blte%5D=2026-08-12T14%3A48%3A08.000000Z\\\' failed with status code \\\'401\\\' and error message: \\\'Invalid Bearer token\\\'. Request (body): \\\'None\\\'. Response (body): \\\'{\\\'error\\\': \\\'Invalid Bearer token\\\'}\\\'. Response (headers): \\\'{\\\'Date\\\': \\\'Wed, 12 Aug 2026 14:48:08 GMT\\\', \\\'Content-Type\\\': \\\'application/json; charset=utf-8\\\', \\\'Transfer-Encoding\\\': \\\'chunked\\\', \\\'Connection\\\': \\\'keep-alive\\\', \\\'X-Frame-Options\\\': \\\'SAMEORIGIN\\\', \\\'X-XSS-Protection\\\': \\\'1; mode=block\\\', \\\'X-Content-Type-Options\\\': \\\'nosniff\\\', \\\'X-Download-Options\\\': \\\'noopen\\\', \\\'X-Permitted-Cross-Domain-Policies\\\': \\\'none\\\', \\\'Referrer-Policy\\\': \\\'strict-origin-when-cross-origin\\\', \\\'Cache-Control\\\': \\\'no-cache\\\', \\\'Content-Security-Policy-Report-Only\\\': "default-src \\\'self\\\' https: blob: data:; img-src \\\'self\\\' https: http:; frame-ancestors \\\'none\\\'", \\\'X-Request-Id\\\': \\\'98c2113ced5ea6cbc5f8a5e6e9c0c441\\\', \\\'X-Runtime\\\': \\\'0.007610\\\', \\\'Strict-Transport-Security\\\': \\\'max-age=31536000; includeSubDomains\\\', \\\'vary\\\': \\\'Origin\\\', \\\'x-ratelimit-remaining-minute\\\': \\\'578\\\', \\\'x-ratelimit-limit-minute\\\': \\\'600\\\', \\\'x-ratelimit-endpoint-cost\\\': \\\'1\\\', \\\'X-Entry-Cluster\\\': \\\'k8s-us-pop-2\\\', \\\'X-Entry-PoP\\\': \\\'us-east4\\\', \\\'X-Global-Request-Start\\\': \\\'t=1786546088.126\\\'}\\\'.\')
E           actions: AirbyteTracedException(\'\\\'GET\\\' request to \\\'https://api.salesloft.com/v2/actions?sort_direction=ASC&per_page=100&updated_at%5Bgte%5D=2020-11-16T00%3A00%3A00.000000Z&updated_at%5Blte%5D=2026-08-12T14%3A48%3A08.000000Z\\\' failed with status code \\\'401\\\' and error message: \\\'Invalid Bearer token\\\'. Request (body): \\\'None\\\'. Response (body): \\\'{\\\'error\\\': \\\'Invalid Bearer token\\\'}\\\'. Response (headers): \\\'{\\\'Date\\\': \\\'Wed, 12 Aug 2026 14:48:08 GMT\\\', \\\'Content-Type\\\': \\\'application/json; charset=utf-8\\\', \\\'Transfer-Encoding\\\': \\\'chunked\\\', \\\'Connection\\\': \\\'keep-alive\\\', \\\'X-Frame-Options\\\': \\\'SAMEORIGIN\\\', \\\'X-XSS-Protection\\\': \\\'1; mode=block\\\', \\\'X-Content-Type-Options\\\': \\\'nosniff\\\', \\\'X-Download-Options\\\': \\\'noopen\\\', \\\'X-Permitted-Cross-Domain-Policies\\\': \\\'none\\\', \\\'Referrer-Policy\\\': \\\'strict-origin-when-cross-origin\\\', \\\'Cache-Control\\\': \\\'no-cache\\\', \\\'Content-Security-Policy-Report-Only\\\': "default-src \\\'self\\\' https: blob: data:; img-src \\\'self\\\' https: http:; frame-ancestors \\\'none\\\'", \\\'X-Request-Id\\\': \\\'7fbdde932a50597c25d8e893f9766ee3\\\', \\\'X-Runtime\\\': \\\'0.005927\\\', \\\'Strict-Transport-Security\\\': \\\'max-age=31536000; includeSubDomains\\\', \\\'vary\\\': \\\'Origin\\\', \\\'x-ratelimit-remaining-minute\\\': \\\'577\\\', \\\'x-ratelimit-limit-minute\\\': \\\'600\\\', \\\'x-ratelimit-endpoint-cost\\\': \\\'1\\\', \\\'X-Entry-Cluster\\\': \\\'k8s-us-pop-2\\\', \\\'X-Entry-PoP\\\': \\\'us-east4\\\', \\\'X-Global-Request-Start\\\': \\\'t=1786546088.253\\\'}\\\'.\')
E           email_templates: AirbyteTracedException(\'\\\'GET\\\' request to \\\'https://api.salesloft.com/v2/email_templates?sort_direction=ASC&per_page=100&updated_at%5Bgte%5D=2020-11-16T00%3A00%3A00.000000Z&updated_at%5Blte%5D=2026-08-12T14%3A48%3A08.000000Z\\\' failed with status code \\\'401\\\' and error message: \\\'Invalid Bearer token\\\'. Request (body): \\\'None\\\'. Response (body): \\\'{\\\'error\\\': \\\'Invalid Bearer token\\\'}\\\'. Response (headers): \\\'{\\\'Date\\\': \\\'Wed, 12 Aug 2026 14:48:08 GMT\\\', \\\'Content-Type\\\': \\\'application/json; charset=utf-8\\\', \\\'Transfer-Encoding\\\': \\\'chunked\\\', \\\'Connection\\\': \\\'keep-alive\\\', \\\'X-Frame-Options\\\': \\\'SAMEORIGIN\\\', \\\'X-XSS-Protection\\\': \\\'1; mode=block\\\', \\\'X-Content-Type-Options\\\': \\\'nosniff\\\', \\\'X-Download-Options\\\': \\\'noopen\\\', \\\'X-Permitted-Cross-Domain-Policies\\\': \\\'none\\\', \\\'Referrer-Policy\\\': \\\'strict-origin-when-cross-origin\\\', \\\'Cache-Control\\\': \\\'no-cache\\\', \\\'Content-Security-Policy-Report-Only\\\': "default-src \\\'self\\\' https: blob: data:; img-src \\\'self\\\' https: http:; frame-ancestors \\\'none\\\'", \\\'X-Request-Id\\\': \\\'ce08e51a59f9070be3dbf20ee6895a59\\\', \\\'X-Runtime\\\': \\\'0.009704\\\', \\\'Strict-Transport-Security\\\': \\\'max-age=31536000; includeSubDomains\\\', \\\'vary\\\': \\\'Origin\\\', \\\'x-ratelimit-remaining-minute\\\': \\\'575\\\', \\\'x-ratelimit-limit-minute\\\': \\\'600\\\', \\\'x-ratelimit-endpoint-cost\\\': \\\'1\\\', \\\'X-Entry-Cluster\\\': \\\'k8s-us-pop-2\\\', \\\'X-Entry-PoP\\\': \\\'us-east4\\\', \\\'X-Global-Request-Start\\\': \\\'t=1786546088.443\\\'}\\\'.\')
E           notes: AirbyteTracedException(\'\\\'GET\\\' request to \\\'https://api.salesloft.com/v2/notes?sort_direction=ASC&per_page=100&updated_at%5Bgte%5D=2020-11-16T00%3A00%3A00.000000Z&updated_at%5Blte%5D=2026-08-12T14%3A48%3A08.000000Z\\\' failed with status code \\\'401\\\' and error message: \\\'Invalid Bearer token\\\'. Request (body): \\\'None\\\'. Response (body): \\\'{\\\'error\\\': \\\'Invalid Bearer token\\\'}\\\'. Response (headers): \\\'{\\\'Date\\\': \\\'Wed, 12 Aug 2026 14:48:08 GMT\\\', \\\'Content-Type\\\': \\\'application/json; charset=utf-8\\\', \\\'Transfer-Encoding\\\': \\\'chunked\\\', \\\'Connection\\\': \\\'keep-alive\\\', \\\'X-Frame-Options\\\': \\\'SAMEORIGIN\\\', \\\'X-XSS-Protection\\\': \\\'1; mode=block\\\', \\\'X-Content-Type-Options\\\': \\\'nosniff\\\', \\\'X-Download-Options\\\': \\\'noopen\\\', \\\'X-Permitted-Cross-Domain-Policies\\\': \\\'none\\\', \\\'Referrer-Policy\\\': \\\'strict-origin-when-cross-origin\\\', \\\'Cache-Control\\\': \\\'no-cache\\\', \\\'Content-Security-Policy-Report-Only\\\': "default-src \\\'self\\\' https: blob: data:; img-src \\\'self\\\' https: http:; frame-ancestors \\\'none\\\'", \\\'X-Request-Id\\\': \\\'0e0904c742e864b07bb14bdaa1dfbdc9\\\', \\\'X-Runtime\\\': \\\'0.009405\\\', \\\'Strict-Transport-Security\\\': \\\'max-age=31536000; includeSubDomains\\\', \\\'vary\\\': \\\'Origin\\\', \\\'x-ratelimit-remaining-minute\\\': \\\'574\\\', \\\'x-ratelimit-limit-minute\\\': \\\'600\\\', \\\'x-ratelimit-endpoint-cost\\\': \\\'1\\\', \\\'X-Entry-Cluster\\\': \\\'k8s-us-pop-2\\\', \\\'X-Entry-PoP\\\': \\\'us-east4\\\', \\\'X-Global-Request-Start\\\': \\\'t=1786546088.552\\\'}\\\'.\')
E           team_templates: AirbyteTracedException(\'\\\'GET\\\' request to \\\'https://api.salesloft.com/v2/team_templates?sort_direction=ASC&per_page=100&updated_at%5Bgte%5D=2020-11-16T00%3A00%3A00.000000Z&updated_at%5Blte%5D=2026-08-12T14%3A48%3A08.000000Z\\\' failed with status code \\\'401\\\' and error message: \\\'Invalid Bearer token\\\'. Request (body): \\\'None\\\'. Response (body): \\\'{\\\'error\\\': \\\'Invalid Bearer token\\\'}\\\'. Response (headers): \\\'{\\\'Date\\\': \\\'Wed, 12 Aug 2026 14:48:08 GMT\\\', \\\'Content-Type\\\': \\\'application/json; charset=utf-8\\\', \\\'Transfer-Encoding\\\': \\\'chunked\\\', \\\'Connection\\\': \\\'keep-alive\\\', \\\'X-Frame-Options\\\': \\\'SAMEORIGIN\\\', \\\'X-XSS-Protection\\\': \\\'1; mode=block\\\', \\\'X-Content-Type-Options\\\': \\\'nosniff\\\', \\\'X-Download-Options\\\': \\\'noopen\\\', \\\'X-Permitted-Cross-Domain-Policies\\\': \\\'none\\\', \\\'Referrer-Policy\\\': \\\'strict-origin-when-cross-origin\\\', \\\'Cache-Control\\\': \\\'no-cache\\\', \\\'Content-Security-Policy-Report-Only\\\': "default-src \\\'self\\\' https: blob: data:; img-src \\\'self\\\' https: http:; frame-ancestors \\\'none\\\'", \\\'X-Request-Id\\\': \\\'fd7eb2416523174e85ce83a5a939f861\\\', \\\'X-Runtime\\\': \\\'0.009099\\\', \\\'Strict-Transport-Security\\\': \\\'max-age=31536000; includeSubDomains\\\', \\\'vary\\\': \\\'Origin\\\', \\\'x-ratelimit-remaining-minute\\\': \\\'573\\\', \\\'x-ratelimit-limit-minute\\\': \\\'600\\\', \\\'x-ratelimit-endpoint-cost\\\': \\\'1\\\', \\\'X-Entry-Cluster\\\': \\\'k8s-us-pop-2\\\', \\\'X-Entry-PoP\\\': \\\'us-east4\\\', \\\'X-Global-Request-Start\\\': \\\'t=1786546088.692\\\'}\\\'.\')
E           crm_activities: AirbyteTracedException(\'\\\'GET\\\' request to \\\'https://api.salesloft.com/v2/crm_activities?sort_direction=ASC&per_page=100&updated_at%5Bgte%5D=2020-11-16T00%3A00%3A00.000000Z&updated_at%5Blte%5D=2026-08-12T14%3A48%3A08.000000Z\\\' failed with status code \\\'401\\\' and error message: \\\'Invalid Bearer token\\\'. Request (body): \\\'None\\\'. Response (body): \\\'{\\\'error\\\': \\\'Invalid Bearer token\\\'}\\\'. Response (headers): \\\'{\\\'Date\\\': \\\'Wed, 12 Aug 2026 14:48:08 GMT\\\', \\\'Content-Type\\\': \\\'application/json; charset=utf-8\\\', \\\'Transfer-Encoding\\\': \\\'chunked\\\', \\\'Connection\\\': \\\'keep-alive\\\', \\\'X-Frame-Options\\\': \\\'SAMEORIGIN\\\', \\\'X-XSS-Protection\\\': \\\'1; mode=block\\\', \\\'X-Content-Type-Options\\\': \\\'nosniff\\\', \\\'X-Download-Options\\\': \\\'noopen\\\', \\\'X-Permitted-Cross-Domain-Policies\\\': \\\'none\\\', \\\'Referrer-Policy\\\': \\\'strict-origin-when-cross-origin\\\', \\\'Cache-Control\\\': \\\'no-cache\\\', \\\'Content-Security-Policy-Report-Only\\\': "default-src \\\'self\\\' https: blob: data:; img-src \\\'self\\\' https: http:; frame-ancestors \\\'none\\\'", \\\'X-Request-Id\\\': \\\'d47595189d66b660acf4183b04b28159\\\', \\\'X-Runtime\\\': \\\'0.007287\\\', \\\'Strict-Transport-Security\\\': \\\'max-age=31536000; includeSubDomains\\\', \\\'vary\\\': \\\'Origin\\\', \\\'x-ratelimit-remaining-minute\\\': \\\'572\\\', \\\'x-ratelimit-limit-minute\\\': \\\'600\\\', \\\'x-ratelimit-endpoint-cost\\\': \\\'1\\\', \\\'X-Entry-Cluster\\\': \\\'k8s-us-pop-2\\\', \\\'X-Entry-PoP\\\': \\\'us-east4\\\', \\\'X-Global-Request-Start\\\': \\\'t=1786546088.810\\\'}\\\'.\')
E           successes: AirbyteTracedException(\'\\\'GET\\\' request to \\\'https://api.salesloft.com/v2/successes?sort_direction=ASC&per_page=100&updated_at%5Bgte%5D=2020-11-16T00%3A00%3A00.000000Z&updated_at%5Blte%5D=2026-08-12T14%3A48%3A08.000000Z\\\' failed with status code \\\'401\\\' and error message: \\\'Invalid Bearer token\\\'. Request (body): \\\'None\\\'. Response (body): \\\'{\\\'error\\\': \\\'Invalid Bearer token\\\'}\\\'. Response (headers): \\\'{\\\'Date\\\': \\\'Wed, 12 Aug 2026 14:48:08 GMT\\\', \\\'Content-Type\\\': \\\'application/json; charset=utf-8\\\', \\\'Transfer-Encoding\\\': \\\'chunked\\\', \\\'Connection\\\': \\\'keep-alive\\\', \\\'X-Frame-Options\\\': \\\'SAMEORIGIN\\\', \\\'X-XSS-Protection\\\': \\\'1; mode=block\\\', \\\'X-Content-Type-Options\\\': \\\'nosniff\\\', \\\'X-Download-Options\\\': \\\'noopen\\\', \\\'X-Permitted-Cross-Domain-Policies\\\': \\\'none\\\', \\\'Referrer-Policy\\\': \\\'strict-origin-when-cross-origin\\\', \\\'Cache-Control\\\': \\\'no-cache\\\', \\\'Content-Security-Policy-Report-Only\\\': "default-src \\\'self\\\' https: blob: data:; img-src \\\'self\\\' https: http:; frame-ancestors \\\'none\\\'", \\\'X-Request-Id\\\': \\\'c235201aeaa0222dea8c193f3410cb33\\\', \\\'X-Runtime\\\': \\\'0.005880\\\', \\\'Strict-Transport-Security\\\': \\\'max-age=31536000; includeSubDomains\\\', \\\'vary\\\': \\\'Origin\\\', \\\'x-ratelimit-remaining-minute\\\': \\\'571\\\', \\\'x-ratelimit-limit-minute\\\': \\\'600\\\', \\\'x-ratelimit-endpoint-cost\\\': \\\'1\\\', \\\'X-Entry-Cluster\\\': \\\'k8s-us-pop-2\\\', \\\'X-Entry-PoP\\\': \\\'us-east4\\\', \\\'X-Global-Request-Start\\\': \\\'t=1786546088.917\\\'}\\\'.\')
E           meetings: AirbyteTracedException(\'Exhausted available request attempts. Exception: HTTP Status Code: 500. Error: Internal server error.\')
E           searches: AirbyteTracedException(\'Exhausted available request attempts. Exception: HTTP Status Code: 500. Error: Internal server error.\')
E           ', failure_type=<FailureType.config_error: 'config_error'>, stream_descriptor=None)

/home/runner/.local/share/uv/tools/airbyte-cdk/lib/python3.11/site-packages/airbyte_cdk/test/standard_tests/_job_runner.py:108: AirbyteEntrypointException