source-customerly contribution from Shuky (#55821)
Co-authored-by: Marcos Marx <marcosmarxm@users.noreply.github.com>
This commit is contained in:
33
airbyte-integrations/connectors/source-customerly/README.md
Normal file
33
airbyte-integrations/connectors/source-customerly/README.md
Normal file
@@ -0,0 +1,33 @@
|
||||
# Customerly
|
||||
This directory contains the manifest-only connector for `source-customerly`.
|
||||
|
||||
Connector for customerly.io
|
||||
|
||||
## 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-customerly:dev`) that you can use to test the connector locally.
|
||||
```bash
|
||||
airbyte-ci connectors --name=source-customerly build
|
||||
```
|
||||
|
||||
### Test
|
||||
This will run the acceptance tests for the connector.
|
||||
```bash
|
||||
airbyte-ci connectors --name=source-customerly test
|
||||
```
|
||||
|
||||
@@ -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-customerly: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"
|
||||
@@ -0,0 +1 @@
|
||||
<svg height="600" viewBox="0 0 600 600" width="600" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><linearGradient id="a" gradientUnits="userSpaceOnUse" x1="446.349757" x2="111.78597" y1="610.887571" y2="-88.681184"><stop offset=".00001" stop-color="#2589ff"/><stop offset="1" stop-color="#78daff"/></linearGradient><path d="m295.449036 509.319946c125.68927 0 227.578247-98.745422 227.578247-220.555298 0-121.8078-101.888977-220.552978-227.578247-220.552978-125.689545 0-227.580628 98.745178-227.580628 220.552978 0 121.809876 101.891083 220.555298 227.580628 220.555298z" fill="#fff"/><path d="m66.465698 408.981812c-.715118-1.173584-1.460022-2.349549-2.235687-3.527802l.772156.705566c-17.685944-34.628204-27.64502-73.752838-27.64502-115.168823 0-141.637207 116.473267-256.457001 260.150299-256.457001 143.677552 0 260.150269 114.819794 260.150269 256.457001 0 141.637665-116.472717 256.457245-260.150269 256.457245-36.456085 0-71.161102-7.393249-102.654815-20.740601-234.419938 75.832276-73.231476-7.211547-123.673218-109.175109-1.624176-2.817566-3.195984-5.667694-4.713715-8.550476zm154.136048-203.790314c-12.932892 0-23.418213 10.444366-23.418213 23.328338 0 12.883973 10.485321 23.329987 23.418213 23.329987h125.337707c12.932861 0 23.418396-10.446014 23.418396-23.329987 0-12.883972-10.485535-23.328338-23.418396-23.328338zm0 135.255798c-12.932892 0-23.418213 10.445954-23.418213 23.329926 0 12.884002 10.485321 23.327636 23.418213 23.327636h125.337707c12.932861 0 23.418396-10.443634 23.418396-23.327636 0-12.883972-10.485535-23.329926-23.418396-23.329926zm25.851806-67.628723c-12.932892 0-23.418457 10.445984-23.418457 23.329987 0 12.883972 10.485565 23.329956 23.418457 23.329956h125.337647c12.935241 0 23.418518-10.445984 23.418518-23.329956 0-12.884003-10.483277-23.329987-23.418518-23.329987z" fill="url(#a)" fill-rule="evenodd"/><path d="m562.606018 115.444397c0-44.68573-36.362976-80.910645-81.218262-80.910645-44.857544 0-81.220581 36.224915-81.220581 80.910645 0 44.68576 36.363037 80.910889 81.220581 80.910889 44.855286 0 81.218262-36.225129 81.218262-80.910889z" fill="#ff2e2e"/><path d="m462.833679 99.05127 20.589295-17.695984h7.036926v62.475586h13.601135v6.524414h-37.11969v-6.524414h14.877197v-46.985718c0-1.408325.04657-2.83197.142029-4.271485l-12.374023 10.514405c-.314331.250305-.638001.437988-.968689.563049-.330628.125305-.638001.187927-.919739.187927-.472717 0-.905823-.10968-1.299377-.328552-.393555-.219116-.684571-.469482-.87323-.750977z" fill="#fff"/></svg>
|
||||
|
After Width: | Height: | Size: 2.5 KiB |
747
airbyte-integrations/connectors/source-customerly/manifest.yaml
Normal file
747
airbyte-integrations/connectors/source-customerly/manifest.yaml
Normal file
@@ -0,0 +1,747 @@
|
||||
version: 6.5.2
|
||||
|
||||
type: DeclarativeSource
|
||||
|
||||
description: Connector for customerly.io
|
||||
|
||||
check:
|
||||
type: CheckStream
|
||||
stream_names:
|
||||
- users
|
||||
|
||||
definitions:
|
||||
streams:
|
||||
leads:
|
||||
type: DeclarativeStream
|
||||
name: leads
|
||||
retriever:
|
||||
type: SimpleRetriever
|
||||
paginator:
|
||||
type: DefaultPaginator
|
||||
page_size_option:
|
||||
type: RequestOption
|
||||
field_name: per_page
|
||||
inject_into: request_parameter
|
||||
page_token_option:
|
||||
type: RequestOption
|
||||
field_name: page
|
||||
inject_into: request_parameter
|
||||
pagination_strategy:
|
||||
type: PageIncrement
|
||||
page_size: 50
|
||||
start_from_page: 0
|
||||
requester:
|
||||
$ref: "#/definitions/base_requester"
|
||||
path: leads/list
|
||||
http_method: GET
|
||||
request_parameters:
|
||||
sort: last_update
|
||||
sort_direction: desc
|
||||
record_selector:
|
||||
type: RecordSelector
|
||||
extractor:
|
||||
type: DpathExtractor
|
||||
field_path:
|
||||
- data
|
||||
- leads
|
||||
schema_normalization: Default
|
||||
primary_key:
|
||||
- crmhero_user_id
|
||||
schema_loader:
|
||||
type: InlineSchemaLoader
|
||||
schema:
|
||||
$ref: "#/schemas/leads"
|
||||
transformations:
|
||||
- type: AddFields
|
||||
fields:
|
||||
- path:
|
||||
- ab_test
|
||||
value: "{{ record['attributes']['ab_test'] }}"
|
||||
- type: AddFields
|
||||
fields:
|
||||
- path:
|
||||
- ab_test_var
|
||||
value: "{{ record['attributes']['ab_test_var'] }}"
|
||||
- type: AddFields
|
||||
fields:
|
||||
- path:
|
||||
- create_date
|
||||
value: "{{ record['attributes']['create_date'] }}"
|
||||
- type: AddFields
|
||||
fields:
|
||||
- path:
|
||||
- role
|
||||
value: "{{ record['attributes']['role'] }}"
|
||||
- type: AddFields
|
||||
fields:
|
||||
- path:
|
||||
- sub_active
|
||||
value: "{{ record['attributes']['sub_active'] }}"
|
||||
- type: AddFields
|
||||
fields:
|
||||
- path:
|
||||
- sub_status
|
||||
value: "{{ record['attributes']['sub_status'] }}"
|
||||
- type: AddFields
|
||||
fields:
|
||||
- path:
|
||||
- username
|
||||
value: "{{ record['attributes']['username'] }}"
|
||||
- type: AddFields
|
||||
fields:
|
||||
- path:
|
||||
- initiated_checkout_at
|
||||
value: "{{ record['attributes']['initiated_checkout_at'] }}"
|
||||
- type: RemoveFields
|
||||
field_pointers:
|
||||
- - utm_source
|
||||
- type: RemoveFields
|
||||
field_pointers:
|
||||
- - was_lead
|
||||
- type: RemoveFields
|
||||
field_pointers:
|
||||
- - ip_address
|
||||
- type: RemoveFields
|
||||
field_pointers:
|
||||
- - isp
|
||||
- type: RemoveFields
|
||||
field_pointers:
|
||||
- - browser_version
|
||||
- type: RemoveFields
|
||||
field_pointers:
|
||||
- - last_page_viewed
|
||||
- type: RemoveFields
|
||||
field_pointers:
|
||||
- - last_page_viewed_at
|
||||
- type: RemoveFields
|
||||
field_pointers:
|
||||
- - android_app_name
|
||||
- type: RemoveFields
|
||||
field_pointers:
|
||||
- - android_app_version
|
||||
- type: RemoveFields
|
||||
field_pointers:
|
||||
- - android_device
|
||||
- type: RemoveFields
|
||||
field_pointers:
|
||||
- - android_last_seen_at
|
||||
- type: RemoveFields
|
||||
field_pointers:
|
||||
- - android_os_version
|
||||
- type: RemoveFields
|
||||
field_pointers:
|
||||
- - android_session
|
||||
- type: RemoveFields
|
||||
field_pointers:
|
||||
- - ios_app_name
|
||||
- type: RemoveFields
|
||||
field_pointers:
|
||||
- - ios_app_version
|
||||
- type: RemoveFields
|
||||
field_pointers:
|
||||
- - ios_device
|
||||
- type: RemoveFields
|
||||
field_pointers:
|
||||
- - ios_last_seen_at
|
||||
- type: RemoveFields
|
||||
field_pointers:
|
||||
- - ios_os_version
|
||||
- type: RemoveFields
|
||||
field_pointers:
|
||||
- - ios_session
|
||||
- type: RemoveFields
|
||||
field_pointers:
|
||||
- - referrer
|
||||
- type: RemoveFields
|
||||
field_pointers:
|
||||
- - utm_campaign
|
||||
- type: RemoveFields
|
||||
field_pointers:
|
||||
- - utm_content
|
||||
- type: RemoveFields
|
||||
field_pointers:
|
||||
- - utm_medium
|
||||
- type: RemoveFields
|
||||
field_pointers:
|
||||
- - utm_source
|
||||
- type: RemoveFields
|
||||
field_pointers:
|
||||
- - utm_term
|
||||
- type: RemoveFields
|
||||
field_pointers:
|
||||
- - picture_background
|
||||
- type: RemoveFields
|
||||
field_pointers:
|
||||
- - picture_gravatar
|
||||
- type: RemoveFields
|
||||
field_pointers:
|
||||
- - picture_gravatar_last_update
|
||||
- type: RemoveFields
|
||||
field_pointers:
|
||||
- - picture_gravatar
|
||||
- type: RemoveFields
|
||||
field_pointers:
|
||||
- - facebook_profile_id
|
||||
- type: RemoveFields
|
||||
field_pointers:
|
||||
- - name
|
||||
- type: RemoveFields
|
||||
field_pointers:
|
||||
- - is_user
|
||||
- type: RemoveFields
|
||||
field_pointers:
|
||||
- - rating
|
||||
- type: RemoveFields
|
||||
field_pointers:
|
||||
- - web_session
|
||||
- type: RemoveFields
|
||||
field_pointers:
|
||||
- - app_id
|
||||
- type: RemoveFields
|
||||
field_pointers:
|
||||
- - is_name_autogenerated
|
||||
- type: RemoveFields
|
||||
field_pointers:
|
||||
- - picture_initials
|
||||
- type: RemoveFields
|
||||
field_pointers:
|
||||
- - spam
|
||||
- type: RemoveFields
|
||||
field_pointers:
|
||||
- - bounce
|
||||
- type: RemoveFields
|
||||
field_pointers:
|
||||
- - attributes
|
||||
incremental_sync:
|
||||
type: DatetimeBasedCursor
|
||||
cursor_field: last_update
|
||||
is_data_feed: true
|
||||
start_datetime:
|
||||
type: MinMaxDatetime
|
||||
datetime: "2024-01-01"
|
||||
datetime_format: "%Y-%m-%d"
|
||||
datetime_format: "%Y-%m-%d %H:%M:%S"
|
||||
cursor_datetime_formats:
|
||||
- "%Y-%m-%d %H:%M:%S"
|
||||
users:
|
||||
type: DeclarativeStream
|
||||
name: users
|
||||
retriever:
|
||||
type: SimpleRetriever
|
||||
paginator:
|
||||
type: DefaultPaginator
|
||||
page_size_option:
|
||||
type: RequestOption
|
||||
field_name: per_page
|
||||
inject_into: request_parameter
|
||||
page_token_option:
|
||||
type: RequestOption
|
||||
field_name: page
|
||||
inject_into: request_parameter
|
||||
pagination_strategy:
|
||||
type: PageIncrement
|
||||
page_size: 50
|
||||
start_from_page: 0
|
||||
requester:
|
||||
$ref: "#/definitions/base_requester"
|
||||
path: users/list
|
||||
http_method: GET
|
||||
request_parameters:
|
||||
sort: last_update
|
||||
sort_direction: desc
|
||||
record_selector:
|
||||
type: RecordSelector
|
||||
extractor:
|
||||
type: DpathExtractor
|
||||
field_path:
|
||||
- data
|
||||
- users
|
||||
schema_normalization: Default
|
||||
primary_key:
|
||||
- user_id
|
||||
- email
|
||||
schema_loader:
|
||||
type: InlineSchemaLoader
|
||||
schema:
|
||||
$ref: "#/schemas/users"
|
||||
transformations:
|
||||
- type: AddFields
|
||||
fields:
|
||||
- path:
|
||||
- ab_test
|
||||
value: "{{ record['attributes']['ab_test'] }}"
|
||||
- type: AddFields
|
||||
fields:
|
||||
- path:
|
||||
- ab_test_var
|
||||
value: "{{ record['attributes']['ab_test_var'] }}"
|
||||
- type: AddFields
|
||||
fields:
|
||||
- path:
|
||||
- create_date
|
||||
value: "{{ record['attributes']['create_date'] }}"
|
||||
- type: AddFields
|
||||
fields:
|
||||
- path:
|
||||
- role
|
||||
value: "{{ record['attributes']['role'] }}"
|
||||
- type: AddFields
|
||||
fields:
|
||||
- path:
|
||||
- sub_active
|
||||
value: "{{ record['attributes']['sub_active'] }}"
|
||||
- type: AddFields
|
||||
fields:
|
||||
- path:
|
||||
- sub_status
|
||||
value: "{{ record['attributes']['sub_status'] }}"
|
||||
- type: AddFields
|
||||
fields:
|
||||
- path:
|
||||
- username
|
||||
value: "{{ record['attributes']['username'] }}"
|
||||
- type: AddFields
|
||||
fields:
|
||||
- path:
|
||||
- initiated_checkout_at
|
||||
value: "{{ record['attributes']['initiated_checkout_at'] }}"
|
||||
- type: RemoveFields
|
||||
field_pointers:
|
||||
- - utm_source
|
||||
- type: RemoveFields
|
||||
field_pointers:
|
||||
- - was_lead
|
||||
- type: RemoveFields
|
||||
field_pointers:
|
||||
- - ip_address
|
||||
- type: RemoveFields
|
||||
field_pointers:
|
||||
- - isp
|
||||
- type: RemoveFields
|
||||
field_pointers:
|
||||
- - browser_version
|
||||
- type: RemoveFields
|
||||
field_pointers:
|
||||
- - last_page_viewed
|
||||
- type: RemoveFields
|
||||
field_pointers:
|
||||
- - last_page_viewed_at
|
||||
- type: RemoveFields
|
||||
field_pointers:
|
||||
- - android_app_name
|
||||
- type: RemoveFields
|
||||
field_pointers:
|
||||
- - android_app_version
|
||||
- type: RemoveFields
|
||||
field_pointers:
|
||||
- - android_device
|
||||
- type: RemoveFields
|
||||
field_pointers:
|
||||
- - android_last_seen_at
|
||||
- type: RemoveFields
|
||||
field_pointers:
|
||||
- - android_os_version
|
||||
- type: RemoveFields
|
||||
field_pointers:
|
||||
- - android_session
|
||||
- type: RemoveFields
|
||||
field_pointers:
|
||||
- - ios_app_name
|
||||
- type: RemoveFields
|
||||
field_pointers:
|
||||
- - ios_app_version
|
||||
- type: RemoveFields
|
||||
field_pointers:
|
||||
- - ios_device
|
||||
- type: RemoveFields
|
||||
field_pointers:
|
||||
- - ios_last_seen_at
|
||||
- type: RemoveFields
|
||||
field_pointers:
|
||||
- - ios_os_version
|
||||
- type: RemoveFields
|
||||
field_pointers:
|
||||
- - ios_session
|
||||
- type: RemoveFields
|
||||
field_pointers:
|
||||
- - referrer
|
||||
- type: RemoveFields
|
||||
field_pointers:
|
||||
- - utm_campaign
|
||||
- type: RemoveFields
|
||||
field_pointers:
|
||||
- - utm_content
|
||||
- type: RemoveFields
|
||||
field_pointers:
|
||||
- - utm_medium
|
||||
- type: RemoveFields
|
||||
field_pointers:
|
||||
- - utm_source
|
||||
- type: RemoveFields
|
||||
field_pointers:
|
||||
- - utm_term
|
||||
- type: RemoveFields
|
||||
field_pointers:
|
||||
- - picture_background
|
||||
- type: RemoveFields
|
||||
field_pointers:
|
||||
- - picture_gravatar
|
||||
- type: RemoveFields
|
||||
field_pointers:
|
||||
- - picture_gravatar_last_update
|
||||
- type: RemoveFields
|
||||
field_pointers:
|
||||
- - picture_gravatar
|
||||
- type: RemoveFields
|
||||
field_pointers:
|
||||
- - facebook_profile_id
|
||||
- type: RemoveFields
|
||||
field_pointers:
|
||||
- - name
|
||||
- type: RemoveFields
|
||||
field_pointers:
|
||||
- - is_user
|
||||
- type: RemoveFields
|
||||
field_pointers:
|
||||
- - rating
|
||||
- type: RemoveFields
|
||||
field_pointers:
|
||||
- - web_session
|
||||
- type: RemoveFields
|
||||
field_pointers:
|
||||
- - app_id
|
||||
- type: RemoveFields
|
||||
field_pointers:
|
||||
- - is_name_autogenerated
|
||||
- type: RemoveFields
|
||||
field_pointers:
|
||||
- - picture_initials
|
||||
- type: RemoveFields
|
||||
field_pointers:
|
||||
- - spam
|
||||
- type: RemoveFields
|
||||
field_pointers:
|
||||
- - bounce
|
||||
- type: RemoveFields
|
||||
field_pointers:
|
||||
- - attributes
|
||||
incremental_sync:
|
||||
type: DatetimeBasedCursor
|
||||
cursor_field: last_update
|
||||
is_data_feed: true
|
||||
start_datetime:
|
||||
type: MinMaxDatetime
|
||||
datetime: "2024-01-01"
|
||||
datetime_format: "%Y-%m-%d"
|
||||
datetime_format: "%Y-%m-%d %H:%M:%S"
|
||||
cursor_datetime_formats:
|
||||
- "%Y-%m-%d %H:%M:%S"
|
||||
base_requester:
|
||||
type: HttpRequester
|
||||
url_base: https://api.customerly.io/v1/
|
||||
authenticator:
|
||||
type: BearerAuthenticator
|
||||
api_token: "{{ config[\"api_key\"] }}"
|
||||
|
||||
streams:
|
||||
- $ref: "#/definitions/streams/users"
|
||||
- $ref: "#/definitions/streams/leads"
|
||||
|
||||
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:
|
||||
assist: {}
|
||||
testedStreams:
|
||||
leads:
|
||||
hasRecords: true
|
||||
streamHash: 7b31efcc26e955e5ae2969e4453bd5124a5c2797
|
||||
hasResponse: true
|
||||
primaryKeysAreUnique: true
|
||||
primaryKeysArePresent: true
|
||||
responsesAreSuccessful: true
|
||||
users:
|
||||
hasRecords: true
|
||||
streamHash: 79976ce70a608e62853c83d36f2a5935eed4e021
|
||||
hasResponse: true
|
||||
primaryKeysAreUnique: true
|
||||
primaryKeysArePresent: true
|
||||
responsesAreSuccessful: true
|
||||
yamlComponents:
|
||||
streams:
|
||||
leads:
|
||||
- incrementalSync
|
||||
users:
|
||||
- incrementalSync
|
||||
autoImportSchema:
|
||||
leads: true
|
||||
users: true
|
||||
|
||||
schemas:
|
||||
leads:
|
||||
type: object
|
||||
$schema: http://json-schema.org/schema#
|
||||
required:
|
||||
- crmhero_user_id
|
||||
- last_update
|
||||
properties:
|
||||
os:
|
||||
type:
|
||||
- string
|
||||
- "null"
|
||||
city:
|
||||
type:
|
||||
- string
|
||||
- "null"
|
||||
role:
|
||||
type:
|
||||
- string
|
||||
- "null"
|
||||
email:
|
||||
type:
|
||||
- string
|
||||
- "null"
|
||||
region:
|
||||
type:
|
||||
- string
|
||||
- "null"
|
||||
ab_test:
|
||||
type:
|
||||
- number
|
||||
- string
|
||||
- "null"
|
||||
country:
|
||||
type:
|
||||
- string
|
||||
- "null"
|
||||
latitude:
|
||||
type:
|
||||
- number
|
||||
- "null"
|
||||
timezone:
|
||||
type:
|
||||
- string
|
||||
- "null"
|
||||
username:
|
||||
type:
|
||||
- string
|
||||
- "null"
|
||||
continent:
|
||||
type:
|
||||
- string
|
||||
- "null"
|
||||
longitude:
|
||||
type:
|
||||
- number
|
||||
- "null"
|
||||
os_version:
|
||||
type:
|
||||
- string
|
||||
- "null"
|
||||
sub_active:
|
||||
type:
|
||||
- string
|
||||
- "null"
|
||||
sub_status:
|
||||
type:
|
||||
- string
|
||||
- "null"
|
||||
ab_test_var:
|
||||
type:
|
||||
- number
|
||||
- string
|
||||
- "null"
|
||||
create_date:
|
||||
type:
|
||||
- number
|
||||
- string
|
||||
- "null"
|
||||
last_update:
|
||||
type: string
|
||||
postal_code:
|
||||
type:
|
||||
- string
|
||||
- "null"
|
||||
region_code:
|
||||
type:
|
||||
- string
|
||||
- "null"
|
||||
unsubscribe:
|
||||
type:
|
||||
- number
|
||||
- "null"
|
||||
browser_name:
|
||||
type:
|
||||
- string
|
||||
- "null"
|
||||
country_code:
|
||||
type:
|
||||
- string
|
||||
- "null"
|
||||
first_seen_at:
|
||||
type:
|
||||
- number
|
||||
- "null"
|
||||
last_activity:
|
||||
type:
|
||||
- number
|
||||
- "null"
|
||||
continent_code:
|
||||
type:
|
||||
- string
|
||||
- "null"
|
||||
crmhero_user_id:
|
||||
type: number
|
||||
browser_language:
|
||||
type:
|
||||
- string
|
||||
- "null"
|
||||
initiated_checkout_at:
|
||||
type:
|
||||
- string
|
||||
- "null"
|
||||
additionalProperties: true
|
||||
users:
|
||||
type: object
|
||||
$schema: http://json-schema.org/schema#
|
||||
required:
|
||||
- user_id
|
||||
- email
|
||||
- last_update
|
||||
properties:
|
||||
os:
|
||||
type:
|
||||
- string
|
||||
- "null"
|
||||
city:
|
||||
type:
|
||||
- string
|
||||
- "null"
|
||||
role:
|
||||
type:
|
||||
- string
|
||||
- "null"
|
||||
email:
|
||||
type: string
|
||||
region:
|
||||
type:
|
||||
- string
|
||||
- "null"
|
||||
ab_test:
|
||||
type:
|
||||
- number
|
||||
- string
|
||||
- "null"
|
||||
country:
|
||||
type:
|
||||
- string
|
||||
- "null"
|
||||
user_id:
|
||||
type: string
|
||||
latitude:
|
||||
type:
|
||||
- number
|
||||
- "null"
|
||||
nps_vote:
|
||||
type:
|
||||
- number
|
||||
- "null"
|
||||
timezone:
|
||||
type:
|
||||
- string
|
||||
- "null"
|
||||
username:
|
||||
type:
|
||||
- string
|
||||
- "null"
|
||||
continent:
|
||||
type:
|
||||
- string
|
||||
- "null"
|
||||
longitude:
|
||||
type:
|
||||
- number
|
||||
- "null"
|
||||
os_version:
|
||||
type:
|
||||
- string
|
||||
- "null"
|
||||
sub_active:
|
||||
type:
|
||||
- number
|
||||
- string
|
||||
- "null"
|
||||
sub_status:
|
||||
type:
|
||||
- string
|
||||
- "null"
|
||||
ab_test_var:
|
||||
type:
|
||||
- number
|
||||
- string
|
||||
- "null"
|
||||
create_date:
|
||||
type:
|
||||
- number
|
||||
- string
|
||||
- "null"
|
||||
last_update:
|
||||
type: string
|
||||
postal_code:
|
||||
type:
|
||||
- string
|
||||
- "null"
|
||||
region_code:
|
||||
type:
|
||||
- string
|
||||
- "null"
|
||||
unsubscribe:
|
||||
type:
|
||||
- number
|
||||
- "null"
|
||||
browser_name:
|
||||
type:
|
||||
- string
|
||||
- "null"
|
||||
country_code:
|
||||
type:
|
||||
- string
|
||||
- "null"
|
||||
first_seen_at:
|
||||
type:
|
||||
- number
|
||||
- "null"
|
||||
last_activity:
|
||||
type:
|
||||
- number
|
||||
- "null"
|
||||
continent_code:
|
||||
type:
|
||||
- string
|
||||
- "null"
|
||||
crmhero_user_id:
|
||||
type:
|
||||
- number
|
||||
- "null"
|
||||
browser_language:
|
||||
type:
|
||||
- string
|
||||
- "null"
|
||||
initiated_checkout_at:
|
||||
type:
|
||||
- number
|
||||
- string
|
||||
- "null"
|
||||
additionalProperties: true
|
||||
@@ -0,0 +1,35 @@
|
||||
metadataSpecVersion: "1.0"
|
||||
data:
|
||||
allowedHosts:
|
||||
hosts:
|
||||
- "api.customerly.io"
|
||||
registryOverrides:
|
||||
oss:
|
||||
enabled: true
|
||||
cloud:
|
||||
enabled: true
|
||||
remoteRegistries:
|
||||
pypi:
|
||||
enabled: false
|
||||
packageName: airbyte-source-customerly
|
||||
connectorBuildOptions:
|
||||
baseImage: docker.io/airbyte/source-declarative-manifest:6.41.3@sha256:dad33e5ffdd4a2480ea809d79ebad0128214c3cd0f2799ae3f0232e737a0bc58
|
||||
connectorSubtype: api
|
||||
connectorType: source
|
||||
definitionId: 5a48749a-84ee-4a4e-8e84-217119fbe438
|
||||
dockerImageTag: 0.0.1
|
||||
dockerRepository: airbyte/source-customerly
|
||||
githubIssueLabel: source-customerly
|
||||
icon: icon.svg
|
||||
license: MIT
|
||||
name: Customerly
|
||||
releaseDate: 2025-03-18
|
||||
releaseStage: alpha
|
||||
supportLevel: community
|
||||
documentationUrl: https://docs.airbyte.com/integrations/sources/customerly
|
||||
tags:
|
||||
- language:manifest-only
|
||||
- cdk:low-code
|
||||
ab_internal:
|
||||
ql: 100
|
||||
sl: 100
|
||||
25
docs/integrations/sources/customerly.md
Normal file
25
docs/integrations/sources/customerly.md
Normal file
@@ -0,0 +1,25 @@
|
||||
# Customerly
|
||||
Connector for customerly.io
|
||||
|
||||
## Configuration
|
||||
|
||||
| Input | Type | Description | Default Value |
|
||||
|-------|------|-------------|---------------|
|
||||
| `api_key` | `string` | API Key. | |
|
||||
|
||||
## Streams
|
||||
| Stream Name | Primary Key | Pagination | Supports Full Sync | Supports Incremental |
|
||||
|-------------|-------------|------------|---------------------|----------------------|
|
||||
| users | user_id.email | DefaultPaginator | ✅ | ✅ |
|
||||
| leads | crmhero_user_id | DefaultPaginator | ✅ | ✅ |
|
||||
|
||||
## Changelog
|
||||
|
||||
<details>
|
||||
<summary>Expand to review</summary>
|
||||
|
||||
| Version | Date | Pull Request | Subject |
|
||||
|------------------|-------------------|--------------|----------------|
|
||||
| 0.0.1 | 2025-03-18 | | Initial release by [@Shuky](https://github.com/Shuky) via Connector Builder |
|
||||
|
||||
</details>
|
||||
Reference in New Issue
Block a user