New Connector Builder Features Announcement

Summary

The Connector Builder now allows viewing and setting incremental sync state in the testing panel, as well as switching the Authentication component to YAML mode for custom authenticators. Auto-created user inputs can be modified in YAML mode and are re-locked when switching back to UI mode.


Question

Two new Connector Builder features to announce:
• When Incremental Sync is configured, the state output by each partition can now be viewed in the testing panel, and users can set the Input state to use for the next test read.
◦ This allows connector developers to verify that the incremental state matches the expected shape and is compatible with existing state, and to test how the connector responds to different input states.
◦ In the output state tab, there is also a Use as Input State button which allows users to easily use the output state as the input state for the next test read with a single click
◦ See first 2 screenshots below for an example of how this looks in the UI
• The Authentication component can now be switched to YAML-mode, allowing users to use custom authenticators (by following <airbyte-platform/airbyte-connector-builder-server/README.md at main · airbytehq/airbyte-platform · GitHub guide>) or authenticators that are not yet added to the UI
◦ This includes another subtle feature: when switching to YAML mode, any auto-created user inputs will remain and be “unlocked” so that users can modify them as they wish
◦ When switching the component back to UI mode, the required auto-created inputs are verified to have the required properties, and are re-locked upon switching to UI
◦ See the last screenshot below for an example of how this looks in the UI



This topic has been created from a Slack thread to give it more visibility.
It will be on Read-Only mode here. Click here if you want to access the original thread.

Join the conversation on Slack

["connector-builder", "incremental-sync", "testing-panel", "authentication", "yaml-mode", "custom-authenticators"]

With the authentication component, will that support doing OAuth (as normal in the UI) and add in Basic Auth for the client_id and client_secret all within the Auth flow? If so, could you show or point me to an example of how that would work?

An initial attempt looks like this, but I’m sure this isn’t correct:

    type: HttpRequester
    url_base: <https://api.ebay.com>
    authenticator:
      type: OAuthAuthenticator
      client_id: '{{ config["client_id"] }}'
      grant_type: client_credentials
      authenticator:
        type: BasicHttpAuthenticator
        password: '{{ config["client_secret"] }}'
        username: '{{ config["client_id"] }}'
        inject_into:
          type: RequestOption
          inject_into: header
      client_secret: '{{ config["client_secret"] }}'
      refresh_request_body: {}
      token_refresh_endpoint: <https://api.ebay.com/identity/v1/oauth2/token>```

Would <Authentication | Airbyte Documentation Token Auth> work for your use case?