Product Documentation

Create a blueprint

Important: This topic describes deprecated functions and will be removed from the documentation. For more information about deprecated functions in Smart Tools, see What’s New in Citrix Smart Tools.


The Blueprint Designer provides a canvas for designing your own blueprint. Use built-in steps, scripts, and existing blueprints as building blocks that you can drag and drop to perform a specific action or a series of actions, such as launching servers, mounting a volume, registering a load balancer, installing an application, configuring a web cluster, and so on.

Step 1: Create a new blueprint and enter overview details

  1. Click Smart Build from the menu bar.
  2. On the Library page, click New Blueprint. A new blueprint appears displaying the Overview section.
  3. Enter a name for the blueprint.
  4. (Optional) Enter a description and tags. A short description can help you and your team members to easily identify the purpose of a blueprint. Tags help you to filter or search your blueprint among the available blueprints and scripts. To insert a tag, enter a tag and press ENTER.
  5. (Optional) Select the resource location types on which users can deploy your blueprint. By default, no resource location types are selected and your blueprint can be deployed on any of the virtualization or cloud computing platforms Smart Tools supports. If you want to restrict your blueprint to specific platforms, select the applicable resource location types.
  6. (Optional) Enter any prerequirements for the blueprint.

Step 2: Define deployment steps and blueprints

  1. Click the Deploy tab. Drag and drop predefined steps, scripts, and other blueprints from the library to define a blueprint deployment process.
  2. Set up the following global blueprint parameters:

    • Runs On: Click Select Servers to select the servers or server groups on which you want to run your blueprint.
    • Blueprint Inputs: Enter blueprint inputs. Blueprint Inputs are global parameters that can be called from within any script in a blueprint. For example, you can define a user password as a blueprint input. You can then call this input value from within a step (such as a configuration step for a web server, database, and so on.).
    • Options: Select an action from the On failure box for the system to perform in the event of a blueprint failure. By default, the Exit action is set. The options are: Exit, Continue, Pause, and** Retry. If you select **Retry, you can select the number of retries from the Number of retry box.
  3. Drag and drop steps and blueprints from your library (at left) into the Blueprint Designer to build your blueprint. You can include blueprints, scripts or steps within blueprints. You cannot include blueprints, scripts or steps within a script or step.
  4. (Optional) Click Referenced to link the script or blueprint to this blueprint. For more information on blueprint references, see Create references to scripts and blueprints.

Step 3: Configure steps and blueprints

This may involve configuring instance details for launch on cloud provider accounts or selecting target machines on which to perform actions, such as installing applications, mounting volumes, registering load balancers, and so on. Depending on your automation process, you might need to configure some steps or blueprints when you build your blueprint. Some configurations might be required during deployment of the blueprint.

You can use outputs from one step as inputs for another step. This enables the flow of data within a blueprint process, and makes it possible to pre-configure complex automated blueprints containing multiple interrelated steps. For example, you can chain output values from a server launch step (i.e. server attribute values) to a configuration step requiring a server attribute value as an input. See Chain blueprint step outputs and inputs for more information.

(Optional) Step 4: Add parameters

Define input parameters for each step, as required. You can also define global process Inputs. These are global parameters that can be called from within any script in a blueprint. Using process inputs makes it easy to pre-configure multi-step blueprints, enabling single-click deployment of ready-to-use systems, such as web clusters that may involve launching and configuring multiple servers and applications.

The following configuration fields are available for input parameters:

  • Type: Specifies input parameter types. The following input parameters types are supported:
    • String: Sequence of characters in the form of a literal constant or variable. Example: abcd123
    • Integer: Any number represented without a fractional component. Example: 24 or -372
    • Password: Sequence of characters that authenticate users to access protected resources. Example: acmecorps9$. Allows an input value or a string reference.
    • Enumerate: An ordered list of items within a collection set. Example: Day {Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday}. Validates a list of different data types. For example, the Enumerate parameter can validate strings, integers, float, and mixed as input values and allow the first value in the list as a default value.
    • IP: Numerical label assigned to each device operating in a network. Example:
    • URL: Reference to a resource on a computer network or the Internet. Example:
    • Boolean: Data type with only two possible values, true or false. In Smart Tools, you can set the Boolean parameter value as False (Unchecked) or True (Checked). Default value for the Boolean value is False (Unchecked).
    • File upload: Any file with a maximum size of 4 Megabytes can be uploaded and referred in a script within a blueprint. You can upload the file during blueprint deployment. For example, license files, config files, XML files, and so on.
  • Key: Specifies an input parameter key.
  • Value: Value specified for the parameter key. Values defined for parameters are saved and passed during runtime.
  • Placeholder: Short hint that is displayed in the input or selection field. This text is hidden when a value is entered or selected. You can use placeholder text to display a sample of the input in the expected format. Example: For a URL field, you can use “”
  • Tooltip: A short description about the input parameter, its functionality, and usage.
  • Required: If selected, the parameter is mandatory during blueprint deployment.
  • Editable: If selected, the parameter is editable during blueprint deployment.
  • Visible: If selected, the parameter is visible during blueprint deployment.
  • Global: If selected, you can refer the parameter from within any script in a blueprint.
  • Impact to architecture override: If selected, the parameter is used to evaluate a conditional step and does not affect the architecture of the deployment. The parameter is displayed in the configuration step of the blueprint deployment. By default, Smart Tools considers parameters used to evaluate conditional steps as those that affect architecture. These are displayed earlier in the deployment process as architecture options.

You can use a regular expression to specify the input parameter format and validate the values based on the regular expression. To use a regular expression, click the Settings icon Settings gear icon on the Value box. Select Validate format with regular expressions and define your regular expression format. You can also customize the error message that appears if there is an invalid value input.

Step 5: Review and Save

  1. Review all the steps, blueprints, rules, and configurations by clicking the respective tabs.
  2. Click Save.

Citrix Smart Tools saves the created blueprint and lists it in the Library page. You can deploy the blueprint or reuse it as a sub-process in another blueprint. You can also view, edit, clone, share, or delete a blueprint from the library.