REST & SaaS connectors
Projects under Connectors/<Category>/<Vendor>/ implement vendor REST (or HTTP) APIs as IDataSource instances. They are not RDBMS engines: entities map to API resources and command-annotated operations, often backed by TheTechIdea.Beep.WebAPI.
Standard pattern (WebAPIDataSource)
- Base type: Most connectors derive from
WebAPIDataSource(namespaceTheTechIdea.Beep.WebAPI), which centralizes HTTP, auth scaffolding, and editor integration. - Registration:
[AddinAttribute(Category = DatasourceCategory.Connector, DatasourceType = DataSourceType.<Vendor>)]on the concrete datasource class. - Connection:
WebAPIConnectionPropertiesis applied when the connection is not already typed; base URL, headers, and OAuth/API-key fields vary by vendor. - Entities: Logical names (e.g.
tweets.search,users.by_id) are listed inEntitiesNames/Entitiesand map to endpoint templates or route fragments. - Commands: Operations exposed to the editor/runtime use
CommandAttribute(and related metadata) so CRUD-like calls route to the correct HTTP method and path. - Models: DTOs and enums live in
Models.cs(or aModelsfolder) under namespaceTheTechIdea.Beep.Connectors.<Category>.<Service>.Models.
Roughly 105+ connectors follow these conventions, with high coverage of CommandAttribute and Models.
How flagship provider pages document APIs
Each conn-*.html file under Help/providers/ documents that connector’s command surface: public methods decorated with CommandAttribute, with Name, Caption, and ObjectType when the source sets them (some connectors omit Name; the editor then keys off the method name). A Model types subsection lists the main DTO classes and namespace; Connection (or auth) is typically last before Also read. Cross-cutting IDataSource behavior is described in IDataSource. The master index with hubs and DataSourceType is in Flagship provider pages below.
Flagship reference in repo
Twitter / X (Connectors/SocialMedia/Twitter/) is a good reference layout: TwitterDataSource : WebAPIDataSource, entity endpoint dictionaries, required filters, and JSON handling. Use it when aligning a new connector with the shared pattern. Help: Twitter / X.
Flagship provider pages
Deeper one-page notes under Help/providers/conn-*.html (OAuth, entities, and full command + model catalogs aligned to source). DataSourceType values match [AddinAttribute(… DatasourceType = …)] on each datasource class.
| Connector | Help | Category hub | Repo folder | DataSourceType |
|---|---|---|---|---|
| Salesforce | conn-salesforce | CRM | Connectors/CRM/SalesforceDataSource/ | Salesforce |
| Slack | conn-slack | Communication | Connectors/Communication/SlackDataSource/ | Slack |
| Shopify | conn-shopify | E-commerce | Connectors/E-commerce/ShopifyDataSource/ | Shopify |
| Twitter / X | conn-twitter | Social media | Connectors/SocialMedia/Twitter/ | Twitter |
| HubSpot | conn-hubspot | CRM | Connectors/CRM/HubSpotDataSource/ | HubSpot |
| Zendesk | conn-zendesk | Customer support | Connectors/CustomerSupport/Zendesk/ | Zendesk |
| Microsoft Teams | conn-microsoft-teams | Communication | Connectors/Communication/MicrosoftTeamsDataSource/ | MicrosoftTeams |
| Dynamics 365 | conn-dynamics365 | CRM | Connectors/CRM/Dynamics365DataSource/ | MicrosoftDynamics365 |
| Mailchimp | conn-mailchimp | Marketing | Connectors/Marketing/MailchimpDataSource/ | Mailchimp |
| Google Chat | conn-google-chat | Communication | Connectors/Communication/GoogleChatDataSource/ | GoogleChat |
| Asana | conn-asana | Task management | Connectors/TaskManagement/AsanaDataSource/ | Asana |
| BigCommerce | conn-bigcommerce | E-commerce | Connectors/E-commerce/BigCommerceDataSource/ | BigCommerce |
| Gmail | conn-gmail | Mail services | Connectors/MailServices/Gmail/ | Gmail |
Connector categories
Each row links to a category page listing child connector folders under Connectors/.
Eight hubs that already surface flagship conn-* help links include a post-table note pointing at the flagship index above. Other category pages list folders only until additional conn-*.html pages are authored.
| Category | Hub | Repo path |
|---|---|---|
| Accounting | Hub | Connectors/Accounting/ |
| Business intelligence | Hub | Connectors/BusinessIntelligence/ |
| Cloud storage | Hub | Connectors/Cloud-Storage/ |
| Communication | Hub | Connectors/Communication/ |
| Content management | Hub | Connectors/ContentManagement/ |
| CRM | Hub | Connectors/CRM/ |
| Customer support | Hub | Connectors/CustomerSupport/ |
| E-commerce | Hub | Connectors/E-commerce/ |
| Forms | Hub | Connectors/Forms/ |
| IoT | Hub | Connectors/IoT/ |
| Mail services | Hub | Connectors/MailServices/ |
| Marketing | Hub | Connectors/Marketing/ |
| Meeting tools | Hub | Connectors/MeetingTools/ |
| SMS | Hub | Connectors/SMS/ |
| Social media | Hub | Connectors/SocialMedia/ |
| Task management | Hub | Connectors/TaskManagement/ |
Contrast with other families
- RDBMS — SQL, shared
RDBSource, dialect helpers. - NoSQL — document/KV/graph/TSDB wire protocols.
- Cloud analytics — warehouse/query engines under
DataSourcesPluginsCore. - Messaging & vector — brokers and vector DB cores outside
Connectors/.
BeepDM skills
BeepDM/.cursor/idatasource/SKILL.md
Additional Help/providers/conn-*.html pages can cover OAuth setup, scopes, and rate limits; category hubs stay stable as the folder list changes. Shipped flagship list: index table above.