Feature Request: Dynamic dropdown for account/resource IDs in connector configuration
- Lenguaje dominante
- Python
- Estrellas
- 22.1k
- Forks
- 5.3k
- Métricas de merge de PR
- Métricas de PR pendientes
Descripción
## Summary
Users currently have to manually find and enter account/resource IDs (e.g., Facebook Ad Account IDs, Google Ads Customer IDs, YouTube Channel IDs) when configuring connectors. This creates significant UX friction during onboarding.
**Requested by:** teo@airbyte.io
## Problem Statement
When configuring connectors like Facebook Marketing, users must:
1. Leave Airbyte
2. Navigate to external platforms (e.g., Meta Ads Manager)
3. Locate their account/page/channel IDs
4. Manually copy-paste them into Airbyte configuration forms
This is error-prone and creates a poor onboarding experience, especially for non-technical users.
## Proposed Solution
After OAuth authentication completes, Airbyte should:
1. Make an API call using the obtained credentials to fetch available accounts/resources
2. Populate a dropdown with the results
3. Allow users to select from the fetched options instead of manual entry
## Technical Analysis
Show/Hide Detailed Technical Analysis
### API Capability (Facebook Marketing Example)
The Facebook Graph API supports fetching ad accounts via `GET /me/adaccounts`. This endpoint is already referenced in the Facebook Marketing connector test fixtures (`conftest.py`).
### Current Limitation
Airbyte connector specifications are static JSON Schema. There is no platform-level mechanism to:
1. Trigger an API call after OAuth completes
2. Dynamically populate a dropdown with the results
3. Let users select from fetched options
### Existing Pattern (Instagram Connector)
The Instagram connector demonstrates runtime account discovery:
- Has an "Api" stream that calls `GET /me/accounts`
- Uses it as a parent stream via `SubstreamPartitionRouter`
- Dynamically discovers accounts at sync time
However, this happens during sync execution, not during configuration, so it does not solve the UX problem.
### What Would Be Needed
1. **Platform Enhancement**: Add support for "dynamic enum" or "dependent fields" in connector specs that can:
- Trigger after OAuth completes
- Make an API call using the obtained credentials
- Populate field options from the response
2. **Connector Updates**: Modify affected connectors to use this new capability
## Affected Connectors
This is a common pain point across many connectors that require account/workspace/project IDs:
- Facebook Marketing (Ad Account IDs)
- Google Ads (Customer IDs)
- YouTube Analytics (Channel IDs)
- Instagram (Business Account IDs)
- LinkedIn Ads (Account IDs)
- And many others...
## Impact
- **User Experience**: Significantly reduces friction during connector setup
- **Error Reduction**: Eliminates manual copy-paste errors
- **Onboarding**: Improves time-to-first-sync for new users
## Additional Context
This feature request originated from user feedback about the difficulty of connecting Facebook/Meta data sources. The user specifically mentioned: "We are encountering a massive amount of friction here."
---
**Internal Tracking:** https://github.com/airbytehq/oncall/issues/10885
Guía de contribución
Evaluación
Este issue todavía no se ha evaluado.