This PR introduces a new connector source-genesys with two streams.
The main changes in this PR are:
Update estuary-cdk to support the OAuth2 client credentials grant type flow as detailed per the OAuth 2.0 standard.
Since Genesys API URLs have a cloud region dependent domain, the user will have to select which domain is used for their Genesys Cloud deployment. Our current OAuth2 flow that shows a nice "Authenticate with OAuth" button in the UI doesn't support using URLs that contain user-configured domains. Genesys requires OAuth2 for authorization, so I added the capability to use the client credentials grant type flow for OAuth2 to support these use cases where a URL within the OAuth flow must contain a user-configured value.
Create the new source-genesys connector with the following two streams:
conversations- incremental
a. The asynchronous analytics job endpoint is used for incremental updates. It is not updated in real-time, and data availability can be delayed by hours to a full day (ex: the delay's been ~13 hours during my testing). However, this is the only reliable way to get updated conversations, so it's used.
b. The query endpoint is updated in real-time, but is only appropriate for retrieving conversations when they're created - we can't ask this endpoint for updated conversations. An implementation using this query endpoint is left in a previous commit in case we want to use it later if/when the CDK can support delayed streams or multiple cursors per stream.
Workflow steps:
(How does one use this feature, and how has it changed)
Documentation links affected:
Documentation will need created for source-genesys. I'll link the doc creation PR once it is ready.
Notes for reviewers:
Tested on a local stack. Confirmed:
Authorization with the OAuth2 client credentials flow works.
users snapshots work as intended and retrieve all expected data.
conversations backfills and incremental replication work as intended and retrieve all expected data.
I used a trial Genesys account for initial testing & setup. Since these trial accounts expire after a month, I did not include a capture snapshot.
Description:
This PR introduces a new connector
source-genesys
with two streams.The main changes in this PR are:
estuary-cdk
to support the OAuth2 client credentials grant type flow as detailed per the OAuth 2.0 standard.source-genesys
connector with the following two streams:users
- snapshotconversations
- incremental a. The asynchronous analytics job endpoint is used for incremental updates. It is not updated in real-time, and data availability can be delayed by hours to a full day (ex: the delay's been ~13 hours during my testing). However, this is the only reliable way to get updated conversations, so it's used. b. The query endpoint is updated in real-time, but is only appropriate for retrieving conversations when they're created - we can't ask this endpoint for updated conversations. An implementation using this query endpoint is left in a previous commit in case we want to use it later if/when the CDK can support delayed streams or multiple cursors per stream.Workflow steps:
(How does one use this feature, and how has it changed)
Documentation links affected:
Documentation will need created for
source-genesys
. I'll link the doc creation PR once it is ready.Notes for reviewers:
Tested on a local stack. Confirmed:
users
snapshots work as intended and retrieve all expected data.conversations
backfills and incremental replication work as intended and retrieve all expected data.I used a trial Genesys account for initial testing & setup. Since these trial accounts expire after a month, I did not include a capture snapshot.
This change is