Skip to main content
Developer Network

Deploy 3rd Party

Third-party Product Deployment and Installation

Use Case

In order for partners to manage and monitor any third-party product, the very first step is to deploy and install a specific third-party product on the devices. Only after deployment and installation can a partner manage and monitor the third-party product. For partners, the RMM solution forms as a base platform for their device monitoring, management, and automation needs including third-party integrations. Our third-party product deployment and installation workflow allows vendors to configure and set up everything necessary so that partners can deploy and install their products on the devices they select.

Workflow for Vendors to Set Up Deployment and Installation Features

Vendors have to configure and set up their integration using the Connection and Callbacks section of the Vendor Development portal. Please refer to Connection and Callbacks for details on how to configure.

In addition to configuring Connection and Callbacks, vendors have to specify agent installation configuration in a dedicated section of the Vendor development portal. Follow the below-mentioned steps to specify Installation instructions:

  1. Log in to the Sandbox:
    1.png
  2. Switch to the Development portal:
    2.png
  3. Navigate to the Agent Installation section:
    3.png

Following is the sample of the Agent Installation instructions/configuration that can be specified in the Agent installation section of the Vendor development portal.

{
   "agentName":"Installation of software", //Mandatory field, indicates the name of the agent that will be installed on the device ex. Notepad++, 7Zip
   "enabled":true, //Mandatory field, enabled has to be true, in case if defined as false the agent deployment instructions will be turned of    f
   "version":"1.0", //Mandatory field, indicates the version of the agent installation instructions (this does not relate to the version of the agent that will be installed on the device)
   "installationInstructions":[
      {
         "osFamily":"windows", //Mandatory field, can be windows, linux or darwin
         "osArch":[ //Mandatiry field, array of strings can be 32 or 64 or both. for darwin it has to be 64
         "32",
         "64"
         ], 
         "agentType":[ //Mandatory field, can be either server or desktop or both
            "server",
            "desktop"
         ],
         "installerURL":"https://github.com/notepad-plus-plus/notepad-plus-plus/releases/download/v8.1.4/npp.8.1.4.Installer.exe", //Mandatory field, url from where installed can be downloaded, has to be https
         "installerChecksum":"{SHA256}eadefd67e95bef200b2506caf8b3c82e0ea6c3cf895936614ba442989a08db4e", //Mandatory field, should be checksum presented in SHA256, MD5 or SHA1 format
         "retrievalOfInstallationKeyIsRequired":true, //Mandatory field, can be true or false, true if for instllation some key is needed (like token or code). Such key will be fetched via callbacks
         "agentPresenceValidation":{ //Mandatory, needed for verifying if agent is installed
         "type":"registry", //Mandatory field, type can be either registry(only Windows OS) or installedSoftware(Linux, Windows, Darwin OS) or script(Linux, Windows, Darwin OS). For example if provided 
         registry and registryDetails you don't need to put in payload installedSoftwareDetails or scriptDetails. registry == registryDetails, installedSoftware == installedSoftwareDetails, script == scriptDetails
         "registryDetails":{
               "path":"\\HKEY_LOCAL_MACHINE\\SOFTWARE\\Acronis", //Mandatory field, cannot be null or empty string
               "versionKey":"4.5.7937" //Mandatory field, cannot be null or empty string
            }
         },
         "installScript":{
            "content":"echo some-text", //Mandatory field
            "engine":"cmd" //Mandatory field, can be bash or cmd. cmd for Windows and bash for linux, darwin
         },
         "uninstallScript":{
            "content":"echo", //Mandatory field
            "engine":"cmd" //Mandatory field, can be bash or cmd. cmd for Windows and bash for linux, darwin
         }
      },
      {
         "osFamily":"linux",
         "osArch":["32"],
         "agentType":[
            "desktop"
         ],
         "installerURL":"https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh",
         "installerChecksum":"{SHA256}f068e17dacb88f73302790cc076956c7a0d459ce9b01df842ff3e75744f9e2fe",
         "retrievalOfInstallationKeyIsRequired":true,
         "agentPresenceValidation":{
            "type":"installedSoftware",
            "installedSoftwareDetails":{
               "name": "NVM"
            }
         },
         "installScript":{
            "content":"install.sh",
            "engine":"bash"
         },
         "uninstallScript":{
            "content":"rm -rf ~/.nvm",
            "engine":"bash"
         }
      },
      {
         "osFamily":"darwin",
         "osArch":["64"],
         "agentType":[
            "desktop"
         ],
         "installerURL":"https://nodejs.org/dist/latest/node-v16.10.0.pkg",
         "installerChecksum":"{SHA256}6fa8b76a7c0e3e5c4b0ccb48ddbf0d37fb625ba74dec7c21df40ca80fea164d5",
         "retrievalOfInstallationKeyIsRequired":true,
         "agentPresenceValidation":{
            "type":"script",
            "scriptDetails":{
               "content":"echo some-text",
               "engine":"bash"
            }
         },
         "installScript":{
            "content":"installer -store -pkg node-v16.10.0.pkg -target /",
            "engine":"bash"
         },
         "uninstallScript":{
            "content":"rm -rf /usr/local/{lib/node{,/.npm,_modules},bin,share/man}/{npm*,node*,man1/node*}",
            "engine":"bash"
         }
      }
   ]
}
Workflow for Partners to Deploy and Install Vendor Products on Devices

The partner workflow consists of three steps.

workflow.png

  • Bi-directional communication - Communication between Connectwise platform and third-party product platform
  • Mapping of sites/companies/locations - To establish a relationship between Connectwise sites and third-party product sites/companies/locations
  • Configuring policies and packages for deployment and installation - Specifying where to deploy and install a third-party product

Follow the below-mentioned steps to set up these three things:

  1. Log in to the ITSupport Portal and navigate to the Integrations page from the left menu (Settings → Integrations)
    1.png
  2. Clicking on Integrations will show a grid with a list of all the available Integrations, click on the Integration that you wish to configure. It will open up the configuration screen. You will see three sections in the configuration - ITSupport247 Credentials, Connection Settings, and Site Mapping and Configuration (In the screenshot below we have used a dummy third party product called Automation Protect and hence you see the two sections as Automation Protect Connection settings and Automation Protect Site Mapping and Configuration)
    2.png2b.png
    • First Section (ITSupport247 API Credentials) is for partners to generate the API credentials and share them with Vendors (Partners can share this via any process that Vendors have defined)
    • Second Section (Automation Protect Connection Settings) is for partners to provide the credentials needed to access the Third-party product APIs/Services for the callbacks (as described Connections and Callbacks)
    • The third section (Automation Protect Site Mapping and Configuration) is for partners to perform Site mapping. A list of vendor sites is obtained via the specific callback as would be defined by vendors for their product. Partners can then map an ITSupport247 site to the third-party product site. We only allow 1:1 mapping. Partners can also create a new site for the third-party product directly from the mapping section if needed. (this would be helpful when partners have created a new site in ITSupport247 portal and the corresponding site in the third-party product does not exist)
  3. Once these settings are saved, partners can then define the deployment and installation configuration from the policies section. Navigate to the policies from the left menu (Settings → Policies). Click on Add button to add a new policy for the third-party product. Select the category as "Devices" and type as  "Automation Protect" (Type will be the name of the respective third-party product). Give an appropriate name to the policy and define the settings. There are two setting options - Automation Protect for Servers and Automation Protect for Desktops. Select the required setting and Save the policy. 
    3.png3b.png
  4. Once the policy is saved, add this policy to the existing package or create a new package. Packages can be accessed from the packages menu in the left navigation (Settings → Packages). Once you have selected the appropriate package (either from an existing list or by creating a new one), click on the package. Drag and drop the policy that you created in the package builder and save the package. Save the package. 
    4.png4b.png

  5. Once saved, go to the assign sites section. Select the sites and click on the Assign package button. Select the package that you created earlier for the assignment. Once assigned, a third-party product will be deployed and installed to all the devices in the sites where the package is assigned.

    5.png5b.png

  6. If partners do not need to deploy and install the third-party product on specific machines in a site that already has an assigned package, go to the devices page from the left navigation (Portal → Devices → Computers). Select the appropriate device and click on it. Enable or Disable the policy settings. Whatever is defined here will get overridden by what was defined in the policy.


    6.png

  7. Based on the policy settings (including whether overridden or not), the platform agent will perform deployment and installation of the third-party product on the relevant devices. The installation will be performed using the installation instructions/script as defined by the vendors in the Vendor development portal (as described above in this doc).

    Refer to this doc for details on Policies and Packages - https://doccenter.itsupport247.net/#Command_Policies_and_Packages.htm?