Provision in Orb from Salesforce
Use the Orb CPQ integration to automate your provisioning and quote-to-cash workflows. This guide includes installation, configuration, and common use cases you can power with the integration. You can also review this video to see an example set-up and workflow configuration.
How it works
Orb’s CPQ integration automates provisioning from your Salesforce instance to your Orb account based on custom triggers and flows built into the SFDC flow-builder. The integration is installed via a Salesforce managed package and includes endpoints available within Orb’s API packaged as Apex actions. Each API endpoint is fully supported within the Apex action so that you can uniquely power your company’s workflows.
Those actions can be triggered manually or upon standard SFDC triggers (e.g. “Opportunity moved to closed-won”). The Apex actions included have hybrid APIs that work directly in Flow Builder, but also work well when composed together in code. This is done by providing Apex action classes that are Flow Builder-compatible, but have a “raw JSON” input option when the builder UI is insufficient or cumbersome.
Note: If you don’t have access to Salesforce CPQ, you can still use this integration to provision in Orb from SFDC.
Accessing the managed package
If the Salesforce CPQ integration is included in your plan, you can access the links to download the managed package within the Orb web application. Note: Only Orb Admins have access to the CPQ links. If you’re not an Orb admin, reach out to the admin at your organization for support accessing the package links.
To access the links:
-
Open the Orb web app (app.withorb.com)
-
Navigate to settings
-
Select the Integrations tab
-
Scroll to the CPQ section
You’ll see a link to a sandbox managed package, recommended for syncing your SFDC sandbox with Orb’s test mode for testing the integration. And a production package, recommended for syncing your SFDC production instance with Orb live mode. Installation of the package should be done by a Salesforce Admin using the workflow below.
Installation
Orb’s Salesforce application is distributed as a Salesforce Managed Package. Installation of the package should be done by a Salesforce Admin.
-
Navigate to the installation link provided, and click Install for Admins Only.
-
Once the package is installed, navigate to the App Launcher and search for the Orb app.
Configuration
On the configuration page for the Orb application, you’ll be asked to provide an API key. This is an Orb API Key that is used to make requests via Orb’s SFDC package to the Orb API. While any valid API Key for your account can be used, we recommend provisioning a specific Salesforce API key for this purpose and identifying it appropriately. To provision an Orb API key, visit the API Keys page in the Developers section of the Orb dashboard.
Use Cases
Description | Orb API Endpoints | |
---|---|---|
Provision new contracts | A new Enterprise contract is sold to an existing customer on a self-serve paid plan, an existing user of the free plan, or to a net new user. | In flow builder, fetch or create an Orb customer. When a customer does not have an existing Orb subscription, use Create subscription: - Equivalent APEX action: OrbCreateSubscription - API docs When a customer does have an existing Orb subscription, Schedule plan change: - Equivalent APEX action: OrbSchedulePlanChange - API docs |
Amend an existing contract | An existing contract is amended (edited), usually in an upsell or revision scenario. Often the following is amended: - Usage quantities: Increasing usage commits or decreasing them - Adding new products within the contract term | The APEX actions used depend on the contract changes made. Update fixed-fee quantity: - This is specifically for cases where you need to update a quantity on a non-usage-based fee; allocations are a special kind of non-usage-based fee, so allocation amounts can be updated this way - Equivalent APEX action: OrbUpdatePriceQuantity - API docs Add and edit price intervals: - This endpoint lets you end prices on the subscription at specific dates, and add new ones - These changes can be backdated or forward-dated - Ending a price interval, and adding a new one with similar-but-different configuration, is the common way to “amend” a particular price point - Equivalent APEX action: OrbAddEditPriceIntervals - API docs |
Cancel and replace an existing contract | An existing contract is canceled and replaced. Typically this is an upsell scenario, if a customer is growing in their usage, they want to negotiate a cheaper rate. | You’ll likely model this with a plan change, scheduled at the time of the transition to the new contract (note: this can be backdated or forward-dated). - Equivalent APEX action: OrbSchedulePlanChange - API docs |
Renew contracts | At the end of the contract term, the sales person will negotiate and provision a new contract. | You might model this as: A plan change: - Equivalent APEX action: OrbSchedulePlanChange - API docs A cancellation, plus a new subscription (in the event it’s a “new billing relationship” - e.g., with M&A): - Equivalent APEX actions: OrbCancelSubscription , OrbCreateSubscription - API docs for cancellation - API docs for creation |
Early termination | An enterprise customer ends a contract prior to the end of term and is no longer a customer or is moved to an existing paid or free plan. | You’ll likely model this as either a cancellation (churn): - Equivalent APEX action: OrbCancelSubscription - API docs Or a plan change (downgrade): - Equivalent APEX action: OrbSchedulePlanChange - API docs Orb will track prorated refunds for in-advance fees, but won’t issue them automatically - you’ll need to disburse those funds manually in the case of a prorated refund. |
Setting up your first flow
High-level, the steps to automate creating a subscription and customer from an Opportunity are:
-
Create a new record triggered Flow. Make sure to select the
Include a Run Asynchronously path...
checkbox at the bottom when creating the Flow. This allows you to use the Orb actions. -
Configure the flow to run when an Opportunity object is transitioned to the Closed/Won stage.
-
Under the
Run Asynchronously
path, add an Action and search for theCreate Orb Customer
action
-
Fill in appropriate fields from the opportunity, account, and other built in or custom fields.
-
You can also create an Orb object by assigning a variable, to pass in more complex fields. For example, to create an
Address
variable, create anAssignment
with a data type ofApex-Defined
. Search for thewithorb__OrbAddressInput
Apex class, and fill in fields as needed. -
You can use this variable as input to the
Create Orb Customer
action.
-
-
Next, add the
Create Orb Subscription
action. Similar to customer, fill in the appropriate fields.- To support custom pricing per customer, assign a variable of type
withorb__OrbPriceOverride
and fill in appropriate fields. This data is normally stored on the Opportunity Line Item.
- To support custom pricing per customer, assign a variable of type
-
Save and activate the Flow. To test it, transition an opportunity to Closed/Won.
For a detailed walkthrough, we recommend watching the video.
Was this page helpful?