# custom_plan_items.exe: Custom Plan Options

The `custom_plan_items.exe` utility is used for adding custom plan options through CLI.

You can read about these options in the Administrator’s Guide.

## Location

`%plesk_cli%`

## Usage

    custom_plan_items.exe <command> [<option name>] [
    <option 1> <param> [<option 2> <param>] ... [<option N> <param>]
    ]

## Example

To create a plan option that, when included into a plan as an additional service, will add a link to company.example.com to the subscribers’ Control Panels:

    plesk bin custom_plan_items.exe --add "Our website" -uuid "5a2d0766-3154-49ed-93a0-05a84ae601bd" -visible true -label "Visit our website" -url "http://company.example.com" -tooltip "Visit our website."

## Commands

Command | Parameter | Description | Example
--- | --- | --- | ---
`--add` or `-a` | `<option_name>` | Adds a hosting plan item for an additional service. When adding a plan item through the command line, you must specify a globally unique identifier (GUID). You can generate a GUID by using, for example, http://www.guidgenerator.com. | You are running an online support service at http://premium-support.example.com, and want to include the support option into service plans. The following command will create a custom plan option named Premium support which will add a hyperlink to your online service into Control Panel of each user whose plan includes that option:
    plesk bin custom_plan_items.exe --add "Premium support" -uuid "5a2d0766-3154-49ed-93a0-05a84ae601bd" -visible true -label "Premium support" -url "http://premium-support.example.com" -tooltip "Contact our support service for assistance" -image-file "c:\tmp\my-company-logo.png"
Now, to include this Premium support option into the hosting plan named Example Plan:
    plesk bin service_plan.exe --add-custom-plan-item "Example Plan" -custom-plan-item-name "Premium support"
`--update` or `-u` | `<option_ name>` | Changes settings of an existing plan option. | To modify the Premium support option so as to change the link to the service to another-company.example.com:
    plesk bin custom_plan_items.exe --update "Premium support" -url "another-company.example.com"
`--remove` or `-r` | `<option_name>` | Removes a plan option. | To remove the plan option Premium support:
    plesk bin custom_plan_items.exe --remove "Premium support"
`--list` or `-l` |  | Displays information about already configured custom plan options. | To view information about all custom plan options:
    plesk bin custom_plan_items.exe --list
`--help` or `-h` |  | Displays help on the use of the utility. | To output the help info on the use of this utility:
    plesk bin custom_plan_items.exe --help

## Options

Option | Parameter | Description | Example
--- | --- | --- | ---
`-uuid` | `<uuid>` | Specifies a unique identifier. This is required when adding a custom plan item. | You are running an online support service at http://premium-support.example.com, and want to include the support option into service plans. The following command will create a custom plan option named Premium support which will add a hyperlink to your online service into Control Panel of each user whose plan includes that option; the image my-company-logo.png will be used for the button background; the link will open in a frame on the Plesk page, and the subscription ID will be passed along with the URL.
    plesk bin custom_plan_items.exe --add "Premium support" -uuid "5a2d0766-3154-49ed-93a0-05a84ae601bd" -visible true -internal true -noframe false -label "Premium support" -url "http://premium-support.example.com" -tooltip "Contact our support service for assistance" -image-file "c:\tmp\my-company-logo.png" -url-components dom_id
`-visible` | `true|false` | Specifies whether the link is shown in Plesk. |
`-url` | `<URL for access to the service>` | Specifies the URL for the hyperlink. |
`-label` | `<button label>` | Specifies the button label. |
`-tooltip` | `<tooltip text>` | Specifies a description of a service. It will be placed under the button. |
`-image-file` | `<path to image file>` | Specifies the path to the image file that should be used as a background for the button shown in Control Panel. If you do not upload an image file, a default image of a blue button without a label will be used. |
`-internal` | `true|false` | Specifies whether the external web resource will open in a new browser window or tab. |
`-noframe` | `true|false` | If a custom button leads to a Plesk extension or web app, this option specifies how the extension/app should be displayed on the Plesk page: in a frame (false) or as a part of the Plesk GUI (true). |
`-url-components` | `<dom_id,dom_name,ftp_user,ftp_pass,cl_id,cname,pname,email>` | Specifies whether the following information should be included in the URL when users click the link in Control Panel: Subscription ID. Primary domain name associated with a subscription. FTP account username and password. Customer’s account ID, name, e-mail, and company name. |