diff --git a/airbyte-integrations/connectors/source-chameleon/README.md b/airbyte-integrations/connectors/source-chameleon/README.md
new file mode 100644
index 000000000000..cd0e89a03f4a
--- /dev/null
+++ b/airbyte-integrations/connectors/source-chameleon/README.md
@@ -0,0 +1,33 @@
+# Chameleon
+This directory contains the manifest-only connector for `source-chameleon`.
+
+Chameleon connector
+
+## Usage
+There are multiple ways to use this connector:
+- You can use this connector as any other connector in Airbyte Marketplace.
+- You can load this connector in `pyairbyte` using `get_source`!
+- You can open this connector in Connector Builder, edit it, and publish to your workspaces.
+
+Please refer to the manifest-only connector documentation for more details.
+
+## Local Development
+We recommend you use the Connector Builder to edit this connector.
+
+But, if you want to develop this connector locally, you can use the following steps.
+
+### Environment Setup
+You will need `airbyte-ci` installed. You can find the documentation [here](airbyte-ci).
+
+### Build
+This will create a dev image (`source-chameleon:dev`) that you can use to test the connector locally.
+```bash
+airbyte-ci connectors --name=source-chameleon build
+```
+
+### Test
+This will run the acceptance tests for the connector.
+```bash
+airbyte-ci connectors --name=source-chameleon test
+```
+
diff --git a/airbyte-integrations/connectors/source-chameleon/acceptance-test-config.yml b/airbyte-integrations/connectors/source-chameleon/acceptance-test-config.yml
new file mode 100644
index 000000000000..a037146b01a7
--- /dev/null
+++ b/airbyte-integrations/connectors/source-chameleon/acceptance-test-config.yml
@@ -0,0 +1,17 @@
+# See [Connector Acceptance Tests](https://docs.airbyte.com/connector-development/testing-connectors/connector-acceptance-tests-reference)
+# for more information about how to configure these tests
+connector_image: airbyte/source-chameleon:dev
+acceptance_tests:
+ spec:
+ tests:
+ - spec_path: "manifest.yaml"
+ connection:
+ bypass_reason: "This is a builder contribution, and we do not have secrets at this time"
+ discovery:
+ bypass_reason: "This is a builder contribution, and we do not have secrets at this time"
+ basic_read:
+ bypass_reason: "This is a builder contribution, and we do not have secrets at this time"
+ incremental:
+ bypass_reason: "This is a builder contribution, and we do not have secrets at this time"
+ full_refresh:
+ bypass_reason: "This is a builder contribution, and we do not have secrets at this time"
diff --git a/airbyte-integrations/connectors/source-chameleon/icon.svg b/airbyte-integrations/connectors/source-chameleon/icon.svg
new file mode 100644
index 000000000000..cf5618012c9a
--- /dev/null
+++ b/airbyte-integrations/connectors/source-chameleon/icon.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/airbyte-integrations/connectors/source-chameleon/manifest.yaml b/airbyte-integrations/connectors/source-chameleon/manifest.yaml
new file mode 100644
index 000000000000..e8357345ab51
--- /dev/null
+++ b/airbyte-integrations/connectors/source-chameleon/manifest.yaml
@@ -0,0 +1,380 @@
+version: 4.6.2
+
+type: DeclarativeSource
+
+description: "Chameleon connector "
+
+check:
+ type: CheckStream
+ stream_names:
+ - tours
+
+definitions:
+ streams:
+ tours:
+ type: DeclarativeStream
+ name: tours
+ retriever:
+ type: SimpleRetriever
+ requester:
+ $ref: "#/definitions/base_requester"
+ path: /edit/tours
+ http_method: GET
+ record_selector:
+ type: RecordSelector
+ extractor:
+ type: DpathExtractor
+ field_path:
+ - tours
+ paginator:
+ type: DefaultPaginator
+ pagination_strategy:
+ type: PageIncrement
+ page_size: 1
+ schema_loader:
+ type: InlineSchemaLoader
+ schema:
+ $ref: "#/schemas/tours"
+ microsurveys:
+ type: DeclarativeStream
+ name: microsurveys
+ retriever:
+ type: SimpleRetriever
+ requester:
+ $ref: "#/definitions/base_requester"
+ path: /edit/surveys
+ http_method: GET
+ record_selector:
+ type: RecordSelector
+ extractor:
+ type: DpathExtractor
+ field_path:
+ - surveys
+ schema_loader:
+ type: InlineSchemaLoader
+ schema:
+ $ref: "#/schemas/microsurveys"
+ tooltips:
+ type: DeclarativeStream
+ name: tooltips
+ retriever:
+ type: SimpleRetriever
+ requester:
+ $ref: "#/definitions/base_requester"
+ path: /edit/tooltips
+ http_method: GET
+ record_selector:
+ type: RecordSelector
+ extractor:
+ type: DpathExtractor
+ field_path:
+ - tooltips
+ schema_loader:
+ type: InlineSchemaLoader
+ schema:
+ $ref: "#/schemas/tooltips"
+ launchers:
+ type: DeclarativeStream
+ name: launchers
+ retriever:
+ type: SimpleRetriever
+ requester:
+ $ref: "#/definitions/base_requester"
+ path: /edit/launchers
+ http_method: GET
+ record_selector:
+ type: RecordSelector
+ extractor:
+ type: DpathExtractor
+ field_path:
+ - launchers
+ schema_loader:
+ type: InlineSchemaLoader
+ schema:
+ $ref: "#/schemas/launchers"
+ base_requester:
+ type: HttpRequester
+ url_base: https://api.chameleon.io/v3
+ authenticator:
+ type: ApiKeyAuthenticator
+ api_token: "{{ config[\"api_key\"] }}"
+ inject_into:
+ type: RequestOption
+ field_name: X-Account-Secret
+ inject_into: header
+
+streams:
+ - $ref: "#/definitions/streams/tours"
+ - $ref: "#/definitions/streams/microsurveys"
+ - $ref: "#/definitions/streams/tooltips"
+ - $ref: "#/definitions/streams/launchers"
+
+spec:
+ type: Spec
+ connection_specification:
+ type: object
+ $schema: http://json-schema.org/draft-07/schema#
+ required:
+ - api_key
+ properties:
+ api_key:
+ type: string
+ order: 0
+ title: API Key
+ airbyte_secret: true
+ additionalProperties: true
+
+metadata:
+ autoImportSchema:
+ tours: false
+ microsurveys: false
+ tooltips: true
+ launchers: true
+ testedStreams:
+ tours:
+ hasRecords: true
+ streamHash: 8fbccfe7d0aba8ab9cf4960121797f34624a861a
+ hasResponse: true
+ primaryKeysAreUnique: true
+ primaryKeysArePresent: true
+ responsesAreSuccessful: true
+ microsurveys:
+ hasRecords: true
+ streamHash: db79196dba54f616d7206c4e3c02bfe7a9a3e698
+ hasResponse: true
+ primaryKeysAreUnique: true
+ primaryKeysArePresent: true
+ responsesAreSuccessful: true
+ tooltips:
+ hasRecords: true
+ streamHash: 1eb6c3fe16678e3d2fee0582f67291f73d4c3c33
+ hasResponse: true
+ primaryKeysAreUnique: true
+ primaryKeysArePresent: true
+ responsesAreSuccessful: true
+ launchers:
+ hasRecords: true
+ streamHash: 9dea0aabe1b99521a768895fca99b3e4475b24b0
+ hasResponse: true
+ primaryKeysAreUnique: true
+ primaryKeysArePresent: true
+ responsesAreSuccessful: true
+ assist:
+ docsUrl: https://developers.chameleon.io/#/apis/tours
+
+schemas:
+ tours:
+ type: object
+ $schema: http://json-schema.org/draft-07/schema#
+ additionalProperties: true
+ properties: {}
+ microsurveys:
+ type: object
+ $schema: http://json-schema.org/draft-07/schema#
+ additionalProperties: true
+ properties: {}
+ tooltips:
+ type: object
+ $schema: http://json-schema.org/schema#
+ additionalProperties: true
+ properties:
+ created_at:
+ type:
+ - string
+ - "null"
+ id:
+ type:
+ - string
+ - "null"
+ name:
+ type:
+ - string
+ - "null"
+ position:
+ type:
+ - number
+ - "null"
+ tag_ids:
+ type:
+ - array
+ - "null"
+ updated_at:
+ type:
+ - string
+ - "null"
+ launchers:
+ type: object
+ $schema: http://json-schema.org/schema#
+ additionalProperties: true
+ properties:
+ created_at:
+ type:
+ - string
+ - "null"
+ empty_state_content:
+ type:
+ - string
+ - "null"
+ excluded_segment_ids:
+ type:
+ - array
+ - "null"
+ icon_size:
+ type:
+ - string
+ - "null"
+ id:
+ type:
+ - string
+ - "null"
+ items:
+ type:
+ - array
+ - "null"
+ items:
+ type:
+ - object
+ - "null"
+ properties:
+ description:
+ type:
+ - string
+ - "null"
+ campaign_id:
+ type:
+ - string
+ - "null"
+ created_at:
+ type:
+ - string
+ - "null"
+ hide:
+ type:
+ - boolean
+ - "null"
+ id:
+ type:
+ - string
+ - "null"
+ kind:
+ type:
+ - string
+ - "null"
+ script:
+ type:
+ - string
+ - "null"
+ segment_id:
+ type:
+ - string
+ - "null"
+ title:
+ type:
+ - string
+ - "null"
+ updated_at:
+ type:
+ - string
+ - "null"
+ url:
+ type:
+ - string
+ - "null"
+ list_type:
+ type:
+ - string
+ - "null"
+ name:
+ type:
+ - string
+ - "null"
+ position_type:
+ type:
+ - string
+ - "null"
+ quantifier_urls:
+ type:
+ - array
+ - "null"
+ items:
+ type:
+ - object
+ - "null"
+ properties:
+ id:
+ type:
+ - string
+ - "null"
+ match_type:
+ type:
+ - string
+ - "null"
+ url:
+ type:
+ - string
+ - "null"
+ screen_position:
+ type:
+ - string
+ - "null"
+ segment_id:
+ type:
+ - string
+ - "null"
+ segment_ids:
+ type:
+ - array
+ - "null"
+ items:
+ type:
+ - string
+ - "null"
+ segments_op:
+ type:
+ - string
+ - "null"
+ stats:
+ type:
+ - object
+ - "null"
+ properties:
+ displayed_count:
+ type:
+ - number
+ - "null"
+ last_displayed_at:
+ type:
+ - string
+ - "null"
+ last_started_at:
+ type:
+ - string
+ - "null"
+ started_count:
+ type:
+ - number
+ - "null"
+ tag_ids:
+ type:
+ - array
+ - "null"
+ title:
+ type:
+ - string
+ - "null"
+ trigger:
+ type:
+ - string
+ - "null"
+ trigger_text:
+ type:
+ - string
+ - "null"
+ trigger_type:
+ type:
+ - string
+ - "null"
+ updated_at:
+ type:
+ - string
+ - "null"
diff --git a/airbyte-integrations/connectors/source-chameleon/metadata.yaml b/airbyte-integrations/connectors/source-chameleon/metadata.yaml
new file mode 100644
index 000000000000..9c748ab5cfc1
--- /dev/null
+++ b/airbyte-integrations/connectors/source-chameleon/metadata.yaml
@@ -0,0 +1,35 @@
+metadataSpecVersion: "1.0"
+data:
+ allowedHosts:
+ hosts:
+ - "*"
+ registryOverrides:
+ oss:
+ enabled: true
+ cloud:
+ enabled: true
+ remoteRegistries:
+ pypi:
+ enabled: false
+ packageName: airbyte-source-chameleon
+ connectorBuildOptions:
+ baseImage: docker.io/airbyte/source-declarative-manifest:4.6.2@sha256:f5fcd3d4703b7590b6166a7853c5ed1686731607cd30a159a8c24e2fe2c1ee98
+ connectorSubtype: api
+ connectorType: source
+ definitionId: 827042e9-ee44-49cd-8126-ebf24203aa99
+ dockerImageTag: 0.0.1
+ dockerRepository: airbyte/source-chameleon
+ githubIssueLabel: source-chameleon
+ icon: icon.svg
+ license: MIT
+ name: Chameleon
+ releaseDate: 2024-09-18
+ releaseStage: alpha
+ supportLevel: community
+ documentationUrl: https://docs.airbyte.com/integrations/sources/chameleon
+ tags:
+ - language:manifest-only
+ - cdk:low-code
+ ab_internal:
+ ql: 100
+ sl: 100
diff --git a/docs/integrations/sources/chameleon.md b/docs/integrations/sources/chameleon.md
new file mode 100644
index 000000000000..4d0f9b993af4
--- /dev/null
+++ b/docs/integrations/sources/chameleon.md
@@ -0,0 +1,27 @@
+# Chameleon
+Chameleon connector
+
+## Configuration
+
+| Input | Type | Description | Default Value |
+|-------|------|-------------|---------------|
+| `api_key` | `string` | API Key. | |
+
+## Streams
+| Stream Name | Primary Key | Pagination | Supports Full Sync | Supports Incremental |
+|-------------|-------------|------------|---------------------|----------------------|
+| tours | | DefaultPaginator | ✅ | ❌ |
+| microsurveys | | No pagination | ✅ | ❌ |
+| tooltips | | No pagination | ✅ | ❌ |
+| launchers | | No pagination | ✅ | ❌ |
+
+## Changelog
+
+
+ Expand to review
+
+| Version | Date | Subject |
+|------------------|------------|----------------|
+| 0.0.1 | 2024-09-18 | Initial release by [@nataliekwong](https://github.com/nataliekwong) via Connector Builder|
+
+
\ No newline at end of file