Registration

  • DataSourceType: Salesforce
  • Category: DatasourceCategory.Connector

Entities

Fixed SObject lists are registered as entities (e.g. Account, Contact, Lead, Opportunity, Case, …). See KnownEntities in SalesforceDataSource.cs — extend the list for custom objects as needed.

Source & IDataSource

Implementation: Connectors/CRM/SalesforceDataSource/SalesforceDataSource.cs — class SalesforceDataSource : WebAPIDataSource. Reads use SOQL via the REST query resource and SObject routes; writes use sobjects/<Type> POST/PATCH. Entity names match KnownEntities in source (Account, Contact, Lead, Opportunity, Case, User, …). Generic paging and GetEntity/GetEntityAsync follow IDataSource.

Command methods (CommandAttribute)

Below, Name is omitted in attributes where the source only sets ObjectType / misc; tooling typically exposes the C# method name.

Command Name (if any)MethodReturnsObjectType
—GetAccounts(AppFilter filter)Task<IEnumerable<Account>>Accounts
—GetContacts(AppFilter filter)Task<IEnumerable<Contact>>Contacts
—GetLeads(AppFilter filter)Task<IEnumerable<Lead>>Leads
—GetOpportunities(AppFilter filter)Task<IEnumerable<Opportunity>>Opportunities
—GetUsers(AppFilter filter)Task<IEnumerable<User>>Users
—CreateAccountAsync(Account account)Task<IEnumerable<Account>>Account
—UpdateAccountAsync(string accountId, Account account)Task<IEnumerable<Account>>Account
—CreateContactAsync(Contact contact)Task<IEnumerable<Contact>>Contact
—UpdateContactAsync(string contactId, Contact contact)Task<IEnumerable<Contact>>Contact
—CreateLeadAsync(Lead lead)Task<IEnumerable<Lead>>Lead
—UpdateLeadAsync(string leadId, Lead lead)Task<IEnumerable<Lead>>Lead
—CreateOpportunityAsync(Opportunity opportunity)Task<IEnumerable<Opportunity>>Opportunity
—UpdateOpportunityAsync(string opportunityId, Opportunity opportunity)Task<IEnumerable<Opportunity>>Opportunity
—CreateCaseAsync(Case caseRecord)Task<IEnumerable<Case>>Case
—UpdateCaseAsync(string caseId, Case caseRecord)Task<IEnumerable<Case>>Case

Model types

Namespace TheTechIdea.Beep.Connectors.Salesforce.Models (see Models.cs in the project): SalesforceEntityBase, Account, Contact, Lead, Opportunity, Case, User, SFTask, QueryResult<T>, SalesforceEntityRegistry, and related DTOs used for REST deserialization.

Connection & auth

Uses WebAPIConnectionProperties. OAuth / bearer tokens and instance URL are typically supplied via connection configuration (REST composite and SOQL-style operations depend on a valid session).

Also read