Salto for Salesforce

Salto’s Salesforce adapter allows you to:

  • Fetch and deploy common Salesforce metadata items, e.g., custom objects and fields, apex classes and triggers, email templates, layouts, process builders, profiles.
  • In many cases a salesforce org is also configured via data records, e.g., CPQ, SBAA. Salto introduces a unified approach for managing both data records and metadata items from a single place.
  • Validate and deploy configuration changes from one Salesforce org to another.
  • Compare orgs.
  • Audit / document configuration changes.
  • Monitor specific changes of interest in your Salesforce orgs, e.g., Profiles or Permissions.

Authentication Instructions

In order to connect Salesforce to Salto you can either:

  • Connect via OAuth:
    • Choose OAuth authorization method and click 'Authenticate'.
    • If you are connecting to a sandbox, check 'Sandbox account'.
    • You will be prompted to choose one of your authenticated orgs or login to a new one.
    • Click 'Allow'.
  • Connect with your username, password and token:
    • Choose 'Username / Password' Authorization Method.
    • If you are connecting to a sandbox, check 'Sandbox account'.
    • Enter your username, password and token (leave the token field empty if your org uses IP whitelisting).

Fetch and Connection Configuration File

Fetch Configuration

To learn what is the default salesforce configuration and how you can modify it to support different use-cases such as fetching profiles or CPQ, check out our written guide or step-by-step video guide.

🚧

Note: Adding more types to your fetch configuration is likely to influence the fetch duration, especially if these types have many instances.

Excluded Types

The following types are not fetched by default and require modifications to the configuration file:

  • Email Template (video guide)
  • Profile (video guide)
  • Permission Set
  • Report
  • Report Type
  • Report Folder
  • Dashboard
  • Dashboard Folder
  • Site Dot Com
  • Content Asset
  • Custom Object Translation
  • Standard Value Set
  • Connected App
  • Additional configuration data records, e.g. CPQ (video guide)

Fetch Targets

Reduce fetch time by specifying metadata types. Once specified, Salto will fetch only instances of these types.

  • Certain metadata types cannot be fetched on their own and when specifying them, additional types will be fetched. The following lists of types are always fetched together
    • CustomObject, BusinessProcess, CompactLayout, FieldSet, Index, ListView, RecordType, SharingReason, ValidationRule, WebLink
    • Workflow, WorkflowAlert, WorkflowFieldUpdate, WorkflowFlowAction, WorkflowKnowledgePublish, WorkflowOutboundMessage, WorkflowRule, WorkflowTask
  • Fetching CustomMetadata configuration:
    • Specifying CustomObject type will include CustomMetadata types definitions without their records
    • Specifying CustomMetadata type will include CustomMetadata types definitions and their records, in addition to CustomObject and all the types in its group as specified above
  • If your fetch configuration includes data records, e.g. for CPQ, they will be fetched when specifying CustomObject type as one of the fetch targets

🚧

  • Deletions can not be detected when specifying fetch targets
  • References in fetched elements will be updated as part of the partial fetch as long as the referenced element exists in the Salto environment. If the referenced element does not exist in the Salto environment (meaning it is new in that environment and was not fetched yet), its reference will be omitted until a full regular fetch is performed

Salesforce tests

When deploying changes to a salesforce org, you can configure how and which tests are run, by opening the deploy configuration modal:

748

If you choose "Run Specific Tests", you'll need to supply the lists of tests to run.

Validation deployments

When deploying changes to a salesforce org, you can validate the changes without deploying them, and view the success or failure messages you would receive with an actual deploy.

To do that, you can choose to review a deployment plan or a validation plan when selecting element for deployment:

538

After selection "validation plan", you will be able to review the elements to be validated, and run the validation. The validation result will indicate "success" or "failure" according to the SF validation result. You can also view the validation result in Salesforce.

🚧

Note: CPQ and other data records can not be validated, and will not be included in validate-only deployment plans

FAQs

What impact does Salto have on my API limits?
ConcurrencyTotal RequestsRequest Size
What are the limits?API Request Limits and AllocationsAPI Request Limits and AllocationsMetadata Limits
How can you monitor?N/AGo to Setup → System Overview → API Usage

- Deploy's API consumption variance is high, since it depends on the scope of changes you choose to deploy, and therefore harder to gauge
- Fetch's API consumptions varies based on the total number of configuration elements in your account, e.g. more custom objects means more API calls, and therefore might be stabler, depending on the rate of change in your organization



How to gauge fetch's API usage on your account (click to expand)

- On the System Overview page, note the number of API requests in the last 24 hours
- Run Fetch, wait for it to complete
- Wait an additional 5 minutes to let Salesforce update their API calls numbers
- Refresh the System Overview page and note the new number of API requests — the difference should be the number of API calls Fetch used
- This might not be true if other API-consuming processes ran in parallel to Fetch

N/A
How can you adjust usage or capacity?See maxConcurrentRetrieveRequests in Salesforce adapter configuration.See metadataTypesSkippedList and instancesRegexSkippedList in Salesforce adapter configuration.See maxItemsInRetrieveRequest in Salesforce adapter configuration.
What are the advantages of Salto over Salesforce’s native ‘Where is this used’ feature?

Salesforce’s 'Where is this used' only works for Custom Fields while Salto supports standard fields as well as any other metadata type, e.g., Email Templates, Flows, Escalation Rules, Assignment Rules etc.

In addition, Salto enables free text searches across all configuration which allows you to find hardcoded values such as email addresses, profile IDs, and more.

Please refer to this blog post and step by step guides for more information

Which Salesforce clouds are supported by Salto?

Salto supports the Sales, Revenue (CPQ) and Service clouds on top of the Salesforce platform. The coverage may differ a little among these clouds, yet in general you will typically find what you are looking for (if not, please let our support know!). The Experience (Community) cloud support is currently limited and it's something we aim to improve in the next couple of months.

Other clouds which are not on top of the Salesforce platform, e.g., Marketing, Commerce, Tableau, Slack, Mulesoft, etc. are not supported at this time.