Monday, February 10, 2014

Salesforce: Opportunity owner added to Opportunity Team

Recently, we notice that Opportunity owner added to Opportunity Team member by default. When an opportunity created, Opportunity Team will always have Opportunity owner with member role = Opportunity Owner

Not aware where this coming from, few rough guess:
  1. Check 'Default Opportunity Team' in user profile
  2. It is enabled by Salesforce by default when Salesforce have new release
  3. External consultants / developer write trigger without our awareness
In every user detail, user can add default opportunity team 'Automatically add my default opportunity team to opportunities that I create or open opportunities that are transferred to me'. But, we do not see any value in 'Default Opportunity Team' for user owned the opportunity. Assumption (1) is not correct.

We test this in a pure new Developer edition, this thing is not happen, so assumption (2) is not correct, Salesforce do not do this.

Search and check for all triggers in Opportunity, but do not see auto add Opportunity owner to Opportunity Team member, assumption (3) maybe not correct, reason it maybe in other trigger.

After do some research, we find this document Enabling Opportunity Splits. Enabling Opportunity Splits changes existing opportunity records in your organization. 
  • The opportunity owner is included on each opportunity team. Because the Opportunity Owner role is essential for splits, you can’t remove it.
  • If you enable split types that total 100%, new opportunity split records include a default entry for the owner, who initially receives 100% of the split amount. (These additional records increase storage requirements for your organization.)
A script applies these changes after you enable Opportunity Splits. The script temporarily disables triggers, workflows, and validation rules for opportunity team records, mass reassignment of opportunity team members, and mass transfer of accounts and opportunities. If your organization contains a lot of opportunities, the script may take several hours. While it’s running, you can still perform other tasks in Salesforce. Automated email notifications keep you up to date on the script’s status.

So, this is clear, it is effect on enabling Opportunity Split, all existing opportunity will be populated with member role = Opportunity Owner.

Note: one user will only have one role of Opportunity Team for one Opportunity, if you add an existing user of Opportunity Team with a new role, it will overwrite existing role.