Skip to content

How to create custom packages in PDQ

Brock
Brock Bingham|Updated August 27, 2026
Illustration that shows logo of PDQ Connect
Illustration that shows logo of PDQ Connect

TL;DR: PDQ custom packages give sysadmins a reusable way to bundle installers, scripts, file transfers, reboots, and nested packages into controlled endpoint workflows. By configuring steps, parameters, success codes, and run behavior, teams can standardize software rollouts and maintenance, test deployments on a target device, and automate repeatable tasks across remote endpoints.

PDQ custom packages let sysadmins combine installers, scripts, file transfers, reboots, and nested packages into reusable endpoint workflows. You can use custom packages to deploy applications, automate recurring tasks, and standardize software deployment across remote devices.

Sound too good to be true? Read on to discover how custom packages in PDQ can take your IT game to the next level.

ConnectIcon CTA

Manage Windows & macOS devices from anywhere

With PDQ Connect, get real-time visibility into remote and local devices, deploy software, remediate vulnerabilities, automate routine maintenance, and remotely troubleshoot endpoints from one easy-to-use platform.

What does PDQ do?

PDQ is an endpoint management platform that helps IT teams manage Windows and macOS devices through software deployment, patching, inventory, vulnerability management, scripting, and automation. Teams can use prebuilt packages from the PDQ Package Library or create custom packages for applications and workflows that require their own deployment steps.

Key capabilities include:

  • Prebuilt and custom software packages

  • Automated patching and software deployment

  • Asset inventory and advanced filtering

  • Scripting and recurring endpoint automations

  • Vulnerability detection and remediation

  • Remote desktop for endpoint troubleshooting

  • AI Package Assistant for creating and reviewing Windows custom packages

AI Package Assistant

If you want a head start, PDQ’s AI Package Assistant can help you create, edit, and review Windows custom packages using plain-language prompts. Describe what you want the package to do, and the AI Package Assistant can recommend steps, scripts, parameters, and other settings for you to review and approve before applying them to your package.

Custom package and step properties in PDQ

To create a custom package in PDQ, go to Packages > Create package. This opens the package properties page, where you can define the package name, version, description, deployment timeout, and conditions a device must meet for the package to run.

PDQ custom package properties with name, version, description, timeout, and conditions fields.

The install step

This is where the real magic happens. The install step is where you’ll attach your install files, set parameters, configure run modes, and more. If you’ve struggled to deploy packages to your remote endpoints, the install step will become your new best friend.

PDQ install step with installer, attachments, parameters, success codes, run as, error mode, and conditions settings.

You’ll find the following fields and settings on the install step page:

  • Step name: While not necessary, naming your steps helps others identify what each package step does.

  • Installer: Upload the installer file for the package step. PDQ supports MSI, MSU, MSP, and EXE files for Windows and PKG and DMG files for macOS.

  • Attachments: Attachments is where you would attach any additional files or folders required by the installation.

  • Parameters: This is where you would input installation parameters, such as silent switches for EXE installers.

  • Success codes: In the Success codes field, you can include any error or return codes that should indicate a successful installation.

  • Run as: This drop-down menu sets the run as mode for the deployment.

  • Error mode: Error mode is used to configure what happens when a deployment encounters an error.

  • Conditions: Conditions determine whether the install step runs on a target device based on criteria such as OS version, logged-on user state, files, registry values, services, processes, or group membership. If the conditions aren’t met, PDQ skips the step.

The script step

The script step lets you run custom PowerShell or CMD scripts on target Windows devices and custom Zsh or Bash scripts on target macOS devices. This gives IT teams a way to automate custom configuration, cleanup, remediation, and other endpoint management tasks. It shares many settings with the install step, along with scripting-specific options.

Personally, we're big fans of PowerShell. It's an extremely versatile scripting language capable of executing complex tasks. However, running PowerShell scripts against remote targets can be frustrating enough to make a grown sysadmin cry. Thankfully, using a script step in PDQ makes deploying all your favorite scripts almost too easy.

PDQ script step configured for PowerShell with script, attachments, parameters, success codes, and run settings.

While the script step shares many of the same settings as the install step, there are a couple of different options that I should mention.

  • Import: The Import link is used to navigate, select, and import your scripts.

  • Script pane: The script pane allows you to manually enter your code. This pane also autopopulates with the code from imported script.

The file copy step

The file copy step is a simple way to transfer files to your endpoints. Why stress over email attachment size limits and cloud storage platforms when you can easily transfer files with PDQ?

PDQ file copy step with attachments, target folder, overwrite, run as, error mode, and conditions settings.

There are a few unique options in the file copy step.

  • Attachments: The Attachments dropdown is where you attach your files or folders to be copied.

  • Target folder: This is the destination folder you are copying the files to. If the folder doesn’t exist on the targeted endpoint, it is automatically created.

  • Overwrite existing files: This option overwrites existing files of the same name on the destination device.

The reboot step

The reboot step is a great way to send a reboot command to your workstations. This step is useful to add to your packages when an installer requires a reboot after installation. It’s also handy for those users that never restart their computers even after you’ve t̶h̶r̶e̶a̶t̶e̶n̶e̶d̶ t̶h̶e̶m̶ asked them nicely.

PDQ reboot step with delay, message, error mode, and conditions settings.

Here are the unique options of the reboot step:

  • Delay: The delay setting controls how long PDQ waits before initiating the reboot, giving users time to save their work before the device restarts.

  • Message: The message step gives you the option to display a message prompt that the device will reboot. While you may be tempted to restart computers without warning your users, I can assure you that you’ll receive far fewer help desk calls if you warn your users first.

The nested package step

The nested package step gives sysadmins the ability to nest multiple packages into one package. This can be very helpful for baseline packages or if you have several different packages that always need to deploy together.

PDQ nested package step with package selection and error mode settings.

There is only one setting unique to the nested package step.

  • Package: The package setting lets you select from the prebuilt and custom packages in your PDQ instance.

It’s important to note that more than one nested package step can be added to a package.

Creating a custom package in PDQ from start to finish

To create a custom package in PDQ, add the package details, configure the required package steps, save the package, and deploy it to a test device. In this example, we’ll build a custom PicPick package using an install step and a PowerShell script.

Grab your beverage of choice, slap your do not disturb sign on the door, and let’s do this.

Before we build the package, we need to create a PowerShell script. PicPick is eager to get started, launching immediately after installation. While I love the enthusiasm, having a random application unexpectedly pop up on a user’s machine is a surefire way to get a bunch of help desk phone calls. This script is designed to stop the application from automatically launching after it installs. Here is the PowerShell script:

Stop-Process -Name ‘picpick’ -Force

Once we’ve saved the PowerShell script, we can begin creating the package.

  1. With PDQ open, click Packages.

  2. Click Create package.

    PDQ Packages page with the Create package button highlighted.

  3. Add your package parameters.

    PicPick custom package properties in PDQ with package name, version, description, timeout, and conditions.

  4. Click Add install step, then name the step.

  5. To attach the PicPick installer, click Attach installer file, then navigate to the installation file, select it, and click Open.

  6. Add the silent parameter /S into the Parameters field.

    PicPick install step in PDQ with the installer attached and silent /S parameter configured.

  7. Using the Add install step drop-down menu, click Add script step. Make sure PowerShell is selected as the script type.

  8. Name the step, then click the Import .ps1 link. Browse to the PowerShell file we created at the start of this tutorial, select it, and click Open.

  9. Keep the rest of the default settings, then click Save to save the package.

    PicPick PowerShell script step in PDQ with a Stop-Process command and Save button highlighted.

All that’s left to do is deploy the package to a test machine to make sure everything’s working.

  1. On the Packages page, search for and select the PicPick package, use the Actions drop-down menu, then click Deploy.

    PicPick package selected in PDQ with the Actions menu open and Deploy highlighted.

  2. Enter the name of the test device you want to deploy the package to, and select it.

    PDQ Create deployment window with the PicPick package and a target device search.

  3. Click Deploy.

    PDQ Create deployment window with the PicPick package, target device selected, and Deploy button highlighted.

If the device is online, the package should deploy very quickly. You can monitor the deployment from the Deployments page, where you can view its status, output logs, and any errors.

Custom package FAQs

Can PDQ deploy third-party applications and custom packages?

Yes. PDQ can deploy third-party applications from its Package Library, and IT teams can create custom packages for applications or workflows that require their own installers, scripts, parameters, or deployment steps.

Can PDQ run custom scripts for endpoint automation?

Yes. PDQ can run PowerShell and CMD scripts on Windows devices and Bash and Zsh scripts on macOS devices. IT teams can use scripts to automate configuration changes, cleanup, remediation, and other repeatable endpoint management tasks.

Does PDQ combine patching, software deployment, and inventory?

Yes. PDQ combines endpoint inventory, software deployment, patching, custom packages, and automation so admins can identify devices, target deployments, and manage recurring endpoint tasks from the same platform.

PDQ, keeping you connected to your remote endpoints

If you manage a large fleet of remote devices, PDQ can help. Stop stressing about the complexities of remote management, and let PDQ simplify your workflows. From patching to inventory management, Connect has everything you need to get the job done with none of the overhead. Don’t wait — try PDQ for 14 days absolutely free. It may not change your life, but it can make it easier.

Brock
Brock Bingham

Brock Bingham is a systems administrator with 15 years of experience managing endpoints and servers, with a strong focus on automation, patching, security, and maintaining stable environments at scale. After years of hands-on IT work, he now creates content and teaches, helping other admins learn through practical, real-world guidance.

Related articles