Creating Connectors
Follow these steps to create your own connector and contribute to the registry.
1. Clone the repository
Clone the factory repository to your local machine:
git clone https://github.com/514-labs/registry.git
cd registry
2. Generate a connector scaffold
From the registry directory, run the install script to generate a new connector with the appropriate structure:
bash -i <(curl https://registry.514.ai/install.sh) --type connector [connector-name] [version] [author] [language]
Example:
bash -i <(curl https://registry.514.ai/install.sh) --type connector ads-b-dot-lol v2 fiveonefour typescript data-api
This creates a new directory with your connector scaffold in the chosen language.
3. Determine your connector type
Identify which type of connector you're building:
- API Connector: For general REST/GraphQL APIs
- SaaS Connector: For third-party SaaS platforms and services
- Database Connector: For SQL databases (PostgreSQL, MySQL, etc.)
- Blob Storage Connector: For cloud storage (S3, GCS, Azure Blob)
4. Follow the specifications
Feed your LLM the relevant specifications and documentation:
- Target API documentation: Share the official API docs of the service you're connecting to (e.g., Stripe API docs,Shopify API docs)
- Type-specific specs: Include the appropriate specification:
- API Connector Spec for general REST/GraphQL APIs
- SaaS Connector Spec for third-party SaaS platforms
- Database Connector Spec for SQL databases
- Blob Storage Connector Spec for cloud storage
- Example connectors: Reference existing connectors in the registry for patterns
- API Connectors: ADS-B.lol, OpenWeather
- SaaS Connectors: Google Analytics,Shopify
- [coming soon] Database Connectors: PostgreSQL
- [coming soon] Blob Storage Connectors: S3
Your LLM can then help generate the connector implementation following the established patterns and specifications.
5. Implement core functionality
Focus on these key areas:
- Authentication: Implement secure authentication methods (API keys, OAuth, etc.)
- Data extraction: Build robust data fetching with pagination and error handling
- Schema definitions: Define clear schemas for all data types
- Rate limiting: Respect API limits and implement backoff strategies
- Testing: Write comprehensive unit and integration tests
6. Document your connector
Include comprehensive documentation:
- Getting started guide
- Configuration options
- Schema documentation
- Known limitations
- Example usage
7. Test thoroughly
# Run unit tests
pnpm test
# Run integration tests
pnpm test:integration
# Validate schemas
pnpm validate:schemas
8. Share your connector
Open a pull request to the registry repository to share your connector with the community. Mention the connector Issue in the PR description.
If you built your connector outside the registry monorepo, you'll need to add it to the monorepo's registry directory with all required metadata (defined in `connector-registry/_scaffold`).
Best practices
- Follow the established directory structure
- Use TypeScript/Python type definitions
- Handle errors gracefully
- Log important operations
- Keep dependencies minimal
- Version your connector properly