Salto, a new way for business operations

Our mission is to change the way companies manage the configuration of their business applications. Modern business operations is handled using an array of online services (e.g. Salesforce, NetSuite, Marketo, HubSpot, etc.). Being able to consistently make changes across these systems in a streamlined and reliable way is becoming challenging as business velocity increases. We see similarities between these problems and problems that DevOps people are handling on a daily basis. As such, we are developing a solution that is bringing Devops concepts and methodologies to day-to-day business operations.

~/salto(master) » salto fetch
 Finished loading workspace for environment dev                    
Fetching and applying changes from the service(s)
>>> Fetching the latest configs from: salesforce, netsuite
vvv Finished fetching the latest configs from: salesforce, netsuite

>>> Calculating the difference between local and remote
vvv Finished calculating the difference between local and remote

>>> Applying 4 changes to the local workspace
vvv Applied changes

Done! Your workspace is now updated with the latest changes.

fetch grabs the configuration from the target SaaS and formats it as nacl files

~/salto(master*) » cat Sales_regions.nacl
salesforce.GlobalValueSet Sales_Regions {
    fullName = "Sales_Regions"
    customValue = [
        {
            fullName = "NA"
            default = true
            label = "NA"
        }
    ]
    description = "These are the sales regions we use for lead and account"
    masterLabel = "Sales Regions"
    sorted = false
}

This is how a typical nacl file looks like, it's a format that is easy to read and understand

~/salto(master*) » git diff
+++ a/salesforce/Records/GlobalValueSet/Sales_Regions.nacl
@@ -0,0 +1,23 @@
+salesforce.GlobalValueSet Sales_Regions {
+      {
+        fullName = "EMEA"
+        default = false
+        label = "EMEA"
+      },
+      {
+        fullName = "APAC"
+        default = false
+        label = "APAC"
+      },
+}

Git is used to review changes, version and document them

~/salto(master*) » salto deploy                                    
✔ Finished loading workspace for environment dev
Salto will perform the following actions:
M salesforce.GlobalValueSet.Sales_Regions
Resources and actions are indicated with the following symbols:
  + create
  M change
  - remove
Impacts: 0 types and 1 instances.

? Do you want to perform these actions? Yes

Starting the deployment plan
    salesforce.GlobalValueSet.Sales_Regions: Modifying
    salesforce.GlobalValueSet.Sales_Regions: Modification completed after 1s

Deployment succeeded - 1 applied change(s).

After review and test, deploy changes to a different environment

~/salto(master) » git status
On branch master
Your branch is up to date with 'origin/master'.

Changes not staged for commit:
    (use "git add ..." to update what will be committed)
    (use "git restore ..." to discard changes in working directory)
    modified:   salesforce/Records/GlobalValueSet/Sales_Regions.nacl

no changes added to commit (use "git add" and/or "git commit -a")
~/salto(master*) » git add salesforce/Records/GlobalValueSet/Sales_Regions.nacl

~/salto(master) » git commit -m "added EMEA and APAC to the sales regions list"  
[master 81fe74a] added EMEA and APAC to the sales regions list
    1 file changed, 1 insertion(+), 1 deletion(-)

Commit the changed nacl files back to Git

Salto Open Source Project

The heart of our solution is a fully functional open source project. For details please go to our Github repo

Salto SaaS Product

Our commercial solution will be available later this year. In the meantime if you'd like to learn more please write us

We are hiring

If you like to be challenged, if you'd like to make an impact in your day-to-day work, if you'd like an opportunity to grow, come join our team