Skip to content
Tobias Almén edited this page Dec 5, 2024 · 19 revisions

Configuration

Support Companion supports a wide range of configurations through MDM Profiles.


Available Keys

Key Type Default Required Description
BrandName String Support Companion False Configures the brand name shown in the menu
AccentColor String User primary accent color False Configures the brand color shown in the app, specify in hex format
BrandLogo String None False Configures the brand logo shown in the apps side menu. Specify a base64 string
BrandLogoLight String None False Configures the brand logo shown in the apps side menu when light theme is used. Specify a base64 string
SupportPageUrl String None False Configures the URL to open when the user clicks on the Get Support button
ChangePasswordUrl String None False Configures the URL to open when the user clicks on the Change Password button
ChangePasswordMode String local False Configures the mode for the Change Password button, available modes are: local, SSOExtension, url
SupportEmail String None False Configures the email address shown when the user clicks on the Support Info button
SupportPhone String None False Configures the phone number shown when the user clicks on the Support Info button
HiddenCards Array None False Configures which widgets to hide, available widgets are: DeviceInformation, Evergreen, Battery, Actions, ApplicationInstallProgress, Storage, DeviceManagement, PendingAppUpdates
HiddenActions Array None False Configures which actions to hide, available actions are: ChangePassword, Reboot, OpenManagementApp, GetSupport, GatherLogs, SoftwareUpdates, RestartIntuneAgent
NotificationInterval Integer 4 False Configures the interval for notifications in hours for Application Updates and Software Updates notifications. Setting to 0 disables notifications
NotificationTitle String Support Companion False Configures the title for notifications
NotificationImage String None False Configures an image to add to notifications. Path should be specified
SoftwareUpdateNotificationMessage String Software Updates Available. Please update your device to the latest version. False Configures the message for notifications for Software Updates notifications
SoftwareUpdateNotificationButtonText String Update Now 🚀 False Configures the button text for notifications for Software Updates notifications
AppUpdateNotificationMessage String App Updates Available. Please update your apps to the latest version. False Configures the message for notifications for App Updates notifications
AppUpdateNotificationButtonText String Update Now 🚀 False Configures the button text for notifications for App Updates notifications
Mode Bool Dynamic False Configures the app to show application info for either Munki, Intune or to use System profiler for app info. The app tries to dynamically detect which mode to use. See table below.
LogFolders Array /Library/Logs/Microsoft False Configures the log folders to gather logs from. Only used when gathering logs.
Actions Array None False Configures custom actions to add to the tray menu and in Self Service view. If Description is configured it will show in the Self Service view and if IsPrivileged is set to true the action will be run by the privileged helper. See example below.
ShowDesktopInfo Bool False False Configures whether to show information on the desktop.
DesktopPosition String LowerRight False Configures the position of the desktop info, available positions are: UpperLeft, UpperRight, BottomLeft, BottomRight
DesktopInfoLevel Integer 4 False Configures the level of information to show on the desktop, available levels are: 1, 2, 3, 4, 5
DesktopInfoHideItems Array None False Use this array to determine which information to hide. Available items are: HostName, Model, SerialNumber, Processor, IPAddress, Memory, OSBuild, OSVersion, LastRestart, FileVault, StorageName, SupportPhone, SupportEmail
DesktopInfoBackgroundOpacity Real 0.001 False Configures the background opacity for the desktop info. Configure a value between 1.0 - 0.1
DesktopInfoFontSize Integer 14 False Configures the font size for the desktop info.
CustomCardPath String None False Configures a path to a JSON file containing custom widgets to show on the Home view. An example script can be found here
KnowledgeBaseUrl String None False If configured, a menu item "Knowledge base" will show up where the user can browse the page from the UI.
MenuShowIdentity Bool True False Configures whether to show the Identity menu item.
MenuShowApps Bool True False Configures whether to show the Apps menu item.
MenuShowSelfService Bool True False Configures whether to show the Self Service menu item.
MenuShowCompanyPortal Bool True False Configures whether to show the Company Portal menu item.
MenuShowKnowledgeBase Bool True False Configures whether to show the Knowledge Base menu item.

Desktop info configuration

Customize the information displayed on the desktop:

  • DesktopInfoLevel: Controls the amount of detail (1-5).
    • 1: Hardware Specifications
    • 2: Hardware Specifications, Network Information
    • 3: Hardware Specifications, Network Information, System Information
    • 4: Hardware Specifications, Network Information, System Information, Storage
    • 5: Hardware Specifications, Network Information, System Information, Storage, Support
  • DesktopInfoHideItems: Specifies which items to hide (e.g., IPAddress).
  • DesktopInfoFontSize: Adjusts the font size.

A note on icons

When configuring icons for custom widgets or actions, the icon name should be a SF Symbols name. For example questionmark.


Example Configuration

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>PayloadContent</key>
	<array>
		<dict>
			<key>PayloadDisplayName</key>
			<string>FirstApp</string>
			<key>PayloadIdentifier</key>
			<string>SC.9C1EF466-BFEC-462F-930E-38BB9965B21F</string>
			<key>PayloadType</key>
			<string>com.github.macadmins.SupportCompanion</string>
			<key>PayloadUUID</key>
			<string>9C1EF466-BFEC-462F-930E-38BB9965B21F</string>
			<key>PayloadVersion</key>
			<integer>1</integer>
            <key>BrandName</key>
            <string>AwesomeCorp</string>
            <key>HiddenCards</key>
            <array>
               <string>Evergreen</string>
            <array/>
            <key>Actions</key>
            <array>
                <dict>
                    <key>Command</key>
                    <string>killall pboard</string>
                    <key>Icon</key>
                    <string>document.on.document.fill</string>
                    <key>Name</key>
                    <string>Restart clipboard</string>
                    <key>Description</key>
                    <string>Restarts pasteborad, useful if copy&amp;Paste is not working.</string>
                </dict>
                <dict>
                    <key>Command</key>
                    <string>defaults write com.apple.finder AppleShowAllFiles YES &amp;&amp; pkill Finder</string>
                    <key>Icon</key>
                    <string>eye.fill</string>
                    <key>Name</key>
                    <string>Show hidden files</string>
                    <key>Description</key>
                    <string>Shows hidden files in Finder. Will restart Finder once initiated.</string>
                </dict>
                <dict>
                    <key>Command</key>
                    <string>networksetup -setairportpower en0 off &amp;&amp; sleep 3 &amp;&amp; networksetup -setairportpower en0 on</string>
                    <key>Icon</key>
                    <string>wifi</string>
                    <key>Name</key>
                    <string>Restart WiFi</string>
                    <key>Description</key>
                    <string>Restarts the WiFi interface to resolve connectivity issues, such as slow speeds, dropped connections, or inability to connect to networks. This action can help refresh the network adapter and clear temporary issues without needing to restart the entire system.</string>
                </dict>
                <dict>
                    <key>Command</key>
                    <string>killall IntuneMdmAgent</string>
                    <key>Name</key>
                    <string>Restart Intune Agent</string>
                    <key>Icon</key>
                    <string>app</string>
                    <key>IsPrivileged</key>
                    <true/>
                    <key>Description</key>
                    <string>Restarts Intune MDM Agent. Useful if troubleshooting scripts or app installs from Intune.</string>
                </dict>
            </array>
            <key>LogFolders</key>
            <array>
                <string>/Library/Logs</string>
            </array>
            <key>DesktopInfoBackgroundOpacity</key>
            <real>0.3</real>
            <key>SupportPhone</key>
            <string>111-222-333</string>
            <key>SupportEmail</key>
            <string>[email protected]</string>
            <key>DesktopInfoLevel</key>
            <integer>5</integer>
            <key>KnowledgeBaseUrl</key>
            <string>https://github.com/macadmins/supportcompanion</string>
            <key>DesktopInfoHideItems</key>
            <array>
                <string>SupportPhone</string>
            </array>
		</dict>
	</array>
	<key>PayloadDisplayName</key>
	<string>SupportCompanion</string>
	<key>PayloadIdentifier</key>
	<string>5.A2283B66-D43C-48FF-BD1D-CE0EBB4CCA22</string>
	<key>PayloadType</key>
	<string>Configuration</string>
	<key>PayloadUUID</key>
	<string>A2283B66-D43C-48FF-BD1D-CE0EBB4CCA22</string>
	<key>PayloadVersion</key>
	<integer>1</integer>
</dict>
</plist>

Clone this wiki locally