Created
August 7, 2023 04:36
-
-
Save catkins/d1267c32fda475d54ce5a91b6015dcd3 to your computer and use it in GitHub Desktop.
Helpscout airbyte low-code connector
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| version: 0.50.0 | |
| type: DeclarativeSource | |
| check: | |
| type: CheckStream | |
| stream_names: | |
| - Mailboxes | |
| streams: | |
| - type: DeclarativeStream | |
| name: Mailboxes | |
| primary_key: | |
| - id | |
| schema_loader: | |
| type: InlineSchemaLoader | |
| schema: | |
| $schema: http://json-schema.org/schema# | |
| properties: | |
| _links: | |
| properties: | |
| fields: | |
| properties: | |
| href: | |
| type: string | |
| type: object | |
| folders: | |
| properties: | |
| href: | |
| type: string | |
| type: object | |
| self: | |
| properties: | |
| href: | |
| type: string | |
| type: object | |
| type: object | |
| createdAt: | |
| type: string | |
| email: | |
| type: string | |
| id: | |
| type: number | |
| name: | |
| type: string | |
| slug: | |
| type: string | |
| updatedAt: | |
| type: string | |
| type: object | |
| retriever: | |
| type: SimpleRetriever | |
| requester: | |
| type: HttpRequester | |
| url_base: https://api.helpscout.net/ | |
| path: /v2/mailboxes | |
| http_method: GET | |
| request_parameters: {} | |
| request_headers: {} | |
| authenticator: | |
| type: OAuthAuthenticator | |
| client_id: '{{ config[''client_id''] }}' | |
| grant_type: client_credentials | |
| client_secret: '{{ config[''client_secret''] }}' | |
| refresh_request_body: {} | |
| token_refresh_endpoint: https://api.helpscout.net/v2/oauth2/token | |
| request_body_json: {} | |
| record_selector: | |
| type: RecordSelector | |
| extractor: | |
| type: DpathExtractor | |
| field_path: | |
| - _embedded | |
| - mailboxes | |
| - '*' | |
| paginator: | |
| type: NoPagination | |
| - type: DeclarativeStream | |
| name: Conversations | |
| primary_key: | |
| - id | |
| schema_loader: | |
| type: InlineSchemaLoader | |
| schema: | |
| $schema: http://json-schema.org/schema# | |
| properties: | |
| _embedded: | |
| properties: | |
| threads: | |
| type: array | |
| type: object | |
| _links: | |
| properties: | |
| assignee: | |
| properties: | |
| href: | |
| type: string | |
| type: object | |
| closedBy: | |
| properties: | |
| href: | |
| type: string | |
| type: object | |
| createdByCustomer: | |
| properties: | |
| href: | |
| type: string | |
| type: object | |
| createdByUser: | |
| properties: | |
| href: | |
| type: string | |
| type: object | |
| mailbox: | |
| properties: | |
| href: | |
| type: string | |
| type: object | |
| primaryCustomer: | |
| properties: | |
| href: | |
| type: string | |
| type: object | |
| self: | |
| properties: | |
| href: | |
| type: string | |
| type: object | |
| threads: | |
| properties: | |
| href: | |
| type: string | |
| type: object | |
| web: | |
| properties: | |
| href: | |
| type: string | |
| type: object | |
| type: object | |
| assignee: | |
| properties: | |
| email: | |
| type: string | |
| first: | |
| type: string | |
| id: | |
| type: number | |
| last: | |
| type: string | |
| photoUrl: | |
| type: string | |
| type: | |
| type: string | |
| type: object | |
| bcc: | |
| type: array | |
| cc: | |
| items: | |
| type: string | |
| type: array | |
| closedAt: | |
| type: string | |
| closedBy: | |
| type: number | |
| closedByUser: | |
| properties: | |
| email: | |
| type: string | |
| first: | |
| type: string | |
| id: | |
| type: number | |
| last: | |
| type: string | |
| photoUrl: | |
| type: string | |
| type: | |
| type: string | |
| type: object | |
| createdAt: | |
| type: string | |
| createdBy: | |
| properties: | |
| email: | |
| type: string | |
| first: | |
| type: string | |
| id: | |
| type: number | |
| last: | |
| type: string | |
| photoUrl: | |
| type: string | |
| type: | |
| type: string | |
| type: object | |
| customFields: | |
| items: | |
| properties: | |
| id: | |
| type: number | |
| name: | |
| type: string | |
| text: | |
| type: string | |
| value: | |
| type: string | |
| type: object | |
| type: array | |
| customerWaitingSince: | |
| properties: | |
| friendly: | |
| type: string | |
| time: | |
| type: string | |
| type: object | |
| folderId: | |
| type: number | |
| id: | |
| type: number | |
| mailboxId: | |
| type: number | |
| number: | |
| type: number | |
| preview: | |
| type: string | |
| primaryCustomer: | |
| properties: | |
| email: | |
| type: string | |
| first: | |
| type: string | |
| id: | |
| type: number | |
| last: | |
| type: string | |
| photoUrl: | |
| type: string | |
| type: | |
| type: string | |
| type: object | |
| source: | |
| properties: | |
| type: | |
| type: string | |
| via: | |
| type: string | |
| type: object | |
| state: | |
| type: string | |
| status: | |
| type: string | |
| subject: | |
| type: string | |
| tags: | |
| items: | |
| properties: | |
| color: | |
| type: string | |
| id: | |
| type: number | |
| tag: | |
| type: string | |
| type: object | |
| type: array | |
| threads: | |
| type: number | |
| type: | |
| type: string | |
| userUpdatedAt: | |
| type: string | |
| type: object | |
| retriever: | |
| type: SimpleRetriever | |
| requester: | |
| type: HttpRequester | |
| url_base: https://api.helpscout.net/ | |
| path: /v2/conversations | |
| http_method: GET | |
| request_parameters: | |
| status: all | |
| mailbox: '{{ stream_partition[''mailbox_id''] }}' | |
| sortField: modifiedAt | |
| request_headers: {} | |
| authenticator: | |
| type: OAuthAuthenticator | |
| client_id: '{{ config[''client_id''] }}' | |
| grant_type: client_credentials | |
| client_secret: '{{ config[''client_secret''] }}' | |
| refresh_request_body: {} | |
| token_refresh_endpoint: https://api.helpscout.net/v2/oauth2/token | |
| request_body_json: {} | |
| record_selector: | |
| type: RecordSelector | |
| extractor: | |
| type: DpathExtractor | |
| field_path: | |
| - _embedded | |
| - conversations | |
| - '*' | |
| paginator: | |
| type: DefaultPaginator | |
| page_token_option: | |
| type: RequestPath | |
| pagination_strategy: | |
| type: CursorPagination | |
| cursor_value: '{{ response.get("_links", {}).get("next", {}).get("href", {}) }}' | |
| stop_condition: '{{ not response.get("_links", {}).get("next", {}).get("href", {}) }}' | |
| partition_router: | |
| - type: SubstreamPartitionRouter | |
| parent_stream_configs: | |
| - type: ParentStreamConfig | |
| parent_key: id | |
| partition_field: mailbox_id | |
| stream: | |
| type: DeclarativeStream | |
| name: Mailboxes | |
| primary_key: | |
| - id | |
| schema_loader: | |
| type: InlineSchemaLoader | |
| schema: | |
| $schema: http://json-schema.org/schema# | |
| properties: | |
| _links: | |
| properties: | |
| fields: | |
| properties: | |
| href: | |
| type: string | |
| type: object | |
| folders: | |
| properties: | |
| href: | |
| type: string | |
| type: object | |
| self: | |
| properties: | |
| href: | |
| type: string | |
| type: object | |
| type: object | |
| createdAt: | |
| type: string | |
| email: | |
| type: string | |
| id: | |
| type: number | |
| name: | |
| type: string | |
| slug: | |
| type: string | |
| updatedAt: | |
| type: string | |
| type: object | |
| retriever: | |
| type: SimpleRetriever | |
| requester: | |
| type: HttpRequester | |
| url_base: https://api.helpscout.net/ | |
| path: /v2/mailboxes | |
| http_method: GET | |
| request_parameters: {} | |
| request_headers: {} | |
| authenticator: | |
| type: OAuthAuthenticator | |
| client_id: '{{ config[''client_id''] }}' | |
| grant_type: client_credentials | |
| client_secret: '{{ config[''client_secret''] }}' | |
| refresh_request_body: {} | |
| token_refresh_endpoint: https://api.helpscout.net/v2/oauth2/token | |
| request_body_json: {} | |
| record_selector: | |
| type: RecordSelector | |
| extractor: | |
| type: DpathExtractor | |
| field_path: | |
| - _embedded | |
| - mailboxes | |
| - '*' | |
| paginator: | |
| type: NoPagination | |
| incremental_sync: | |
| type: DatetimeBasedCursor | |
| cursor_field: createdAt | |
| datetime_format: '%Y-%m-%dT%H:%M:%SZ' | |
| lookback_window: P1D | |
| start_time_option: | |
| type: RequestOption | |
| field_name: modifiedSince | |
| inject_into: request_parameter | |
| start_datetime: | |
| type: MinMaxDatetime | |
| datetime: '{{ config[''start_date''] }}' | |
| datetime_format: '%Y-%m-%dT%H:%M:%SZ' | |
| - type: DeclarativeStream | |
| name: Threads | |
| primary_key: | |
| - id | |
| schema_loader: | |
| type: InlineSchemaLoader | |
| schema: | |
| $schema: http://json-schema.org/schema# | |
| properties: | |
| _embedded: | |
| properties: | |
| attachments: | |
| items: | |
| properties: | |
| _links: | |
| properties: | |
| data: | |
| properties: | |
| href: | |
| type: string | |
| type: object | |
| self: | |
| properties: | |
| href: | |
| type: string | |
| type: object | |
| web: | |
| properties: | |
| href: | |
| type: string | |
| type: object | |
| type: object | |
| filename: | |
| type: string | |
| height: | |
| type: number | |
| id: | |
| type: number | |
| mimeType: | |
| type: string | |
| size: | |
| type: number | |
| width: | |
| type: number | |
| type: object | |
| type: array | |
| type: object | |
| _links: | |
| properties: | |
| assignedTo: | |
| properties: | |
| href: | |
| type: string | |
| type: object | |
| createdByCustomer: | |
| properties: | |
| href: | |
| type: string | |
| type: object | |
| createdByUser: | |
| properties: | |
| href: | |
| type: string | |
| type: object | |
| customer: | |
| properties: | |
| href: | |
| type: string | |
| type: object | |
| type: object | |
| action: | |
| properties: | |
| associatedEntities: | |
| properties: | |
| mailbox: | |
| type: number | |
| user: | |
| type: number | |
| workflow: | |
| type: number | |
| type: object | |
| text: | |
| type: string | |
| type: | |
| type: string | |
| type: object | |
| assignedTo: | |
| properties: | |
| email: | |
| type: string | |
| first: | |
| type: string | |
| id: | |
| type: number | |
| last: | |
| type: string | |
| type: object | |
| bcc: | |
| type: array | |
| body: | |
| type: string | |
| cc: | |
| type: array | |
| conversationId: | |
| type: number | |
| createdAt: | |
| type: string | |
| createdBy: | |
| properties: | |
| email: | |
| type: string | |
| first: | |
| type: string | |
| id: | |
| type: number | |
| last: | |
| type: string | |
| photoUrl: | |
| type: string | |
| type: | |
| type: string | |
| type: object | |
| customer: | |
| properties: | |
| email: | |
| type: string | |
| first: | |
| type: string | |
| id: | |
| type: number | |
| last: | |
| type: string | |
| photoUrl: | |
| type: string | |
| type: object | |
| id: | |
| type: number | |
| openedAt: | |
| type: string | |
| savedReplyId: | |
| type: number | |
| source: | |
| properties: | |
| type: | |
| type: string | |
| via: | |
| type: string | |
| type: object | |
| state: | |
| type: string | |
| status: | |
| type: string | |
| to: | |
| type: array | |
| type: | |
| type: string | |
| type: object | |
| retriever: | |
| type: SimpleRetriever | |
| requester: | |
| type: HttpRequester | |
| url_base: https://api.helpscout.net/ | |
| path: /v2/conversations/{{ stream_partition['conversation_id'] }}/threads | |
| http_method: GET | |
| request_parameters: {} | |
| request_headers: {} | |
| authenticator: | |
| type: OAuthAuthenticator | |
| client_id: '{{ config[''client_id''] }}' | |
| grant_type: client_credentials | |
| client_secret: '{{ config[''client_secret''] }}' | |
| refresh_request_body: {} | |
| token_refresh_endpoint: https://api.helpscout.net/v2/oauth2/token | |
| request_body_json: {} | |
| record_selector: | |
| type: RecordSelector | |
| extractor: | |
| type: DpathExtractor | |
| field_path: | |
| - _embedded | |
| - threads | |
| - '*' | |
| paginator: | |
| type: DefaultPaginator | |
| page_token_option: | |
| type: RequestPath | |
| pagination_strategy: | |
| type: CursorPagination | |
| cursor_value: '{{ response.get("_links", {}).get("next", {}).get("href", {}) }}' | |
| stop_condition: '{{ not response.get("_links", {}).get("next", {}).get("href", {}) }}' | |
| partition_router: | |
| - type: SubstreamPartitionRouter | |
| parent_stream_configs: | |
| - type: ParentStreamConfig | |
| parent_key: id | |
| partition_field: conversation_id | |
| stream: | |
| type: DeclarativeStream | |
| name: Conversations | |
| primary_key: | |
| - id | |
| schema_loader: | |
| type: InlineSchemaLoader | |
| schema: | |
| $schema: http://json-schema.org/schema# | |
| properties: | |
| _embedded: | |
| properties: | |
| threads: | |
| type: array | |
| type: object | |
| _links: | |
| properties: | |
| assignee: | |
| properties: | |
| href: | |
| type: string | |
| type: object | |
| closedBy: | |
| properties: | |
| href: | |
| type: string | |
| type: object | |
| createdByCustomer: | |
| properties: | |
| href: | |
| type: string | |
| type: object | |
| createdByUser: | |
| properties: | |
| href: | |
| type: string | |
| type: object | |
| mailbox: | |
| properties: | |
| href: | |
| type: string | |
| type: object | |
| primaryCustomer: | |
| properties: | |
| href: | |
| type: string | |
| type: object | |
| self: | |
| properties: | |
| href: | |
| type: string | |
| type: object | |
| threads: | |
| properties: | |
| href: | |
| type: string | |
| type: object | |
| web: | |
| properties: | |
| href: | |
| type: string | |
| type: object | |
| type: object | |
| assignee: | |
| properties: | |
| email: | |
| type: string | |
| first: | |
| type: string | |
| id: | |
| type: number | |
| last: | |
| type: string | |
| photoUrl: | |
| type: string | |
| type: | |
| type: string | |
| type: object | |
| bcc: | |
| type: array | |
| cc: | |
| items: | |
| type: string | |
| type: array | |
| closedAt: | |
| type: string | |
| closedBy: | |
| type: number | |
| closedByUser: | |
| properties: | |
| email: | |
| type: string | |
| first: | |
| type: string | |
| id: | |
| type: number | |
| last: | |
| type: string | |
| photoUrl: | |
| type: string | |
| type: | |
| type: string | |
| type: object | |
| createdAt: | |
| type: string | |
| createdBy: | |
| properties: | |
| email: | |
| type: string | |
| first: | |
| type: string | |
| id: | |
| type: number | |
| last: | |
| type: string | |
| photoUrl: | |
| type: string | |
| type: | |
| type: string | |
| type: object | |
| customFields: | |
| items: | |
| properties: | |
| id: | |
| type: number | |
| name: | |
| type: string | |
| text: | |
| type: string | |
| value: | |
| type: string | |
| type: object | |
| type: array | |
| customerWaitingSince: | |
| properties: | |
| friendly: | |
| type: string | |
| time: | |
| type: string | |
| type: object | |
| folderId: | |
| type: number | |
| id: | |
| type: number | |
| mailboxId: | |
| type: number | |
| number: | |
| type: number | |
| preview: | |
| type: string | |
| primaryCustomer: | |
| properties: | |
| email: | |
| type: string | |
| first: | |
| type: string | |
| id: | |
| type: number | |
| last: | |
| type: string | |
| photoUrl: | |
| type: string | |
| type: | |
| type: string | |
| type: object | |
| source: | |
| properties: | |
| type: | |
| type: string | |
| via: | |
| type: string | |
| type: object | |
| state: | |
| type: string | |
| status: | |
| type: string | |
| subject: | |
| type: string | |
| tags: | |
| items: | |
| properties: | |
| color: | |
| type: string | |
| id: | |
| type: number | |
| tag: | |
| type: string | |
| type: object | |
| type: array | |
| threads: | |
| type: number | |
| type: | |
| type: string | |
| userUpdatedAt: | |
| type: string | |
| type: object | |
| retriever: | |
| type: SimpleRetriever | |
| requester: | |
| type: HttpRequester | |
| url_base: https://api.helpscout.net/ | |
| path: /v2/conversations | |
| http_method: GET | |
| request_parameters: | |
| status: all | |
| mailbox: '{{ stream_partition[''mailbox_id''] }}' | |
| sortField: modifiedAt | |
| request_headers: {} | |
| authenticator: | |
| type: OAuthAuthenticator | |
| client_id: '{{ config[''client_id''] }}' | |
| grant_type: client_credentials | |
| client_secret: '{{ config[''client_secret''] }}' | |
| refresh_request_body: {} | |
| token_refresh_endpoint: https://api.helpscout.net/v2/oauth2/token | |
| request_body_json: {} | |
| record_selector: | |
| type: RecordSelector | |
| extractor: | |
| type: DpathExtractor | |
| field_path: | |
| - _embedded | |
| - conversations | |
| - '*' | |
| paginator: | |
| type: DefaultPaginator | |
| page_token_option: | |
| type: RequestPath | |
| pagination_strategy: | |
| type: CursorPagination | |
| cursor_value: >- | |
| {{ response.get("_links", {}).get("next", | |
| {}).get("href", {}) }} | |
| stop_condition: >- | |
| {{ not response.get("_links", {}).get("next", | |
| {}).get("href", {}) }} | |
| partition_router: | |
| - type: SubstreamPartitionRouter | |
| parent_stream_configs: | |
| - type: ParentStreamConfig | |
| parent_key: id | |
| partition_field: mailbox_id | |
| stream: | |
| type: DeclarativeStream | |
| name: Mailboxes | |
| primary_key: | |
| - id | |
| schema_loader: | |
| type: InlineSchemaLoader | |
| schema: | |
| $schema: http://json-schema.org/schema# | |
| properties: | |
| _links: | |
| properties: | |
| fields: | |
| properties: | |
| href: | |
| type: string | |
| type: object | |
| folders: | |
| properties: | |
| href: | |
| type: string | |
| type: object | |
| self: | |
| properties: | |
| href: | |
| type: string | |
| type: object | |
| type: object | |
| createdAt: | |
| type: string | |
| email: | |
| type: string | |
| id: | |
| type: number | |
| name: | |
| type: string | |
| slug: | |
| type: string | |
| updatedAt: | |
| type: string | |
| type: object | |
| retriever: | |
| type: SimpleRetriever | |
| requester: | |
| type: HttpRequester | |
| url_base: https://api.helpscout.net/ | |
| path: /v2/mailboxes | |
| http_method: GET | |
| request_parameters: {} | |
| request_headers: {} | |
| authenticator: | |
| type: OAuthAuthenticator | |
| client_id: '{{ config[''client_id''] }}' | |
| grant_type: client_credentials | |
| client_secret: '{{ config[''client_secret''] }}' | |
| refresh_request_body: {} | |
| token_refresh_endpoint: https://api.helpscout.net/v2/oauth2/token | |
| request_body_json: {} | |
| record_selector: | |
| type: RecordSelector | |
| extractor: | |
| type: DpathExtractor | |
| field_path: | |
| - _embedded | |
| - mailboxes | |
| - '*' | |
| paginator: | |
| type: NoPagination | |
| incremental_sync: | |
| type: DatetimeBasedCursor | |
| cursor_field: createdAt | |
| datetime_format: '%Y-%m-%dT%H:%M:%SZ' | |
| lookback_window: P1D | |
| start_time_option: | |
| type: RequestOption | |
| field_name: modifiedSince | |
| inject_into: request_parameter | |
| start_datetime: | |
| type: MinMaxDatetime | |
| datetime: '{{ config[''start_date''] }}' | |
| datetime_format: '%Y-%m-%dT%H:%M:%SZ' | |
| transformations: | |
| - type: AddFields | |
| fields: | |
| - path: | |
| - conversationId | |
| value: '{{ stream_partition[''conversation_id''] }}' | |
| spec: | |
| connection_specification: | |
| $schema: http://json-schema.org/draft-07/schema# | |
| type: object | |
| required: | |
| - start_date | |
| - client_id | |
| - client_secret | |
| properties: | |
| start_date: | |
| type: string | |
| title: Start date | |
| format: date-time | |
| pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}Z$ | |
| order: 0 | |
| client_id: | |
| type: string | |
| title: Client ID | |
| airbyte_secret: true | |
| order: 1 | |
| client_secret: | |
| type: string | |
| title: Client secret | |
| airbyte_secret: true | |
| order: 2 | |
| additionalProperties: true | |
| documentation_url: https://example.org | |
| type: Spec | |
| metadata: | |
| autoImportSchema: | |
| Mailboxes: true | |
| Conversations: true | |
| Threads: true |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment