← Playbooks

Partnerships · RevOps

Make two Salesforce environments work like one co-sell motion.

An enterprise co-sell motion sounds straightforward until Partner and RevOps teams have to coordinate it across two separate Salesforce environments.

7 min read

The partnership is shared. The systems aren’t.

Co-selling gets complicated when two companies are managing the same motion from separate Salesforce environments.

Your CRM says the opportunity is in Discovery. The partner’s says Evaluation.

Your record has one account owner. The partner has another.

One team updates the expected close date. The other never sees it.

A field changes on both sides. Which value should win?

Partner and RevOps teams end up comparing records, chasing updates, and manually reconciling differences.

The problem isn’t getting Salesforce to send data somewhere else. It’s keeping two independent systems coordinated when the data changes on both sides.

The play: Define the co-sell rules. Ballet keeps both sides coordinated.

Tell Ballet which information should move between the two Salesforce environments, what should happen when something changes, and which conflicts require review.

What you hand Ballet

Keep our Salesforce and our partner’s Salesforce coordinated for shared co-sell accounts and opportunities. When an approved field changes in either system, update the corresponding record in the other. If both systems contain conflicting values, apply our defined resolution rules. If the conflict can’t be resolved safely, flag it for review. Record the changes and resolution so we have a history of what happened.

Ballet builds the integrations and workflow needed to run that process across both systems.

You define how the partnership should operate. Ballet builds the workflow that keeps the systems coordinated.

Here’s how the workflow runs

1. A shared account or opportunity enters the workflow

The workflow begins when an account or opportunity meets your defined co-sell criteria.

Your team decides which information belongs in the shared workflow rather than synchronizing every field in Salesforce.

2. Approved changes move in both directions

When a shared field changes in either Salesforce environment, Ballet applies the synchronization rules your teams have defined and updates the corresponding record when appropriate.

Salesforce A ↔ Ballet ↔ Salesforce B

3. Ballet detects when the records disagree

Salesforce A Opportunity Stage: Discovery

Salesforce B Opportunity Stage: Evaluation

Ballet identifies the mismatch and checks the resolution rules defined for that field.

4. Clear conflicts follow your rules. Ambiguous ones go to review.

If a resolution rule exists, Ballet applies it. For example, your teams might designate one Salesforce environment as the source of truth for a particular field.

When there isn’t a clear rule, Ballet flags the conflict for review.

Needs review: Opportunity stage differs across Salesforce environments.

Needs review: Both teams updated the same field.

Needs review: No resolution rule exists for this conflict.

Instead of silently choosing a value, Ballet surfaces the exception for a human decision.

5. Ballet records what happened

The workflow records relevant changes, applied rules, and human-reviewed exceptions, creating a history of how shared information was updated and resolved.

Two Salesforce environments. One coordinated co-sell motion.

Take this play and make it yours

Before you bring your co-sell workflow to Ballet, define how the partnership should operate:

  • Which accounts and opportunities should be included?
  • Which Salesforce fields should be shared?
  • Which information should stay private to each company?
  • Which fields can update in both directions?
  • Is either Salesforce the source of truth for specific fields?
  • How should conflicting values be resolved?
  • Which conflicts require human review?
  • Who should review an exception?
  • What changes need to be recorded?

You don’t need to design the technical integration yourself. Start with what the two teams need to share, how conflicts should be handled, and what should happen when something changes.

The systems in this play

Ballet generates the integrations this workflow needs

You name the systems and what the workflow needs from each. Ballet builds the connections as part of the workflow, on demand.

Account

  • Salesforce

Account name, domain, segment, industry, territory, account owner

Opportunity

Opportunity stage, amount, expected close date, status

Co-sell

Partner status, partner owner, joint opportunity status, next step

Activity & milestones

Meetings held, key dates, agreed actions, recent updates

Don't see yours? Ballet builds the integration as part of the workflow. Bring us your workflow →

Bring us your workflow

What workflow would you hand to Ballet?

Bring us a workflow your team hasn't been able to automate. We'll build it in Ballet and show you what it looks like running across your systems.

FAQs

Salesforce Co-Sell Orchestration, answered

The questions teams ask before they hand this workflow over.

How do you sync two Salesforce environments?

Ballet can orchestrate a workflow between two Salesforce environments based on the synchronization rules your teams define.

The workflow can determine which records and fields should participate, what should happen when information changes, and which situations require review.

Can Salesforce data sync in both directions?

Yes. Ballet can build workflows where approved information moves between Salesforce environments in both directions, based on the rules of the co-sell process.

What happens when the same Salesforce field is different in each system?

Ballet can detect the mismatch and apply the conflict-resolution process your teams have defined.

If there is a clear rule, the workflow can follow it. If the correct value requires judgment, the conflict can be sent for human review.

Does bidirectional Salesforce sync overwrite data automatically?

It doesn’t have to. With Ballet, your workflow defines when an update should be applied automatically and when a conflicting value should be reviewed first.

That distinction is especially important when two independent companies control the systems involved.

Can you choose which Salesforce fields are shared with a partner?

Yes. The co-sell workflow can be designed around the records and fields the partnership has agreed to coordinate rather than treating the entire CRM as shared.

That lets Partner and RevOps teams coordinate the information needed for the co-sell motion without making every Salesforce field part of the workflow.

Can Ballet maintain an audit trail of Salesforce updates?

Ballet workflows are designed around deterministic, reviewable execution, giving teams visibility into how the workflow ran and what happened during execution.

For a co-sell workflow, relevant updates, exceptions, and resolutions can be recorded as part of the process.

Can Ballet handle Salesforce conflicts that require human review?

Yes. A Ballet workflow can route ambiguous situations to a human instead of forcing an automated decision.

The reviewer can see the conflicting information and make the decision before the workflow continues.

Is this the same as a standard Salesforce integration?

Not quite. A standard integration may move information from one system to another.

This workflow also has to handle what happens when information changes independently on both sides, when the records disagree, and when a human needs to intervene.

That orchestration layer is what makes the co-sell use case different from a simple one-way data transfer.

Do you need to build the Salesforce integration yourself?

No. You describe how the co-sell process should work, and Ballet builds the integrations and workflow needed to execute it.

Your teams define the business rules, shared information, conflict-resolution logic, and review points. Ballet handles the technical workflow connecting those steps.