{"id":49680135,"url":"https://github.com/salesforcecli/plugin-service-automation","last_synced_at":"2026-05-07T06:01:32.149Z","repository":{"id":351927901,"uuid":"1149418667","full_name":"salesforcecli/plugin-service-automation","owner":"salesforcecli","description":"Automate the deployment of Service Processes by seamlessly orchestrating data and metadata across environments.","archived":false,"fork":false,"pushed_at":"2026-04-29T04:01:10.000Z","size":1580,"stargazers_count":0,"open_issues_count":7,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-04-29T04:13:12.329Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/salesforcecli.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.txt","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-02-04T04:57:34.000Z","updated_at":"2026-04-29T04:01:14.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/salesforcecli/plugin-service-automation","commit_stats":null,"previous_names":["salesforcecli/plugin-service-automation"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/salesforcecli/plugin-service-automation","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/salesforcecli%2Fplugin-service-automation","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/salesforcecli%2Fplugin-service-automation/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/salesforcecli%2Fplugin-service-automation/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/salesforcecli%2Fplugin-service-automation/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/salesforcecli","download_url":"https://codeload.github.com/salesforcecli/plugin-service-automation/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/salesforcecli%2Fplugin-service-automation/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32725216,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-07T02:14:30.463Z","status":"ssl_error","status_checked_at":"2026-05-07T02:14:29.405Z","response_time":62,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-05-07T06:00:45.308Z","updated_at":"2026-05-07T06:01:32.136Z","avatar_url":"https://github.com/salesforcecli.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Service Process Automation Plugin\n\n[![NPM](https://img.shields.io/npm/v/@salesforce/plugin-service-automation.svg?label=@salesforce/plugin-service-automation)](https://www.npmjs.com/package/@salesforce/plugin-service-automation) [![Downloads/week](https://img.shields.io/npm/dw/@salesforce/plugin-service-automation.svg)](https://npmjs.org/package/@salesforce/plugin-service-automation) [![License](https://img.shields.io/badge/License-Apache--2.0-blue.svg)](https://opensource.org/license/apache-2-0)\n\nService automation transforms manual tasks into orchestrated workflows—from intake forms to fulfillment—delivering consistency, scalability, and speed. A Service Process combines Data (records) and Metadata (code and configuration). Migrating a process from Sandbox to Production typically requires manual export and deployment of interdependent components—an error-prone and time-consuming approach that can compromise tested configurations.\n\nThis plugin automates the extraction and deployment of Service Process, ensuring faster, safer deployments where the validated golden copy is exactly what reaches Production.\n\n### Supported Metadata Types\n\n- Service Process Attributes (anchor, custom, context)\n- Intake Flow\n- Fulfillment Flow\n- Preprocessor (Apex class must already exist in the target org)\n\n**Prerequisite:** All other dependencies (e.g., Apex used in flows, Unified Catalog context definition allowlisting) must already exist in the target org.\n\n## Before You Begin\n\n- Install and authenticate the [Salesforce CLI](https://developer.salesforce.com/tools/sfdxcli).\n- Ensure your target org supports the Service Process API (minimum API version 66.0).\n\n## Install the Plugin\n\n```bash\nsf plugins install @salesforce/plugin-service-automation\n```\n\nTo install a specific version:\n\n```bash\nsf plugins install @salesforce/plugin-service-automation@x.y.z\n```\n\n## Running the Plugin\n\nAfter installation, use the `sf service-process` topic:\n\n```bash\n# List Service Processes in an org\nsf service-process list -o YOUR_ORG_ALIAS\n\n# Retrieve a Service Process zip to an org\nsf service-process retrieve -i 01txx0000008ABC -o devSandbox -d ./sp-artifacts\n\n# Deploy a retrieved Service Process zip to an org\nsf service-process deploy -z ./service-process.zip -o prod\n```\n\n## Commands\n\n\u003c!-- commands --\u003e\n\n- [`sf service-process deploy`](#sf-service-process-deploy)\n- [`sf service-process list`](#sf-service-process-list)\n- [`sf service-process retrieve`](#sf-service-process-retrieve)\n\n## `sf service-process deploy`\n\nDeploy a Unified Catalog Service Process into a Salesforce org.\n\n```\nUSAGE\n  $ sf service-process deploy -o \u003cvalue\u003e -z \u003cvalue\u003e [--json] [--flags-dir \u003cvalue\u003e] [--api-version \u003cvalue\u003e] [--link-intake]\n    [--link-fulfillment]\n\nFLAGS\n  -o, --target-org=\u003cvalue\u003e   (required) Username or alias of the target org. Not required if the `target-org`\n                             configuration variable is already set.\n  -z, --input-zip=\u003cvalue\u003e    (required) Path to the ZIP file that contains the Service Process metadata to deploy.\n      --api-version=\u003cvalue\u003e  Override the api version used for api requests made by this command\n      --link-fulfillment     Link an existing fulfillment artifact instead of deploying one.\n      --link-intake          Link an existing intake flow instead of deploying a new one.\n\nGLOBAL FLAGS\n  --flags-dir=\u003cvalue\u003e  Import flag values from a directory.\n  --json               Format output as json.\n\nDESCRIPTION\n  Deploy a Unified Catalog Service Process into a Salesforce org.\n\n  A Unified Catalog Service Process defines a service automation workflow consisting of attributes, intake flows,\n  fulfillment flows, and preprocessors.\n\n  Use this command to deploy a Service Process packaged as a ZIP file (typically generated by the `service-process\n  retrieve` CLI command) into a target Salesforce org.\n\n  This command deploys supported Service Process metadata, including:\n\n  - Service Process Attributes (anchor, custom, context)\n  - Intake flow\n  - Fulfillment flow\n  - Preprocessor reference\n\n  All other dependencies must already exist in the target org. Examples of these dependencies include:\n\n  - Apex classes used in flows\n  - Apex classes referenced by the preprocessor\n  - Unified Catalog context definition allowlisting\n\n  If any required dependency is missing in the org, the deployment fails.\n\nEXAMPLES\n  Deploy a Service Process from a ZIP file to an org with alias \"prod\":\n\n    $ sf service-process deploy --input-zip ./service-process.zip --target-org prod\n\n  Deploy while linking an existing intake flow:\n\n    $ sf service-process deploy --input-zip ./service-process.zip --target-org prod --link-intake\n\n  Deploy while linking existing intake and fulfillment artifacts:\n\n    $ sf service-process deploy --input-zip ./service-process.zip --target-org prod --link-intake --link-fulfillment\n\nFLAG DESCRIPTIONS\n  -z, --input-zip=\u003cvalue\u003e  Path to the ZIP file that contains the Service Process metadata to deploy.\n\n    You typically generate this ZIP file with the `service-process retrieve` CLI command. The ZIP file contains the\n    Service Process definition and supported metadata.\n\n  --link-fulfillment  Link an existing fulfillment artifact instead of deploying one.\n\n    When specified, the command links an existing fulfillment artifact (flow or flow orchestrator) in the target org\n    instead of deploying the fulfillment flow from the ZIP file.\n\n  --link-intake  Link an existing intake flow instead of deploying a new one.\n\n    When specified, the command links the existing intake flow in the target org instead of deploying the intake flow\n    from the ZIP file.\n```\n\n_See code: [src/commands/service-process/deploy.ts](https://github.com/salesforcecli/plugin-service-automation/blob/1.1.3/src/commands/service-process/deploy.ts)_\n\n## `sf service-process list`\n\nList the available Unified Catalog Service Processes in a Salesforce org.\n\n```\nUSAGE\n  $ sf service-process list -o \u003cvalue\u003e [--json] [--flags-dir \u003cvalue\u003e] [--api-version \u003cvalue\u003e] [--limit \u003cvalue\u003e]\n\nFLAGS\n  -o, --target-org=\u003cvalue\u003e   (required) Username or alias of the target org. Not required if the `target-org`\n                             configuration variable is already set.\n      --api-version=\u003cvalue\u003e  Override the api version used for api requests made by this command\n      --limit=\u003cvalue\u003e        [default: 1000] Maximum number of Service Processes to return.\n\nGLOBAL FLAGS\n  --flags-dir=\u003cvalue\u003e  Import flag values from a directory.\n  --json               Format output as json.\n\nDESCRIPTION\n  List the available Unified Catalog Service Processes in a Salesforce org.\n\n  A Unified Catalog Service Process defines a service automation workflow consisting of attributes, intake flows,\n  fulfillment flows, and preprocessors.\n\n  Use this command to list Unified Catalog Service Process records from the specified org and display their **Name** and\n  **Id** in a human-readable table.\n\n  To ensure predictable performance and avoid excessively large output, the command limits the number of records\n  returned. If the maximum limit is reached, the results are truncated and a warning is displayed.\n\n  Use the `--limit` flag to control the maximum number of Service Processes returned.\n\nEXAMPLES\n  List the available Service Processes in the org with alias \"devSandbox\"; use the default limit:\n\n    $ sf service-process list --target-org devSandbox\n\n  List up to 100 Service Processes:\n\n    $ sf service-process list --target-org devSandbox --limit 100\n\nFLAG DESCRIPTIONS\n  --limit=\u003cvalue\u003e  Maximum number of Service Processes to return.\n\n    Allowed range is 1–2000. Default is 1000.\n```\n\n_See code: [src/commands/service-process/list.ts](https://github.com/salesforcecli/plugin-service-automation/blob/1.1.3/src/commands/service-process/list.ts)_\n\n## `sf service-process retrieve`\n\nRetrieve a Unified Catalog Service Process from a Salesforce org.\n\n```\nUSAGE\n  $ sf service-process retrieve -i \u003cvalue\u003e -o \u003cvalue\u003e [--json] [--flags-dir \u003cvalue\u003e] [-d \u003cvalue\u003e] [--api-version\n  \u003cvalue\u003e]\n\nFLAGS\n  -d, --output-dir=\u003cvalue\u003e          Directory where the retrieved Service Process artifacts and the generated ZIP file\n                                    are written. If not specified, artifacts are written to `./service-process`.\n  -i, --service-process-id=\u003cvalue\u003e  (required) ID of the Unified Catalog Service Process to retrieve from the source\n                                    org.\n  -o, --target-org=\u003cvalue\u003e          (required) Username or alias of the target org. Not required if the `target-org`\n                                    configuration variable is already set.\n      --api-version=\u003cvalue\u003e         Override the api version used for api requests made by this command\n\nGLOBAL FLAGS\n  --flags-dir=\u003cvalue\u003e  Import flag values from a directory.\n  --json               Format output as json.\n\nDESCRIPTION\n  Retrieve a Unified Catalog Service Process from a Salesforce org.\n\n  A Unified Catalog Service Process defines a service automation workflow consisting of attributes, intake flows,\n  fulfillment flows, and preprocessors.\n\n  Use this command to retrieve a Unified Catalog Service Process from the specified Salesforce org and package it into a\n  ZIP file. You can then deploy this ZIP file to another org.\n\n  The command downloads the Service Process definition, identifies supported dependent metadata, retrieves those\n  components, and bundles everything into a deployable artifact.\n\n  Supported metadata retrieved by this command includes:\n\n  - Service Process Attributes (anchor, custom, context)\n  - Intake flow\n  - Fulfillment flow\n  - Preprocessor reference\n\n  Other dependencies, such as Apex classes used by flows or preprocessors, aren't retrieved and must already exist in\n  the target org before deployment.\n\nEXAMPLES\n  Retrieve a Service Process using its ID from the org with alias \"devSandbox\":\n\n    $ sf service-process retrieve --service-process-id 0SPxx0000008ABC --target-org devSandbox\n\n  Retrieve a Service Process and write the artifacts to a custom directory:\n\n    $ sf service-process retrieve --service-process-id 0SPxx0000008ABC --target-org devSandbox --output-dir \\\n      ./sp-artifacts\n```\n\n_See code: [src/commands/service-process/retrieve.ts](https://github.com/salesforcecli/plugin-service-automation/blob/1.1.3/src/commands/service-process/retrieve.ts)_\n\n\u003c!-- commandsstop --\u003e\n\n## Issues\n\nReport issues at [Salesforce CLI issues](https://github.com/forcedotcom/cli/issues).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsalesforcecli%2Fplugin-service-automation","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsalesforcecli%2Fplugin-service-automation","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsalesforcecli%2Fplugin-service-automation/lists"}