Standard pattern (WebAPIDataSource)

  • Base type: Most connectors derive from WebAPIDataSource (namespace TheTechIdea.Beep.WebAPI), which centralizes HTTP, auth scaffolding, and editor integration.
  • Registration: [AddinAttribute(Category = DatasourceCategory.Connector, DatasourceType = DataSourceType.<Vendor>)] on the concrete datasource class.
  • Connection: WebAPIConnectionProperties is 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 in EntitiesNames / Entities and 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 a Models folder) under namespace TheTechIdea.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.

ConnectorHelpCategory hubRepo folderDataSourceType
Salesforceconn-salesforceCRMConnectors/CRM/SalesforceDataSource/Salesforce
Slackconn-slackCommunicationConnectors/Communication/SlackDataSource/Slack
Shopifyconn-shopifyE-commerceConnectors/E-commerce/ShopifyDataSource/Shopify
Twitter / Xconn-twitterSocial mediaConnectors/SocialMedia/Twitter/Twitter
HubSpotconn-hubspotCRMConnectors/CRM/HubSpotDataSource/HubSpot
Zendeskconn-zendeskCustomer supportConnectors/CustomerSupport/Zendesk/Zendesk
Microsoft Teamsconn-microsoft-teamsCommunicationConnectors/Communication/MicrosoftTeamsDataSource/MicrosoftTeams
Dynamics 365conn-dynamics365CRMConnectors/CRM/Dynamics365DataSource/MicrosoftDynamics365
Mailchimpconn-mailchimpMarketingConnectors/Marketing/MailchimpDataSource/Mailchimp
Google Chatconn-google-chatCommunicationConnectors/Communication/GoogleChatDataSource/GoogleChat
Asanaconn-asanaTask managementConnectors/TaskManagement/AsanaDataSource/Asana
BigCommerceconn-bigcommerceE-commerceConnectors/E-commerce/BigCommerceDataSource/BigCommerce
Gmailconn-gmailMail servicesConnectors/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.

CategoryHubRepo path
AccountingHubConnectors/Accounting/
Business intelligenceHubConnectors/BusinessIntelligence/
Cloud storageHubConnectors/Cloud-Storage/
CommunicationHubConnectors/Communication/
Content managementHubConnectors/ContentManagement/
CRMHubConnectors/CRM/
Customer supportHubConnectors/CustomerSupport/
E-commerceHubConnectors/E-commerce/
FormsHubConnectors/Forms/
IoTHubConnectors/IoT/
Mail servicesHubConnectors/MailServices/
MarketingHubConnectors/Marketing/
Meeting toolsHubConnectors/MeetingTools/
SMSHubConnectors/SMS/
Social mediaHubConnectors/SocialMedia/
Task managementHubConnectors/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.