Approvals are now supported for Partner Managed Quotes and Contracts using Salesforce Communities. Your channel partners can not only create quotes and contracts, but can also access all the approval functions that are available to your internal employees. For a community page setup, enable the following functions as community user:

  • Preview Overall from Cart

  • Return to Cart from Cart Preview Page

  • Preview Overall from Quote Header

  • Line Item Preview from Cart

  • Submit for Approval from Cart Preview

  • Return to Quote from Cart Submit for Approval confirmation page

  • Submit for Approval from Quote Preview Page

  • Return to Quote from Submit for Approval from Quote Header Preview page

  • Approvals History page from Quote Header for Submitted Quote

  • My Approvals Page (When no approvals needed)

  • My Approvals Page (When approvals needed)

  • Approve from My Approvals Page

  • Reject from My Approvals Page

  • Take Queue Ownership from My Approvals Page

  • Cancel Submitted Approval as community user

Do the following to provide access for a community user:

  1. Assign all the Approval packages to the Community User.
  2. Create a permission set for the community users.
  3. Assign Apex Pages/Classes access to the permission set for community users.
  4. Manage User Assignments for the Community User.
  5. Provide fields and object level permissions.
  6. For Objects, set the Field Level accessibility by profile - Hidden/Visible/Editable
  7. Navigate to Object > Page layouts > Page Layout assignment. Associate profiles to the layout.
  8. Go to Permission set > Object Setting, provide Create, Read,  Edit, and Delete permissions for the community user.
  9. Navigate to Permission Set > Object Settings > Proposals > Provide permission to the Configure Products (Approvals) link or button .

    If any error is appears pertaining the Read permissions of account locations, navigate to Object Settings > Account Locations > and provide all 4 Create, Read, Edit, and Delete permissions.

  10. Go to Setup > All Communities > Administration > Settings and make the tabs visible to your community user.

Errors you may face during approvals community setup:

  • After clicking the Configure Products (Approvals) button, Error: SObject row was retrieved via SOQL without querying the requested field: Apttus_Proposal_Proposalc.Apttus_QPConfigLocationId_c.
    Resolution: > You might have missed point 9.
  • After clicking the Configure Products (Approvals) button, Error: Assigned to: Assigned To ID: Owner
    Resolution: > Go To Custom Settings -> Go To Config System Properties > Assign Admin User
  • When you click Submit For Approvals, error: Backup Admin Not Assigned error appears, navigate to Setup-> Custom Settings -> Approvals Custom Config > Click ProductConfiguration__c > Backup Admin User and provide a Backup Admin user name.

To configure buttons and fields for approvals in communities

Ensure that you have set the requisite permissions for community users for apex classes, objects, and VF pages.

  1. Navigate to the Approval object and create a custom field for approval actions with datatype as formula.  The formula field for the custom field remains the same as that of the Approval Action field except for the hyperlink.
  2. Add the site prefix specific to the community setting, to the hyperlink. For example, "/developer/Apttus_Approval__ApprovalRequestEscalate?id="&Id,"Escalate","_top", where developer is the site prefix for the community org.
  3.  Ensure that you add the custom fields to the appropriate page layout of the pages the community user has access to.

After you add the button to the community page layout, the button is visible to the community user having access to the page.

For each community page which has a specific hyperlink, configure separate custom buttons and fields for the community and associate the site prefix in the hyperlink of the particular custom button or field.