composable-delivery/Busbar Exchange Action

Exchange a GitHub Actions OIDC token for a short-lived Salesforce access token using RFC 8693 Token Exchange. No stored credentials required.

View on GitHub

Trust Signals

Scorecard Score
not yet scored
Maintenance Recency
Activelast commit May 3, 2026
License
None

Pinned Snippet

workflow.ymlSHA-pinned
uses: composable-delivery/sf-oidc-exchange@f2f9b3653e27161380f1b4fcfafae7c650601512 # v1.0.1

tags can be moved; commit SHAs can't. why a SHA?

namedescriptionrequireddefault
sf-token-endpointSalesforce instance URL of the target org. Example: https://myorg.my.salesforce.com yes
oidc-audienceAudience value to embed in the GitHub OIDC token. Defaults to sf-token-endpoint, which binds the token to the target org so a leaked OIDC token cannot be replayed against a different org. no""
token-handler-apexDeveloper name of the Apex OauthTokenExchangeHandler registered in the target org. Defaults to BBGitHubTokenExchangeHandler (the Busbar managed package handler). noBBGitHubTokenExchangeHandler
sf-aliasAlias to assign to the authenticated org in the Salesforce CLI. Downstream steps can reference the org with --target-org or the alias directly. nobusbar
set-default-orgSet the authenticated org as the default Salesforce CLI org for subsequent steps. Set to 'false' when authenticating multiple orgs in the same job. notrue
eca-client-idConsumer key (client_id) of the Busbar External Client App in the target org. The managed package ships a fixed value that is the same in every subscriber org; only override this when targeting a non-managed or dev-edition ECA with a different consumer key. no""
sf-loginRegister the exchanged token with the Salesforce CLI (sf org login access-token). Set to 'false' to skip CLI registration and use the access-token output directly. notrue
namedescription
access-tokenShort-lived Salesforce access token (5-minute lifetime).
instance-urlSalesforce instance URL of the authenticated org.
sf-aliasSalesforce CLI alias assigned to the authenticated org.