The root cause here involves three interconnected issues with partner portal user permissions, approval flow assignment mechanics, and deal registration automation timing.
Partner Portal User Permissions Fix:
Your partner users need a custom permission set beyond standard Partner Community access. Create ‘Partner_Approver_Extended’ with these critical permissions:
- API Enabled (required for approval processing)
- Approve Contract Requests (enables approval UI even for custom objects)
- View All Data on Deal_Registration__c object
- Modify All on Deal_Registration__c (required for approval state changes)
Add this to your partner user profiles. The standard Partner Community license doesn’t include approval infrastructure by default.
Approval Flow Assignment Correction:
Your current Flow assignment has a critical flaw - it doesn’t establish proper record sharing before approval submission. Modify your Flow:
// Before Submit for Approval action, add:
Create_Share_Record [Create Records]
Object: Deal_Registration__Share
Fields:
ParentId: {Deal.Id}
UserOrGroupId: {Get_Partner_Manager.Id}
AccessLevel: Edit
RowCause: Manual
This explicitly grants the partner approver edit access before the approval request. External users require explicit sharing - role hierarchy doesn’t apply to them.
Deal Registration Automation Enhancement:
Implement a two-phase approval strategy:
Phase 1: Pre-approval validation (synchronous)
- Verify partner user has active Community license
- Confirm permission set assignments
- Validate sharing rules are established
Phase 2: Approval submission (asynchronous via @future)
- Prevents governor limit issues with external user operations
- Allows proper notification delivery
- Add custom notification as backup:
Send_Custom_Notification [Send Email]
To: {Get_Partner_Manager.Email}
Template: Partner_Approval_Required
Related To: {Deal.Id}
Additional Configuration:
- In Approval Process settings, verify ‘Allow submitters to approve’ is checked if partners might submit their own deals
- Set approval email template to use ‘Send Using’ = ‘Current User’s Email’ to avoid org-wide address restrictions
- Add a scheduled Flow (daily) to catch any stuck approvals and reassign to an internal queue after 48 hours
- Enable ‘Approval History Related List’ on partner portal page layouts so users can track status
Testing Protocol:
Before deploying, test with a partner sandbox user:
- Submit test deal as internal user
- Verify partner receives email notification within 5 minutes
- Confirm partner can see approval request in their Community portal
- Validate approval/rejection updates deal status correctly
This comprehensive approach addresses all three focus areas - permissions, assignment logic, and automation reliability. Your Q3 channel pipeline should unblock within 24 hours of implementing these changes. Monitor the first week closely and adjust notification timing based on partner feedback.
This draft is based on general Salesforce knowledge. It has not been verified against your specific version and environment. Practitioners: verify the steps and share your experience below.