How can we help?

How to Configure Multi-Tier Distribution

Teresa
Teresa
  • Updated

Purpose Statement

This article is meant to show Allbound Administrator users how to configure Multi-Tier Distribution for their portal. 

 

Introduction

Multi-Tier Distribution (MTD) is available for customers that have Multi-Tier Distribution in their Allbound contract. Allbound's flexible Multi-Tier Distribution solution allows multiple partners on a deal to accommodate: 

  • Distributor / Partner (reseller) model
  • Technology Services Broker (TSB) / Sub-Agent model
  • Master VAR / Sub-VAR model
  • Other two-tier models.

Multi-Tier Distribution configuration is performed by both the Vendor and Allbound. 

 

Pre-requisites

Multi-Tier Distribution feature flag has been enabled in the portal by an Allbound Super Admin. 

 

Step 1. Configure Account Types

Account Type is a new field added to the Company record in Allbound. An Account Type is a high-level categorization of each company. All portals already have the following default Account Types:

  • Vendor
  • Partner

Customers with MTD can configure a third Account Type which is used throughout the portal for MTD.

 

To configure Account Types, System Admins:

  1. Navigate to Allbound Settings > Account Settings
  2. Click Account Types in left navigation menu
  3. Click Add Account Type
  4. Enter the name of the new Account Type - this should be reflective of what you call your two-tier company, such as 'Distributor' or 'Agent' or 'Technology Services Broker'. You will set this new Account Type value in your second partner company records in your CRM which will sync to Allbound via the integration. 
  5. Click Save.

help_center_AccountTypeAddAccountType.png

 

help_center_saveAccountType.png

 

Step 2. Configure 2nd Partner Settings

To configure settings for adding another partner to Deals:

  1. Navigate to Allbound Settings > Revenue Settings
  2. If MTD is enabled for your portal then you will see the ability to 'Add Partner'
  3. If you haven't already add a third Account Type, then you will be prompted to add an Account Type before you can continue configuring your second partner. Click Manage Account Types.
  4. Step 1: Account Type - Select the Account Type that you added for your new second partner
  5. Step 2: Field Attributes - The display label of the second partner dropdown will default to the Account Type. However, this field is editable. Edit the display label if you want to call the dropdown field for the second partner something other than the Account Type on the Deal Registration form. 
    • For example: You may have the Account Type = Agent, but want the Deal Registration form dropdown to be titled 'Technology Services Broker'
  6. 'Is it mandatory to select this partner?' - Indicate if the second partner is a required field on the Deal Registration form. The radio button defaults to No.
  7. Step 3: Field Options - Select how the second partner dropdown will be populated on the Deal Registration form. Partners will only be able to select second partners that they are associated with. Associations are determined using one of the following association types:
    1. Partner Contracts - Select 'Partner Contracts' if partners will be manually associated to second partners in the CRM. These static partner associations will be synced from the CRM to Allbound using integration manager.
      • Note: If Partner Contracts is selected, please submit a Support Ticket or email help@allbound.com so that an Integration Specialist can complete the integration updates required for Multi-Tier Distribution.
    2. Rules - Select 'Rules' if rules will be used to create dynamic associations between partners and second partners.
  8. Step 4: Rules - This step is only displayed if Rules are selected in Step 3. Define rules for how partners and second partners will be dynamically associated. On the Deal Registration form, Partners will only be able to select Second Partners they are associated with, in the second partner dropdown field. At least one rule is required.
    1. Rule Name - Enter a unique name for each rule. 
    2. Partner Attribute section - Identify the fields and the field values used to map to specific Distributer attributes.
      • Partner attributes always include the Account Type = <Partner>
      • Use AND/OR operators to add additional Partner attributes
      • Company Admin form fields that have a defined list of static values are available for selection:
        • Company Name
        • <All Drop Down fields>
        • <All Radio Button fields>
        • < All Multi Select fields>
    3. Second Partner Attribute section - Identify the attributes of the second partner that will be associated to partners.
      1. Second Partner attributes always include the Account Type = <selected Account Type>
      2. Use AND/OR operators to add additional Second Partner attributes
      3. Company Admin form fields that have a defined list of static values are available for selection:
        • Company Name
        • <All Drop Down fields>
        • <All Radio Button fields>
        • < All Multi Select fields>
  9. Add more Rules, as needed to ensure all partners will be associated to the appropriate second partners.
  10. Click Save to save the configuration of the second partner. 

help_center_addPartnerNoAccountType.png

help_center_rulesRegionBased.png

Step 3. Verify Company Data Integrity

If Rules are used to dynamically associate Partners then it's important to ensure that the Company data being used for rules is accurate.

  1. Navigate to Settings > Companies to display the Companies table
  2. Click Columns to customize columns and display all fields that are used in MTD rules
    1. Drag-and-drop the fields used by rules so that they are displayed towards the top of the list and will therefore be displayed on the left of the table
  3. Click Filters to more easily filter by a specific field value and review the companies that meet that criteria
  4. Optionally, export the Companies table to analyze the data in a spreadsheet application.
  5. Correct any incorrect data in the CRM so that the data will be accurate at the source.
    • Note: Use caution when removing/alerting values from dropdown menus as they may be defined in groups and dashboard segmentation. 
    • Note: any data changed in Allbound only, may be overridden by the CRM, depending on the fields synced.

help_center_companiesTable_mtd.png

 

Step 4. Configure Groups for 2nd Partner

You can optionally create groups to segment users of the second partner for dashboard customization and content visibility. For example, you may want to ensure that a Distributor Pricing Sheet (content) is only available to Distributor users. 

  1. Create a new Group
  2. Enter a unique name that describes the Group
  3. Select Type = Dynamic
  4. Add a rule using the Company Account Type and the new second partner Account Type
  5. Submit

help_center_groupAccountType_mtd.png

 

Step 5. Configure PJA for 2nd Partner

You can optionally configure Partner Journey Automation (PJA) to create specific deal-related workflows for your second partner.

  1. Deal-related triggers can be filtered by the second partner Company Name. For example, customize an email per Distributor company with specific next steps for that Distributor.
  2. Within email actions, the Send To, CC and BCC fields contain granular Account Type-based user roles. Now you can choose between the Deal Owner Executive, Manager, Sales roles and/or the Second Partner (e.g. Distributor) Executive, Manager, Sales roles.
  3. You can include Second Partner specific Merge Tags in the email Subject or Body. 

help_center_PJAFilters2ndPartner.png

help_center_PJASendTo2Tier.png

help_center_PJAMergeTags2ndPartner.png

 

Step 6. Update CRM Integration

The CRM Integration must be updated to sync Multi-Tier Distribution related fields.

Vendor Changes to CRM

To support syncing Multi-Tier Distribution related fields to/from the CRM, the vendor must make the following updates according to their CRM.

Salesforce Updates

Association Type Action Object Field Field Type Comments
All Add field Account Allbound Account Type

Picklist with values:

  • Partner
  • 2nd Partner Account Type (as configured in Allbound)
 
Partner Contract Associations only Add field Account Associated <2nd Partner Account Type>

Multi-select picklist with values:

{a single value for every account that has Account Type = 2nd Partner Account Type}

 
All Add field Lead <2nd Partner Display Label> Account Lookup  
All Add field Opportunity <2nd Partner Display Label> Account Lookup  
All Update Lead > Opportunity mapping Map <2nd Partner Display Label> for Lead > Opportunity conversion n/a  
All Validate Data & Bulk Update Account Allbound Account Type n/a Ensure that all accounts that have Allbound Status set, also have Allbound Account Type set to a value
Rules only Validate Data & Update for Data Integrity Account All fields that are used in MTD Rules n/a Ensure that all fields that are used in MTD Rules have accurate data since associations will be dynamically created based on these values

 

HubSpot Updates

Association Type Action Object Field Field Type Comments
All Add field Company Allbound Account Type

Single checkbox OR Dropdown select OR Radio select with values:

  • Partner
  • 2nd Partner Account Type (as configured in Allbound)
 
Partner Contract Associations only Add field Company Associated <2nd Partner Account Type>

Multiple checkboxes with values:

{a single value for every account that has Account Type = 2nd Partner Account Type}

 
All Data Validation - Bulk Update Company Allbound Account Type

n/a

Ensure that all accounts that have Allbound Status set, also have Allbound Account Type set to a value
Rules only Validate Data & Update for Data Integrity Account All fields that are used in MTD Rules n/a  Ensure that all fields that are used in MTD Rules have accurate data since associations will be dynamically created based on these values

 

Sync Account Type Field on Company Record

Since a vendor's CRM is their source of truth, we recommend that all Company field values are set in the vendor's CRM and synced to Allbound.

Note

  • While the Company Account Type field is editable in the Company Admin form, in order for the CRM integration to work, the Account Type must always be set in the CRM and synced to Allbound.

Steps:

  1. In the CRM, the vendor CRM Admin adds a new Account Type (single select) picklist field to the Account/Company object.
    • Valid Account Types values are specified in Allbound Settings > Account Settings > Account Types. 
    • This field should be displayed on the forms for Create and Edit of an Account/Company so that vendor users can select the appropriate Account Type of each Account/Company. 
    • SFDC Example:
      • SFDC Account Type.png
    • HubSpot Example:
      • hubspotAccountType.png
  2. In Allbound, the Integration Specialist edits the CRM > Allbound Update Company connection to map the CRM Account Type field to Allbound Account Type field. 
    1. For mapping CRM Account Type to Allbound Account Type, add the following transformation:

      $distributor_value = 'Distributor'; // Set here the value which is on the CRM side for second partner/distributor
      $value = ($value == $distributor_value) ? 'partner_2' : 'partner';
    2. Note: The transformation above is using the example where the customer's second partner Account Type is 'Distributor'. If the customer's second partner Account Type is 'Agent' then you would update the transformation to use 'Agent' instead of 'Distributor' on the right side of the first line. The $distributor_value variable does not need to be changed since it's just the name of the variable.
    3. SFDC Example:help_center_SFDCSyncAccountType.png
    4. HubSpot Example: hubspotSyncAccountType.png
  3. The vendor updates all Second Partner account/company records in the CRM (that have Allbound Status set) to accurately set the Account Type.
  4. Test the integration. 

In the event that the vendor CRM Admin does not want to add the Account Type field and wants to map from an existing Partner Type field (e.g. Partner_Type__c), there there are two possible cases:

  1. If the Partner Type is already being synced (there exists a field mapping for Partner Type > Partner Type) then use the following transformation:
$distributor_value = 'Distributor'; // Set here the value which is on the CRM side for second partner/distributor
$value = $record->Partner_Type__c ?? '';
$value = ($value == $distributor_value) ? 'partner_2' : 'partner';

Note: For this use case, you can map using any field on the left (SFDC origin) side - for example, use the Description field just ensure that the second line in the transformation references the Parter Type api key.

2. If the Partner Type field is NOT already being synced to Allbound, then you can map the fields Partner_Type__c > ab_account_type and use the following transformation: 

$distributor_value = 'Distributor'; // Set here the value which is on the CRM side for second partner/distributor
$value = ($value == $distributor_value) ? 'partner_2' : 'partner';

 

Sync Partner-Second Partner Associations on Company Record

When Multi-Tier Distribution is configured to use Partner Contracts as association type then several steps are required to sync those Partner Contracts from the CRM to Allbound. 

Note:

  • It is not possible to manually add Associated Partners in Allbound. The Company Associated Partners table data is only populated via an integration sync from the CRM.

Steps:

  1. In the CRM, the vendor CRM Admin adds a new 'Second Partner' multi-select picklist field to the Account/Company object.
    • This may be called something like 'Distributors' or 'Associated Distributors' or 'Allbound Associated Distributors'.
    • The Second Partner (aka Distributor or Agent) multi-select field must contain a list of the Second Partners/Distributors/Agents. These names must exactly match the Account/Company Name in Allbound since Allbound performs a lookup on the Account/Company Name field. 
    • Note: It is important to remind Customers that during onboarding for new Distributors/Agents, in addition to creating an Account/Company record in the CRM they must also add the Distributor/Agent name to this picklist so that they will be available for selection on the Partner Account/Company record. 
    • If there will ever only be a 1:1 relationship between the Partner and Second Partner then a single-select picklist field can also be used.
    • SFDC Example: SFDCAssociatedDistributors.png
    • HubSpot Example:HubspotAssociatedAgents.png
  2. In Allbound, the Integration Specialist creates a new Source Account with the source = 'AllboundNextGen', if one is not already in use.
    • help_center_nextgenSourceAccount.png
    • Note: The AllboundNextGen source account uses the v5 api and is only used for syncing the following (so far):
      • Commissions object (between Allbound & CRM)
      • User object Last Login Date field (from Allbound to CRM)
      • Company object Multi-Tier Distribution Company associations (from CRM to Allbound)
  3. The Integration Specialist creates a new CRM > Allbound Update Company connection to map the multi-select associated Second Partner field to the Allbound Companies > Associated Partners table.
    1.  Connection Name - "SFDC -> AB: Update Company Sync MTD Partners in Allbound" or something similar that follows the standard naming convention
    2. Origin Account = CRM
    3. Target Account = the new AllboundNextGen source account created in step 2 above
      • SFDC Example:help_center_mtdConnectionPartnerSync.png
  4. Update the Mapping for the connection as follows:
    1. Origin Object = Account (or Company equivalent based on the CRM)
    2. Target Object = Company
    3. Filter is set based on the CRM and which CRM field is being synced to the Allbound:
      • If CRM = Salesforce and CRM Account Type is synced to Allbound Account Type then use the filter:
        Allbound_ID__c!=null AND Allbound_Account_Type__C = 'partner'
      • If CRM = Salesforce and CRM Partner Type is synced to Allbound Account Type then use the filter:
        Allbound_ID__c!=null AND Partner_Type_or_whatever_field__C IN('partner', 'any_valueΩ2')
      • If CRM = HubSpot and CRM Account Type is synced to Allbound Account Type then use the filter:
        allbound_id!=null AND allbound_account_type = 'partner'
      • If CRM = HubSpot and CRM Partner Type is synced to Allbound Account Type then use the filter:
        allbound_id!=null AND partner_type_or_whatever_field IN('partner', 'any_value2') 
  5. Patch Back Created ID = No (since this is an update action to the Company record)SFDC Example:
  6. Update the Field Mapping for the connection as follows:
    1. For Salesforce:
      1. Map Id > crm_id
      2. Map Allbound_ID__c > id
      3. Map <SFDC Account.2nd Partner field> > associations with the following transformation:
        $value = !empty($value) ? $this->lookupCompanyIdByName(explode(';', $value)) : [];

         

      4. help_center_mtdConnectionMappingFields.png
    2. For HubSpot:
      1. Map Id > crm_id
      2. Map allbound_id > id
      3. Map <HubSpot Account.2nd Partner field> > associations with the following transformation:
        $value = !empty($value) ? $this->lookupCompanyIdByName(explode(';', $value)) : [];
      4. Note: If in the Account > Company record you are mapping Partner Type or another Type field to Account Type (instead of Account Type > Account Type), then you have to to include a field mapping for that Type field and map it to Null.
  7. The vendor updates all Partner records in the CRM to accurately set their associated Second Partners.
  8. Test the integration. A successfully synced Partner Association log is shown below.
    •  

help_center_successfulPartnerAssociationSync.png

    • Note: The IDs shown within the associations field mapping are the mongo IDs of each company.

Sync Preferred 2nd Partner from CRM to Allbound

To sync the Preferred Second Partner from the CRM to Salesforce, do the following:

  1. In the "Sync MTD Association" Connection as described in the section above, add a new field mapping: Map <Preferred 2nd Partner> to <preferred association>.
  2. If the 2nd Partner associations are based on Name then add the transformation:
    $value = !empty($value) ? $this->lookupCompanyIdByName(explode(';', $value))[0] : '';
  3. If the 2nd Partner associations are based on CRM ID (because field is a lookup field) then add the transformation:
    $value = !empty($value) ? (array) $this->lookupAllboundMongoId($value, 'company') : [];

Sync Second Partner Field on Deals to Salesforce

To sync the Second Partner on Allbound Deals to Salesforce, do the following:

  1. Add an Account/Company Lookup field to the Deal/Lead/Opportunity object to capture the Second Partner on the deal. For example, in SFDC:
    1. Add a new 'Distributor' field to both the Lead and Opportunity objects
    2. Update the SFDC Lead/Opportunity Mapping to also map the Distributor field
  2. In Allbound, the Integration Specialist edits the Allbound > SFDC Deal connections to map the Allbound Second Partner field to the SFDC Second Partner field. 
    • Add the following transformation: 
      $value = $this->lookupCRMId($value, 'company');
      dealToSFDCLeadMappingMTD.png
  3. In Allbound, the Integration Specialist edits the SFDC > Allbound Deal Connections to map the CRM Second Partner field to the Allbound Second Partner field. This ensures that if the vendor changes the Second Partner in the CRM, that the Second Partner will also be updated in the deal in Allbound.
      • Add the following transformation:
    $value = $this->lookupAllboundId($value, 'company');
  4. Test the integration end-to-end.

 

Sync Second Partner Field on Deals to HubSpot

To sync the Second Partner on Allbound Deals to HubSpot, do the following:

  1. In Allbound, the Integration Specialist adds another deal association connection in the Integration manager.
  2. Find the attachment connection for deal registration in the connections. It should look like this:

  •  Click "New Mapping" as shown in the image below.

  • Origin Object = Deal
  • Target Object = Deal_association
  • Filter = crm_id!=null AND ab_second_partner!=null
  • Patchback = No
    • Click "Submit" 

Field mapping must reflect exactly as the image below.

  • Add the following transformation for ab_second_partner --> objectid: 
    $value = $this->lookupCRMId($value, 'company');
  • Click "Submit" when done. 

How it will look when a deal is synced to HubSpot with a contract-based second partner:

 

How to Map and Configure MTD lead distribution: How To Configure Multi-Tier Distribution (MTD) When Distributing Leads | Opps | Deals to The Allbound Pipeline

 

Step 7. Configure Deal Stage Permissions

In some cases, you may want a specific Deal Registration field hidden from Partners and only displayed to Second Partners. Or you may want to lock down a field so that it is only editable by a specific Account Type. For example, vendors may want to hide the Estimated Amount field from Partners and only display it to Distributors, since the amount is a discounted amount only for the Distributor. Or perhaps after the deal is approved, the vendor only wants the Partner to be able to edit the Comments field.  

To support this, the Deal Registration form may be have custom permissions applied on fields, per Deal Stage, by the Allbound Support Team. 

The abUser object has been updated to support custom JS for Partner users and Second Partner Users.

  • abUser.company_ab_account_type field contains one of the following values: {vendor, partner, partner_2}.

The partner_2 value refers to users of the Second Partner Account Type. For example, Distributor users have abUser.company_ab_account_type = partner_2

 

 

 

Was this article helpful?

0 out of 0 found this helpful

Have more questions? Submit a request