Add profile app visibility assignment to Salesforce MCP tools

Resolved 💬 2 comments Opened Nov 23, 2025 by CharlesCage Closed Nov 23, 2025

Feature Request

Add ability to assign custom app visibility to Salesforce profiles programmatically.

Problem

When creating a custom Salesforce application, the app must be assigned to user profiles for visibility. Currently, there's no MCP tool to do this, requiring manual UI steps:

  1. Setup → Profiles → [Profile Name] → Edit
  2. Scroll to "Custom App Settings"
  3. Check "Visible" for the app
  4. Save

This breaks the automation flow and requires user intervention every time an app is created.

Current Workaround

# Create app successfully
create_app(appName="Pet_Adoption", label="Pet Adoption", tabs=[...])

# ❌ Can't assign to profile - must tell user:
# "Go to Setup → Profiles → System Administrator → Edit → 
#  Custom App Settings → Check 'Pet Adoption' Visible → Save"

Proposed Solution

Add new MCP tool or extend existing profile tools:

Option 1: New dedicated tool

mcp__salesforce-metadata__assign_app_to_profile(
    appName="Pet_Adoption",
    profileName="System Administrator",
    visible=True,
    default=False  # Optional: make it the default app
)

Option 2: Extend update_metadata for Profile

mcp__salesforce-metadata__update_metadata(
    metadataType="Profile",
    fullName="Admin",
    updates={
        "applicationVisibilities": [
            {
                "application": "Pet_Adoption",
                "visible": True,
                "default": False
            }
        ]
    }
)

Option 3: Extend create_app to include profile assignments

mcp__salesforce-metadata__create_app(
    appName="Pet_Adoption",
    label="Pet Adoption",
    tabs=[...],
    assignToProfiles=["System Administrator", "Standard User"]  # ← New param
)

Technical Details

Metadata API approach:

  • Profile metadata contains applicationVisibilities array
  • Each entry has: application, visible, default fields
  • Need to read existing profile, modify applicationVisibilities, deploy

Example Profile metadata structure:

<Profile>
    <applicationVisibilities>
        <application>Pet_Adoption</application>
        <visible>true</visible>
        <default>false</default>
    </applicationVisibilities>
</Profile>

User Impact

High - Affects every custom app creation workflow:

  • Breaks automation flow
  • Requires manual UI intervention
  • Confusing for users (app created but invisible)
  • Time-consuming troubleshooting

Related Issues

  • #12213 - Lightning Experience formFactors best practice
  • Impacts all users creating custom Salesforce apps via MCP

Acceptance Criteria

  • [ ] Can assign app visibility to specific profiles programmatically
  • [ ] Can set default app for profile
  • [ ] Works for multiple profiles at once
  • [ ] Doesn't overwrite other profile settings
  • [ ] Returns clear success/error messages

References

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗