Skip to main content

Salesforce

Salesforce is a customer relationship management (CRM) platform.

To learn how Salesforce entities map to SQL tables, consult the table mappings guide.

How to Setup

To connect your Salesforce account, you must have a Salesforce Enterprise or Salesforce Unlimited plan, as these plans include API access. Other Salesforce plans do not offer this feature. For further information, please consult the Salesforce pricing page.

To connect to a Salesforce data source you need to register the Salesforce credential. This requires:

  • the name of the credential (which you can choose);
  • URL
  • Username
  • Password
  • Security Token
  • Client ID
  • API Version

URL

This is the login URL for the user’s Salesforce instance. You can find it within User Profile (top-right corner of Salesforce UI):

Salesforce URL

Username & Password

The username and password of the Salesforce account.

Security token

This is the personal token required in case the consumer (e.g. the platform) is not listed in the IP whitelist. You can find it in "Setup > Home > My Personal Information > Reset My Security Token".

Salesforce Security Token

Client ID

This is the consumer key associated with the dedicated Salesforce app for the connector.

In order to create the dedicated app, navigate to "Setup > PLATFORM TOOLS > Apps > App Manager > New Connected App" and then fill-in the form with the following information:

Salesforce Client ID

API Version

The latest version is 59.0, but there are minor changes between the last versions.

Supported Operations

This connector supports all CRUD (Create, Read, Update, Delete) operations, as demonstrated in the examples below.

Examples

Filtering Salesforce Contacts of a specific Account

Retrieve Salesforce Contacts of a specific Account.

select
salesforce_account.id as account_id,
salesforce_account.name as account_name,
salesforce_account.description as account_description,
salesforce_account.industry as account_industry,
salesforce_account.created_date as account_creation_date,
salesforce_account.website as account_website,
salesforce_contact.id as contact_id,
salesforce_contact.name as contact_name,
salesforce_contact.email as contact_email,
salesforce_contact.title as contact_title,
salesforce_contact.department as contact_department
from "<credentials_name>".salesforce_account
inner join "<credentials_name>".salesforce_contact
on salesforce_account.id=salesforce_contact.account_id
where salesforce_account.name=:accountname;

Querying recent Salesforce Contact additions

Retrieve Salesforce Contacts created within the last 30 days.

select
id,
name,
account_id,
email,
department
from
"<credentials_name>".salesforce_contact
where created_date>now() - interval '30' day;

Salesforce Accounts and Contacts listing

Retrieve Salesforce Accounts and Contacts.

select
salesforce_account.id as account_id,
salesforce_account.name as account_name,
salesforce_account.description as account_description,
salesforce_account.industry as account_industry,
salesforce_account.created_date as account_creation_date,
salesforce_account.website as account_website,
salesforce_contact.id as contact_id,
salesforce_contact.name as contact_name,
salesforce_contact.email as contact_email,
salesforce_contact.title as contact_title,
salesforce_contact.department as contact_department
from "<credentials_name>".salesforce_account
inner join "<credentials_name>".salesforce_contact
on salesforce_account.id=salesforce_contact.account_id;

Basic Salesforce account listing

List Salesforce accounts.

select
id,
name,
description,
industry,
created_date,
website
from
"<credentials_name>".salesforce_account;

Salesforce account by industry type listing

List number of accounts by industry type.

select
count(*),
industry
from
"<credentials_name>".salesforce_account
group by
industry;

Basic Salesforce Assets listing

List Salesforce Assets.

select
id,
name,
price,
status,
asset_level,
contact_id,
quantity
from
"<credentials_name>".salesforce_asset;

Querying internal Salesforce Assets modified after a specific date

Retrieve internal Salesforce assets modified after a specific date.

select
id,
name,
price,
status,
quantity
from
"<credentials_name>".salesforce_asset
where is_internal
and last_modified_date>'2013-05-03'::date;

Basic Salesforce Leads listing

List Salesforce Leads.

select
id,
name,
company,
email,
industry,
is_converted,
rating,
status,
website
from
"<credentials_name>".salesforce_lead;

Querying deleted Salesforce Pricebooks

Retrieve Salesforce deleted Pricebooks.

select
name,
description
is_active,
is_standard,
created_by_id,
created_date
from
"<credentials_name>".salesforce_pricebook
where is_deleted;

Querying inactive Salesforce Pricebooks

Retrieve Salesforce inactive Pricebooks.

select
id,
name,
family,
is_active,
created_by_id,
quantity_unit_of_measure,
stock_keeping_unit
from
"<credentials_name>".salesforce_product
where not is_active;

Basic Salesforce Users listing

List Salesforce Users.

select
username,
alias,
user_type,
is_active,
last_login_date
from
"<credentials_name>".salesforce_user;

Removing specific Salesforce Case

Remove Salesforce Case with a specific ID.

delete from
"<credentials_name>".salesforce_case
where
id = :case_id

Updating details of Salesforce Users

Update the address of a specific Salesforce User.

update "<credentials_name>".salesforce_user
set
country='US',
state='IL',
city='Chicago',
street='1200 W Harrison St',
postal_code='60607'
where first_name = 'Alice';

Inserting new Salesforce Lead

Insert a new Salesforce Lead.


insert into "<credentials_name>".salesforce_lead(
email, is_converted, name, phone, status, annual_revenue,
company, created_by_id, created_date, industry,
last_modified_by_id, last_modified_date, lead_source,
owner_id, rating, is_deleted,
last_name, first_name, salutation, title,
street, city, postal_code, country, currency_iso_code,
is_unread_by_owner, system_modstamp,
last_viewed_date, last_referenced_date,
clean_status, is_priority_record)
values('daisy.johnson@raw-labs.com', false, 'Daisy Johnson', '‍+41 58 001 35 58', 'Working - Contacted', 900750000,
'RAW Labs', '005Qy0000055xW1IAI', current_date, 'Agriculture',
'005Qy0000055xW1IAI', current_date, 'Web',
'005Qy0000055xW1IAI', 'Hot', false,
'Johnson', 'Daisy', 'Ms.', 'PM',
'‍EPFL Innovation Park, Building I', 'Lausanne', '1015', 'Switzerland', 'CHF',
false, current_date,
current_date, current_date, 'Pending', false);

Table Mappings

Once the Salesforce credential is registered, a new schema will be available for query. The name of this schema matches the name of the "Credential" you chose above.

Within this schema, you will find a set of tables, which contain the information stored in Salesforce. These tables are:

Table NameDescription
salesforce_accountAccount
salesforce_account_contact_roleAccount Contact Role
salesforce_assetAsset
salesforce_contactContact
salesforce_contractContract
salesforce_leadLeads
salesforce_object_permissionObject Permissions
salesforce_opportunityOpportunity
salesforce_opportunity_contact_roleOpportunity Contact Role
salesforce_orderOrder
salesforce_permission_setPermission Sets
salesforce_permission_set_assignmentPermission Set Assignment
salesforce_pricebookPricebook
salesforce_productProducts
salesforce_userUsers
salesforce_<custom_object>__cDynamic/Custom objects

All custom table and column names in Salesforce are suffixed with the token __c.

Account

The salesforce_account table is a valuable resource for Sales or CRM Managers to access comprehensive information about Salesforce Accounts. These accounts represent entities like customers, competitors, and partners engaged in business interactions. The table features essential account details like names, addresses, and phone numbers. It's particularly useful for examining various aspects of accounts, such as recent activities, relationships among accounts, and confirming the accuracy of account information. This table is instrumental in providing a detailed view of business relationships and interactions within Salesforce.

Fields

NameTypeDescription
_ctxjsonbSteampipe context in JSON form, e.g. connection_name.
account_sourcetextThe source of the account record. For example, Advertisement, Data.com, or Trade Show.
annual_revenuedouble precisionEstimated annual revenue of the account.
billing_addressjsonbThe billing adress of the account.
clean_statustextIndicates the record's clean status as compared with Data.com. Values are: Matched, Different,Acknowledged,NotFound,Inactive,Pending, SelectMatch, or Skipped.
created_by_idtextThe id of the user who created the account.
created_datetimestamp with time zoneThe creation date and time of the account.
descriptiontextText description of the account.
idtextUnique identifier of the account in Salesforce.
industrytextPrimary business of account.
is_deletedbooleanIndicates whether the object has been moved to the Recycle Bin (true) or not (false).
last_modified_by_idtextThe id of the user who last changed the contact fields, including modification date and time.
last_modified_datetimestamp with time zoneThe date and time of last modification to account.
nametextName of the account.
number_of_employeesdouble precisionNumber of employees working at the company represented by this account.
owner_idtextThe ID of the user who currently owns this account. Default value is the user logged in to the API to perform the create.
ownershiptextOwnership type for the account, for example Private, Public, or Subsidiary.
phonetextThe contact's primary phone number.
ratingtextThe account's prospect rating, for example Hot, Warm, or Cold.
shipping_addressjsonbThe shipping adress of the account.
sictextStandard Industrial Classification code of the company's main business categorization, for example, 57340 for Electronics.
ticker_symboltextThe stock market symbol for this account.
tradestyletextA name, different from its legal name, that an org may use for conducting business. Similar to “Doing business as” or "DBA".
typetextType of account, for example, Customer, Competitor, or Partner.
websitetextThe website of this account, for example, www.acme.com.

Account Contact Role

The salesforce_account_contact_role table is an essential tool within Salesforce that helps administrators and sales representatives understand the specific roles and responsibilities of contacts within accounts. This feature not only streamlines the management of customer relationships but also provides a clear insight into the hierarchical structure and interaction dynamics within an organization. It's especially useful for identifying key contacts and comprehending the intricate relationships that define customer interactions in Salesforce.

Fields

NameTypeDescription
_ctxjsonbSteampipe context in JSON form, e.g. connection_name.
account_idtextID of the Account.
contact_idtextID of the Contact associated with this account.
created_by_idtextId of the user who created contact role record.
created_datetimestamp with time zoneDate and time of the creation of the contact role record.
idtextUnique identifier of the account contact role in Salesforce.
is_primarybooleanSpecifies whether the Contact plays the primary role on the Account (true) or not (false). Note that each account has only one primary contact role.
last_modified_by_idtextId of the user who most recently changed the contact role record.
last_modified_datetimestamp with time zoneDate of most recent change in the contact role record.
roletextName of the role played by the Contact on this Account, such as Decision Maker, Approver, Buyer, and so on.

Asset

The salesforce_asset table is a critical resource in Salesforce for sales and customer service teams, offering a window into the assets linked to customer accounts. This table tracks products or services sold by a company, providing details such as purchase dates, values, and current statuses. It's instrumental for understanding customer purchase patterns, managing warranties, and enhancing the quality of customer service by offering a comprehensive view of purchased items and their service histories.

Fields

NameTypeDescription
_ctxjsonbSteampipe context in JSON form, e.g. connection_name.
account_idtextID of the Account associated with this asset.
asset_levelbigintThe asset's position in an asset hierarchy. If the asset has no parent or child assets, its level is 1.
asset_provided_by_idtextThe account that provided the asset, typically a manufacturer.
asset_serviced_by_idtextThe account in charge of servicing the asset.
contact_idtextID of the Contact associated with this asset.
created_by_idtextThe id of the user who created the asset.
created_datetimestamp with time zoneDate and time of the creation of the price book record.
descriptiontextDescription of the asset.
idtextUnique identifier of the product in asset.
install_datetimestamp with time zoneDate when the asset was installed.
is_competitor_productbooleanIndicates whether this Asset represents a product sold by a competitor (true) or not (false).
is_deletedbooleanThe Deleted.
is_internalbooleanIndicates that the asset is produced or used internally (true) or not (false). Default value is false.
last_modified_by_idtextThe Last Modified By ID.
last_modified_datetimestamp with time zoneThe Last Modified Date.
last_referenced_datetimestamp with time zoneThe date and time that the asset was last modified.
last_viewed_datetimestamp with time zoneThe date and time that the asset was last viewed.
nametextName of the asset.
owner_idtextThe asset's owner. By default, the asset owner is the user who created the asset record.
parent_idtextThe asset's parent asset.
pricedouble precisionPrice paid for this asset.
product_2_idtextID of the Product2 associated with this asset. Must be a valid Product2 ID.
product_codetextThe product code of the related product.
purchase_datetimestamp with time zoneDate on which this asset was purchased.
quantitydouble precisionQuantity purchased or installed.
root_asset_idtextThe top-level asset in an asset hierarchy. Depending on where an asset lies in the hierarchy, its root could be the same as its parent.
serial_numbertextSerial number for this asset.
statustextCustomizable picklist of values. The default picklist includes the following values: Purchased, Shipped, Installed, Registered, Obsolete.
stock_keeping_unittextThe SKU assigned to the related product.
system_modstamptimestamp with time zoneThe System Modstamp.
usage_end_datetimestamp with time zoneDate when usage for this asset ends or expires.

Contact

The salesforce_contact table in Salesforce CRM is a pivotal tool for sales representatives and customer relationship managers, enabling them to access detailed information about customers. This table centralizes data like names, emails, phone numbers, and related account details, facilitating a deeper understanding of customer interactions, activities, and communication patterns. It's an invaluable asset for maintaining robust customer relationships and staying informed about the customer base.

Fields

NameTypeDescription
_ctxjsonbSteampipe context in JSON form, e.g. connection_name.
account_idtextID of the account that's the parent of this contact.
assistant_nametextThe Assistant's Name.
assistant_phonetextThe Assistant's Phone.
birthdatetimestamp with time zoneThe contact's birthdate.
clean_statustextIndicates the record's clean status.
created_by_idtextThe Created By ID.
created_datetimestamp with time zoneThe Created Date.
departmenttextThe contact's department.
descriptiontextThe description of the contact
emailtextThe contact's email address.
email_bounced_datetimestamp with time zoneIf bounce management is activated and an email sent to the contact bounces, the date and time of the bounce.
email_bounced_reasontextIf bounce management is activated and an email sent to the contact bounces, the reason for the bounce.
faxtextThe contact's fax number.
home_phonetextThe contact's home telephone number.
idtextID of the account that's the parent of this contact.
individual_idtextID of the data privacy record associated with this contact. This field is available if Data Protection and Privacy is enabled.
is_deletedbooleanIndicates whether the object has been moved to the Recycle Bin (true) or not (false).
is_email_bouncedbooleanIf bounce management is activated and an email is sent to a contact, indicates whether the email bounced (true) or not (false).
jigsawtextThe Data.com Key.
jigsaw_contact_idtextReferences the company's ID in Data.com. If an account has a value in this field, it means that the account was imported from Data.com.
last_activity_datetimestamp with time zoneValue is the most recent of either: Due date of the most recent event logged against the record. Due date of the most recently close task associated with the record.
last_cu_request_datetimestamp with time zoneThe Last Stay-in-Touch Request Date.
last_cu_update_datetimestamp with time zoneThe Last Stay-in-Touch Save Date.
last_modified_by_idtextThe Last Modified By ID.
last_modified_datetimestamp with time zoneThe Last Modified Date.
last_referenced_datetimestamp with time zoneThe timestamp when the current user last accessed this record, a record related to this record, or a list view.
last_viewed_datetimestamp with time zoneThe timestamp when the current user last viewed this record or list view. If this value is null, the user might have only accessed this record or list view (LastReferencedDate) but not viewed it.
lead_sourcetextThe lead's source.
mailing_addressjsonbThe Mailing Address.
master_record_idtextIf this record was deleted as the result of a merge, this field contains the ID of the record that remains.
mobile_phonetextContact's mobile phone number.
nametextThe full name of the contact.
other_addressjsonbThe Other Address.
other_phonetextThe other phone of the contact.
owner_idtextThe ID of the owner of the account associated with this contact.
phonetextBuisness telephone number for the contact.
photo_urltextThe Photo URL.
reports_to_idtextThe Reports To ID.
system_modstamptimestamp with time zoneThe System Modstamp.
titletextTitle of the contact, such as CEO or Vice President.

Contract

The salesforce_contract table in Salesforce is a key resource for administrators, offering a detailed view of customer agreements. This table includes essential contract details such as status, start and end dates, and associated accounts, enabling users to track and manage contract information effectively. It's particularly useful for monitoring contracts nearing expiration and verifying specific contract details, thereby facilitating efficient contract management.

Fields

NameTypeDescription
_ctxjsonbSteampipe context in JSON form, e.g. connection_name.
account_idtextID of the Account associated with this contract.
activated_by_idtextID of the User who activated this contract.
activated_datetimestamp with time zoneDate and time when this contract was activated.
billing_addressjsonbBilling address of the account.
company_signed_datetimestamp with time zoneDate on which the contract was signed by organization.
company_signed_idtextID of the User who signed the contract.
contract_numbertextNumber of the contract.
contract_termbigintNumber of months that the contract is valid.
created_by_idtextId of the user who created the contract record.
created_datetimestamp with time zoneDate and time when contract record was created.
customer_signed_datetimestamp with time zoneDate on which the customer signed the contract.
customer_signed_idtextID of the Contact who signed this contract.
customer_signed_titletextTitle of the contact who signed the contract.
descriptiontextStatement describing the contract.
end_datetimestamp with time zoneCalculated end date of the contract. This value is calculated by adding the ContractTerm to the start_date.
idtextUnique identifier of the contract in Salesforce.
is_deletedbooleanIndicates whether the object has been moved to the Recycle Bin (true) or not (false).
last_activity_datetimestamp with time zoneValue is one of the following, whichever is the most recent. a) Due date of the most recent event logged against the record. b) Due date of the most recently closed task associated with the record.
last_approved_datetimestamp with time zoneLast date the contract was approved.
last_modified_by_idtextThe id of user who most recently changed the contract record.
last_modified_datetimestamp with time zoneThe date and time of the last change to contract record.
last_referenced_datetimestamp with time zoneThe timestamp when the current user last accessed this record, a record related to this record, or a list view.
last_viewed_datetimestamp with time zoneThe timestamp when the current user last viewed this record or list view. If this value is null, the user might have only accessed this record or list view (last_referenced_date) but not viewed it.
owner_expiration_noticetextNumber of days ahead of the contract end date (15, 30, 45, 60, 90, and 120). Used to notify the owner in advance that the contract is ending.
owner_idtextID of the user who owns the contract.
pricebook_2_idtextID of the pricebook, if any, associated with this contract.
special_termstextSpecial terms that apply to the contract.
start_datetimestamp with time zoneStart date for this contract.
statustextThe picklist of values that indicate order status. A contract can be Draft, InApproval, or Activated.
system_modstamptimestamp with time zoneThe date and time when contract was last modified by a user or by an automated process.

Leads

The salesforce_lead table in Salesforce is crucial for sales managers and marketing professionals, offering a comprehensive look at potential sales opportunities. This table includes key details about leads, such as personal information, source, status, and related company data. It's invaluable for tracking prospective sales, understanding customer interests, and developing focused marketing strategies.

Fields

NameTypeDescription
_ctxjsonbSteampipe context in JSON form, e.g. connection_name.
addressjsonbStreet address for the lead.
annual_revenuedouble precisionAnnual revenue for the lead's company.
companytextThe lead's company.
converted_datetimestamp with time zoneDate on which this lead was converted.
created_by_idtextId of the user who created the lead.
created_datetimestamp with time zoneCreation date and time of the lead.
emailtextThe lead's email address.
idtextUnique identifier of the lead in Salesforce.
industrytextPrimary business of lead's company.
is_convertedbooleanIndicates whether the lead has been converted (true) or not (false).
last_modified_by_idtextId of the user who last changed the lead record.
last_modified_datetimestamp with time zoneDate and time of the last changes to lead record.
lead_sourcetextSource of lead, for example, Advertisement, Partner, or Web.
nametextName of the lead, as displayed on lead detail page.
number_of_employeesbigintNumber of employees at the lead's company.
owner_idtextId of the assigned owner of the lead.
phonetextLead's primary phone number.
ratingtextIndicates value or prospect of the lead, for example, Hot, Warm, Cold.
statustextStatus of the lead, for example, Open, Contacted, Qualified.
websitetextURL of the lead's company's website.

Object Permissions

The salesforce_object_permission table is an essential tool for Salesforce administrators, providing a detailed overview of user permissions on Salesforce objects. This table includes specific information such as the type of object, the nature of the permission, and the user or profile associated with each permission. It's a valuable resource for managing and ensuring appropriate user access levels to various Salesforce objects like accounts, contacts, leads, and opportunities, thereby maintaining the security and integrity of Salesforce data.

Fields

NameTypeDescription
_ctxjsonbSteampipe context in JSON form, e.g. connection_name.
idtextThe ObjectPermissions ID.
parent_idtextThe Id of this object's parent PermissionSet.
permissions_createbooleanIf true, users assigned to the parent PermissionSet can create records for this object. Requires PermissionsRead for the same object to be true.
permissions_deletebooleanIf true, users assigned to the parent PermissionSet can delete records for this object. Requires PermissionsRead and PermissionsEdit for the same object to be true.
permissions_editbooleanIf true, users assigned to the parent PermissionSet can edit records for this object. Requires PermissionsRead for the same object to be true.
permissions_modify_all_recordsbooleanIf true, users assigned to the parent PermissionSet can edit all records for this object, regardless of sharing settings. Requires PermissionsRead, PermissionsDelete, PermissionsEdit, and PermissionsViewAllRecords for the same object to be true.
permissions_readbooleanIf true, users assigned to the parent PermissionSet can view records for this object.
permissions_view_all_recordsbooleanIf true, users assigned to the parent PermissionSet can view all records for this object, regardless of sharing settings. Requires PermissionsRead for the same object to be true.
sobject_typetextThe object's API name. For example, Merchandise__c.

Opportunity

The salesforce_opportunity table in Salesforce Sales Cloud is a vital resource for sales managers and data analysts, offering a comprehensive view of the sales pipeline and potential revenue. This table details each opportunity, including aspects like deal value, expected closing date, and associated account information. It enables users to track sales performance, assess the value of deals in the pipeline, and monitor the progression of deals through various sales stages.

Fields

NameTypeDescription
_ctxjsonbSteampipe context in JSON form, e.g. connection_name.
account_idtextID of the account associated with this opportunity.
amountdouble precisionEstimated total sale amount. For opportunities with products, the amount is the sum of the related products.
campaign_idtextID of a related Campaign. This field is defined only for those organizations that have the campaign feature Campaigns enabled.
close_datetimestamp with time zoneDate when the opportunity is expected to close.
created_by_idtextId of the user who created the opportunity.
created_datetimestamp with time zoneThe creation date and time of the opportunity.
descriptiontextDescription of the opportunity.
expected_revenuedouble precisionCalculated revenue based on the Amount and Probability fields.
fiscal_quarterbigintRepresents the fiscal quarter. Valid values are 1, 2, 3, or 4.
fiscal_yearbigintRepresents the fiscal year, for example, 2006.
forecast_categorytextForecast category name displayed in reports, opportunity detail and edit pages, opportunity searches, and opportunity list views.
forecast_category_nametextName of the forecast category.
has_open_activitybooleanIndicates whether an opportunity has an open event or task (true) or not (false).
has_opportunity_line_itembooleanIndicates whether the opportunity has associated line items. A value of true means that Opportunity line items have been created for the opportunity.
has_overdue_taskbooleanIndicates whether an opportunity has an overdue task (true) or not (false).
idtextUnique identifier of the opportunity in Salesforce.
is_closedbooleanIndicates that the opportunity is closed.
is_deletedbooleanIndicates that the opportunity is deleted.
is_privatebooleanIndicates that the opportunity is private.
is_wonbooleanIndicates that the quote or proposal has been signed or electronically accepted.
last_activity_datetimestamp with time zoneValue is one of the following, whichever is the most recent of a) Due date of the most recent event logged against the record or b) Due date of the most recently closed task associated with the record.
last_modified_by_idtextThe id of the user who last modified the oppurtinity record.
last_modified_datetimestamp with time zoneThe data and time of the last modification of the oppurtinity record.
lead_sourcetextSource of this opportunity, such as Advertisement or Trade Show.
nametextA name for this opportunity.
next_steptextDescription of next task in closing opportunity.
owner_idtextID of the User who has been assigned to work this opportunity.
pricebook_2_idtextID of a related Pricebook2 object. The Pricebook2Id field indicates which Pricebook2 applies to this opportunity. The Pricebook2Id field is defined only for those organizations that have products enabled as a feature.
probabilitydouble precisionPercentage of estimated confidence in closing the opportunity.
stage_nametextCurrent stage of opportunity.
system_modstamptextThe date and time when opportunity was last modified by a user or by an automated process.
total_opportunity_quantitytextNumber of items included in this opportunity. Used in quantity-based forecasting.
typetextType of opportunity, such as Existing Business or New Business.

Opportunity Contact Role

The salesforce_opportunity_contact_role table in Salesforce is an invaluable tool for sales managers and business analysts. It sheds light on the roles contacts play in specific sales opportunities, such as their level of influence and involvement. This table is key to understanding the dynamic relationships between contacts and opportunities, identifying decision-makers and key influencers in business deals.

Fields

NameTypeDescription
_ctxjsonbSteampipe context in JSON form, e.g. connection_name.
contact_idtextID of an associated Contact.
created_by_idtextId of the user who created contact role record.
created_datetimestamp with time zoneDate and time of the creation of the contact role record.
idtextUnique identifier of the opportunity contact role in Salesforce.
is_primarybooleanIndicates whether the associated Contact plays the primary role on the Opportunity (true) or not (false).
last_modified_by_idtextId of the user who most recently changed the contact role record.
last_modified_datetimestamp with time zoneDate of most recent change in the contact role record.
opportunity_idtextRequired. ID of an associated Opportunity.
roletextName of the role played by the associated Contact on the Opportunity, such as Business User or Decision Maker.

Order

The salesforce_order table in Salesforce is a key resource for Sales and Customer Service teams, offering a comprehensive view of customer orders. This table includes detailed information on each order, such as the order number, status, account details, and related metadata. It's particularly useful for tracking the status of orders, whether they are pending or completed, and associating them with specific accounts, thus enhancing order management and customer service efficiency.

Fields

NameTypeDescription
_ctxjsonbSteampipe context in JSON form, e.g. connection_name.
account_idtextID of the Account associated with this order.
activated_by_idtextID of the User who activated this order.
activated_datetimestamp with time zoneDate and time when the order was activated.
bill_to_contact_idtextID of the contact that the order is billed to.
billing_addressjsonbThe billing adress for the order.
company_authorized_by_idtextID of the user who authorized the account associated with the order.
company_authorized_datetimestamp with time zoneThe date on which your organization authorized the order.
contract_idtextID of the contract associated with this order. Can only be updated when the order's StatusCode value is Draft.
created_by_idtextId of the user who created the order record.
created_datetimestamp with time zoneCreation date and time of the order record.
customer_authorized_by_idtextID of the contact who authorized the order.
customer_authorized_datetimestamp with time zoneDate on which the contact authorized the order.
descriptiontextDescription of the order.
effective_datetimestamp with time zoneDate at which the order becomes effective.
end_datetimestamp with time zoneDate at which the order ends.
idtextUnique identifier of the order in Salesforce.
is_deletedbooleanIndicates that the order is deleted.
is_reduction_orderbooleanDetermines whether an order is a reduction order.
last_modified_by_idtextId of the user who most recently changed the order record.
last_modified_datetimestamp with time zoneDate of most recent change in the order record.
last_referenced_datetimestamp with time zoneThe timestamp when the current user last accessed this record, a record related to this record, or a list view.
last_viewed_datetimestamp with time zoneThe timestamp when the current user last viewed this record or list view. If this value is null, the user might have only accessed this record or list view (LastReferencedDate) but not viewed it.
nametextTitle for the order that distinguishes it from other orders.
order_numbertextOrder number assigned to this order.
order_reference_numbertextReference number assigned to the order.
original_order_idtextOptional. ID of the original order that a reduction order is reducing, if the reduction order is reducing a single order.
owner_idtextID of the User or queue that owns this order.
po_datetimestamp with time zoneDate of the purchase order.
po_numbertextNumber identifying the purchase order.
pricebook_2_idtextID of the price book associated with this order.
ship_to_contact_idtextID of the contact that the order is shipped to.
shipping_addressjsonbThe shipping adress for the order.
statustextThe Status field specifies the current state of an order. Status strings represent its current state (Draft or Activated).
status_codetextStatus code of the stage that the order has reached in the order business process.
system_modstamptimestamp with time zoneThe date and time when order record was last modified by a user or by an automated process.
total_amountdouble precisionTotal amount of the order.
typetextType of order.

Permission Sets

The salesforce_permission_set table is crucial for Salesforce administrators, offering insights into the Permission Sets within a Salesforce organization. This table details each permission set, including the specific permissions granted, access settings, and associated metadata. It's invaluable for managing user access, understanding the permissions within each set, and verifying access configurations.

Fields

NameTypeDescription
_ctxjsonbSteampipe context in JSON form, e.g. connection_name.
created_by_idtextThe contact id of the user who created this permission set.
created_datetimestamp with time zoneThe Created Date.
descriptiontextThe description of the permission set.
has_activation_requiredbooleanIndicates whether the permission set requires an associated active session (true) or not (false).
idtextThe unique id of the permission set.
is_custombooleanIf true, the permission set is custom (created by an admin); if false, the permission set is standard and related to a specific permission set license.
is_owned_by_profilebooleanIf true, the permission set is owned by a profile.
labeltextThe permission set label, which corresponds to Label in the user interface.
last_modified_by_idtextThe Last Modified By ID.
last_modified_datetimestamp with time zoneThe Last Modified Date.
license_idtextThe ID of either the related PermissionSetLicense or UserLicense associated with this permission set.
nametextThe permission set unique name in the API.
namespace_prefixtextThe namespace prefix for a permission set that's been installed as part of a managed package. If the permission set isn't packaged or is part of an unmanaged package, this value is empty.
permission_set_group_idtextIf the permission set is owned by a permission set group, this field returns the ID of the permission set group.
profile_idtextIf the permission set is owned by a profile, this field contains the ID of the Profile.
system_modstamptimestamp with time zoneThe date and time when order record was last modified by a user or by an automated process.

Permission Set Assignment

The salesforce_permission_set_assignment table in Salesforce is a key tool for administrators, providing a clear view of the Permission Set Assignments. This table helps in reviewing specific user permissions and access settings, enabling administrators to efficiently manage user access and security settings. It's particularly useful for monitoring assignments with particular permissions, understanding user-permission relationships, and ensuring adherence to access policies.

Fields

NameTypeDescription
_ctxjsonbSteampipe context in JSON form, e.g. connection_name.
assignee_idtextID of the User to assign the permission set specified in PermissionSetId.
idtextThe Permission Set Assignment ID.
permission_set_group_idtextIf associated with a permission set group, this is the ID of that group.
permission_set_idtextID of the PermissionSet to assign to the user specified in AssigneeId.
system_modstamptimestamp with time zoneThe Date Assigned.

Pricebook

The salesforce_pricebook table in Salesforce is an essential resource for sales managers and business analysts, offering insights into the pricing structures of products. This table details various aspects of Pricebooks, including related products, standard pricing, and relevant metadata. It's a valuable tool for analyzing different pricing strategies tailored to specific business units or customers, and for verifying the consistency of pricing policies.

Fields

NameTypeDescription
_ctxjsonbSteampipe context in JSON form, e.g. connection_name.
created_by_idtextThe id of the user who created the price book.
created_datetimestamp with time zoneDate and time of the creation of the price book record.
descriptiontextDescription of the price book.
idtextUnique identifier of the product in pricebook.
is_activebooleanIndicates whether the price book is active (true) or not (false).
is_archivedbooleanDescribes whether the price book is archived. The default value is false.
is_deletedbooleanIndicates whether the price book has been archived (true) or not (false).
is_standardbooleanIndicates whether the price book is the standard price book for the org (true) or not (false). Every org has one standard price book—all other price books are custom price books.
last_modified_by_idtextId of the user who most recently changed the product record.
last_modified_datetimestamp with time zoneDate of most recent change in the product record.
last_referenced_datetimestamp with time zoneThe timestamp for when the current user last viewed a record related to this record.
last_viewed_datetimestamp with time zoneThe timestamp for when the current user last viewed this record. If this value is null, it's possible that this record was referenced (LastReferencedDate) and not viewed.
nametextThe Price Book Name.
system_modstamptextThe date and time when order record was last modified by a user or by an automated process.

Products

The salesforce_product table in Salesforce is a valuable resource for Sales and Business Analysts, offering a detailed view of the products offered by a business. This table includes information on both standard and custom fields, allowing users to gain insights into the products, their associations with Opportunities or Quotes, and to verify the details of custom fields.

Fields

NameTypeDescription
_ctxjsonbSteampipe context in JSON form, e.g. connection_name.
created_by_idtextThe id of the user who created the product record, with the date and time of creation.
created_datetimestamp with time zoneDate and time of the creation of the product role record.
descriptiontextDescription of the product.
display_urltextURL leading to a specific version of a record in the linked external data source.
external_data_source_idtextThe id of the related external data source.
external_idtextThe unique identifier of a record in the linked external data source.
familytextName of the product family associated with this record.
idtextUnique identifier of the product in Salesforce.
is_activebooleanIndicates that the product is ready for use in a price book, opportunity, or quote, and whether you can see the product in views.
is_archivedbooleanDescribes whether the product is archived. The default value is false.
is_deletedbooleanIndicates whether the object has been moved to the Recycle Bin (true) or not (false).
last_modified_by_idtextId of the user who most recently changed the product record.
last_modified_datetimestamp with time zoneDate of most recent change in the product record.
last_referenced_datetimestamp with time zoneThe timestamp when the current user last viewed product record.
last_viewed_datetimestamp with time zoneThe timestamp when the current user last viewed this record. If this value is null, this record might only have been referenced (last_referenced_date) and not viewed by the current user.
nametextThe product's name.
product_codetextThe internal code or product number that you use to identify the product.
quantity_unit_of_measuretextUnit of the product—for example, kilograms, liters, or cases.
stock_keeping_unittextThe product's SKU, which can be used with or in place of the Product Code field.
system_modstamptextThe date and time when order record was last modified by a user or by an automated process.

Users

The salesforce_user table in Salesforce is an important tool for administrators and auditors, providing comprehensive insights into the users of a Salesforce organization. This table helps explore individual user profiles, including their roles, status, and level of access. It's useful for assessing user roles, understanding access levels, and monitoring user activity statuses within the organization.

Fields

NameTypeDescription
_ctxjsonbSteampipe context in JSON form, e.g. connection_name.
account_idtextID of the Account associated with a Customer Portal user. This field is null for Salesforce users.
aliastextThe user's alias. For example, jsmith.
created_by_idtextId of the user who created the user including creation date and time.
departmenttextThe company department associated with the user.
emailtextThe user's email address.
employee_numbertextThe user's employee number.
forecast_enabledbooleanIndicates whether the user is enabled as a forecast manager (true) or not (false).
idtextUnique identifier of the user in Salesforce.
is_activebooleanIndicates whether the user has access to log in (true) or not (false).
last_login_datetimestamp with time zoneThe date and time when the user last successfully logged in. This value is updated if 60 seconds elapses since the user's last login.
last_modified_by_idtextId of the user who last changed the user fields, including modification date and time.
nametextDisplay name of the user.
profile_idtextID of the user's Profile.
statetextThe state associated with the User.
user_typetextThe category of user license. Can be one of Standard, PowerPartner, CSPLitePortal, CustomerSuccess, PowerCustomerSuccess, CsnOnly, and Guest.
usernametextLogin name of the user.

Dynamic Objects

Salesforce dynamic objects are a feature in Salesforce that allows for the flexible creation and management of custom objects. These objects can be tailored to meet the specific needs of a business and are used to store information unique to the organization. Dynamic objects in Salesforce are highly customizable, enabling users to define their own fields, relationships, and behaviors. This functionality is particularly useful for organizations that require specialized data structures beyond the standard Salesforce objects, allowing for a more tailored CRM experience.

The salesforce_{object_name}__c table in Salesforce, where {object_name} represents the custom object name and __c is automatically added by the platform, is a resource for administrators and developers that offers a detailed understanding of a specific dynamic Salesforce object. This table provides a deep dive into the properties, relationships, and metadata of the object, aiding in a comprehensive analysis of its characteristics, how it interacts with other objects, and the ways it can be manipulated within the Salesforce ecosystem.

Fields

Let's create a custom object called Customer Feedback. This object holds feedback of customers for specific products. It stores pointers to Contact and Product Salesforce objects.

To create this object we need to log into our Salesforce account, go to Setup, then Object Manager and create the object with the following fields: Customer Feedback fields

NameTypeDescription
_ctxjsonbSteampipe context in JSON form, e.g. connection_name.
idtextID of the customer feedback entry.
owner_idtextThe ID of the user who currently owns this account. Default value is the user logged in to the API to perform the create.
created_datetimestamp with time zoneDate and time of the creation of the product role record.
created_by_idtextThe id of the user who created the product record, with the date and time of creation.
last_modified_by_idtextThe id of the user who last changed the contact fields, including modification date and time.
last_modified_datetimestamp with time zoneThe date and time of last modification to account.
system_modstamptimestamp with time zoneThe System Modstamp.
last_viewed_datetimestamp with time zoneThe date and time that the asset was last viewed.
last_referenced_datetimestamp with time zoneThe date and time that the asset was last modified.
contact_id__ctextCUSTOM FIELD for the ID of the Contact associated with this asset.
product_id__ctextCUSTOM FIELD for the ID of the Product associated with this asset.
date_received__ctimestamp with time zoneCUSTOM FIELD for the creation date of the customer feedback.
feedback_type__ctextCUSTOM FIELD for the type of feedback, e.g. Complaint, Compliment, Suggestion and Inquiry.
description__ctextCUSTOM FIELD for the customer feedback text.

This is how our custom object Customer Feedback is mapped to the logical relational table salesforce_customer_feedback__c:

note

All custom table and column names in Salesforce are suffixed with the token __c.

Acknowledgement

We would like to acknowledge the amazing work from the Steampipe community, from which this documentation and examples were derived.