OrgFlow CLI is a Fresh Take on Salesforce Metadata Management
OrgFlow is a new, platform-independent command line interface (CLI) that gives Salesforce devops architects and developers a fresh set of metadata management capabilities based on source control management and eventual consistency. In this product profile I will explain some of the OrgFlow concepts and how it works. I’ll then compare OrgFlow to some other parts of the Salesforce devops ecosystem so you can see how it might fit into your strategy.
OrgFlow in a Nutshell
To use OrgFlow you go to their website OrgFlow.io and download the OrgFlow is a CLI. It runs on Linux, Windows, and MacOS systems. OrgFlow also comes in a Docker image. You will need an account on the OrgFlow website, because the CLI interacts with the service to do its job. OrgFlow offers a free two-month trial and then requires you to purchase a paid subscription. Paid subscriptions start at $150 per month for a starter system.
OrgFlow CLI creates groups of Salesforce orgs as stacks. All your release-related orgs are put into stacks as environments. An environment is a link between a Salesforce org and a branch within a Git repository.
Commands like “orgflow env:flowin” scan that org’s metadata and store it in a designated branch. Subsequent “flowin” commands then let developers commit low-code Salesforce org changes to a branch with appropriate commit messages. When ready, a “flowout” command deploys a branch to an org. OrgFlow lets you merge branches with a combination of “flowin” and “flowout” commands.
What makes “orgflow env:flowout” different from “sfdx force:source:deploy” is that its online service automatically retries failed deployments, systematically moving error-generating elements. OrgFlow calls this eventual consistency. Those failed components are stored in a Git branch, which may be processed later. Then, using the OrgFlow online service you monitor the deployment process and process the erroneous components.
Bring Your Own Command Server
OrgFlow is targeted to Salesforce devops programs that choose to build their own solutions. To integrate OrgFlow into a devops pipeline you need a command server like Jenkins, Azure DevOps, or GitHub Actions. To make it easy, OrgFlow even has GitHub Actions samples available in the GitHub Marketplace.
OrgFlow may be well-suited to consultancies, system integrators, and vertical application developers. Those companies tend to draw engineering talent from the cloud native world. For a team to bring OrgFlow into their organization, they would likely already be committed to Git and branch-based Salesforce development. Since OrgFlow stores all its metadata content and records in your private Git repositories, no data is stored in the OrgFlow service.
Birthed from Cloud Native Computing
The origin of OrgFlow is a familiar story. It was borne out of necessity by frustrated developers! In this case, Daniel Rosenberg and Chris Payne were on a consulting team who worked for a client that needed Salesforce devops. They looked carefully at all the Salesforce devops platform vendors, and decided they wanted to build something that was more composable and flexible.
The OrgFlow founders are from the cloud native world, where devops pipelines are better integrated with source code management systems like Git. In a series of posts on Medium, Mr. Rosenberg shares the company’s manifesto for modernizing Salesforce development. He notes with furor how Salesforce orgs tend to randomly change its metadata. This results in a Salesforce development team’s inability to reliably deploy new code with standard tools like SFDX-CLI.
OrgFlow CLI: By Developers, For Developers
OrgFlow CLI targets a common problem encountered when updating a Salesforce org with SFDX-CLI. Every Salesforce developer who has submitted a sandbox changeset to a production org knows this pain. It comes when an entire deploy fails because of a low-code change in the target org. When I see that failure message on the Salesforce deploy screen my stomach clenches. That is because I know it is up to me to unravel a metadata puzzle and re-submit, possibly do it all over again.
OrgFlow brings a new metadata pain management system to the Salesforce devops armamentarium. It should be worth a look for Salesforce developers and architects who long for better metadata management, but don’t want to invest in a low-code Salesforce devops tool.