busbar-actions/Busbar — sf-org-create
Create a Salesforce scratch org via direct API (no sf CLI). Auths the DevHub via busbar-auth and emits the new orgs credentials.
View on GitHubTrust Signals
- Scorecard Score
- not yet scored
- Maintenance Recency
- Activelast commit Jun 7, 2026
- License
- None
Pinned Snippet
uses: busbar-actions/sf-org-create@fba369c5b186c83868b7fbf6be7a8ad343238ffa # no releases — HEAD as of 2026-07-11tags can be moved; commit SHAs can't. why a SHA?
Inputs
| name | description | required | default |
|---|---|---|---|
| target-instance | PRIMARY OIDC path: instance URL of the Busbar-equipped DevHub to mint a short-lived token against (e.g. busbar-pilot-demo2). Passed to the binary as SF_INSTANCE_URL; with `id-token: write` granted, busbar-auth OIDC-exchanges in-process (no SF_ACCESS_TOKEN handoff). | no | "" |
| org-name | Org name for the new scratch. | yes | — |
| admin-email | Admin email for the scratch. | yes | — |
| edition | Edition (Developer, Enterprise, Group, Professional, Partner Developer, …). | no | Developer |
| duration-days | Duration in days (1..=30). | no | 7 |
| namespace | Optional namespace. | no | "" |
| features | Optional comma-separated features list. | no | "" |
| description | Optional description. | no | "" |
| snapshot | Optional snapshot name or id (create-from-snapshot). | no | "" |
| credentials-output | Path to write the resulting credentials JSON. | no | .busbar/scratch-credentials.json |
| settings | Inline scratch-org-definition `settings` object as JSON. Deployed to the new org via the Metadata API after creation. Takes precedence over definition-file. | no | "" |
| definition-file | Path to a scratch-org-definition JSON; its `settings` block is deployed to the new org after creation. | no | "" |
| busbar-package | busbar (core) package version (04t id or alias) to install via the full Busbar setup sequence (packages, ECA policy, permset, handler, trust rules), run IN-PROCESS immediately after the new org's AuthCode is redeemed — the admin session never leaves the binary. Empty (default) skips setup entirely: the org is only created, matching prior behavior. | no | "" |
| github-package | busbar-github (adapter) package version (04t id or alias) to install. Required if busbar-package is set. | no | "" |
| trust-specs | Path to a trust-rule spec file/directory (relative to the checked-out repo) to establish OIDC trust during setup. Only used when busbar-package is set. Empty (default) skips the trust phase. | no | "" |
| hub-instance-url | Instance URL of a Busbar Hub org to register the new org with. Only used when busbar-package is set. Empty (default) skips Hub registration. | no | "" |
| org-type | Type of org to create: scratch (default), sandbox, trial. NOT YET IMPLEMENTED in the binary — currently ignored. | no | scratch |
| template-id | Template ID (for Trial orgs). | no | "" |
| company | Company name (for Trial orgs). | no | "" |
| first-name | Admin First Name (for Trial orgs). | no | "" |
| last-name | Admin Last Name (for Trial orgs). | no | "" |
| sandbox-license-type | Sandbox license type (Developer, Developer_Pro, Partial, Full). | no | Developer |
| source-id | Source org ID for cloning (for Sandbox orgs). | no | "" |
| version | Release tag of the sf-org-create binary. Falls back to env.BUSBAR_ACTION_VERSION, then "latest". | no | "" |
| binary-repo | GitHub repo hosting prebuilt binary releases. Falls back to env.BUSBAR_ACTION_REPO, then busbar-actions/actions-dist. | no | "" |
Outputs
| name | description |
|---|---|
| scratch_org_info_id | The DevHub-side ScratchOrgInfo record id. |
| scratch_org_id | The created scratch orgs 15-char id. |
| username | The created scratch orgs admin username. |
| login_url | Login URL for the created scratch org. |
| credentials-path | Path to the JSON file containing the new orgs credential context. |