PDQ Component
PDQ provides a suite of management tools to automate software deployment, manage patches, and track inventory across a company’s networks. Use the PDQ component to manage deployments, devices, groups, and packages.
Component key: pdq
Description
PDQ provides a suite of management tools to automate software deployment, manage patches, and track inventory across a company’s networks.
Use the PDQ component to manage deployments, devices, groups, and packages.
API Documentation:
The component was built using the PDQ V1 API
Connections
API Key
Follow these steps to generate a new API key in PDQ:
- Login to your PDQ Connect account and select the settings icon represented by a cog located in the lower left corner.
- Navigate to the API keys section and select Create API Key.
- Provide a unique name for the API key and select Create.
- Copy and save the generated API key as it will not be shown again.
- Enter the generated API key into the connection configuration of your integration.
| Input | Notes | Example |
|---|---|---|
| API Key | The PDQ API Key |
Data Sources
Select Device
Select a Device from a dropdown menu. | key: selectDevice | type: picklist
| Input | Notes | Example |
|---|---|---|
| Connection |
{
"result": [
{
"key": "dvc_1bced782734040a581d",
"label": "LAB01"
}
]
}
Select Group
Select a Group from a dropdown menu. | key: selectGroup | type: picklist
| Input | Notes | Example |
|---|---|---|
| Connection |
{
"result": [
{
"key": "grp_1bced782734040a581d",
"label": "Firefox"
}
]
}
Select Package
Select a Package from a dropdown menu. | key: selectPackage | type: picklist
| Input | Notes | Example |
|---|---|---|
| Connection |
{
"result": [
{
"key": "pkg_1bced782734040a581d",
"label": "Firefox"
}
]
}
Actions
Create Deployment
Deploy a package version to target devices or groups | key: createDeployment
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| Debug Request | Enabling this flag will log out the current request. | false |
| Package | The package id to deploy. | pkg_123abc |
| Targets | Comma-delimitted Device IDs or Group IDs. | grp_123abc,dvc_123abc |
{
"data": "CREATED SUCCESSFULLY"
}
Get Device
Retrieve a device by ID | key: getDevice
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| Debug Request | Enabling this flag will log out the current request. | false |
| Device ID | The ID of the device to retrieve. | 123456 |
{
"data": {
"architecture": "64-bit",
"hostname": "LAB01",
"id": "dvc_1bced782734040a581d",
"insertedAt": "2024-01-01T00:00:00.000000Z",
"lastUser": "someuser",
"model": "8884664217",
"name": "LAB01",
"osVersion": "10.0.17328",
"publicIpAddress": "451E:6414:DEC9:2428:7154:D717:8D0F:7D2C",
"serialNumber": "56701fc8-de8f-4ccb-9a4d-3b97676d04d2",
"servicePack": "wav"
}
}
Get Package
Retrieve a package by ID | key: getPackage
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| Debug Request | Enabling this flag will log out the current request. | false |
| Package ID | The ID of the package | 123456 |
{
"data": {
"id": "pkg_1bced782734040a581d",
"name": "Firefox",
"publisher": "Mozilla",
"source": "pdq"
}
}
List Devices
Retrieve a list of devices | key: listDevices
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| Custom Query Params | Custom fields filter | key1=value1 |
| Debug Request | Enabling this flag will log out the current request. | false |
| Fetch All | If true, fetch all data. | false |
| Filter | String filter values will filter on exact values unless a supported operator is provided. | {"hostname":"~hostname"} |
| Group | The id of the group to filter by. | 123456 |
| Includes | Include related resources. | networking,processors |
| Page | The page number to return. | 1 |
| Page Size | The number of records to return per page. Maximum is 100. | 100 |
| Sort | Sort by a field in camel case. By default a field name sorts with 'Asc'. Add the suffix 'Desc' to sort by that field in descending order. | insertedAtDesc |
{
"data": {
"data": [
{
"architecture": "64-bit",
"hostname": "LAB01",
"id": "dvc_1bced782734040a581d",
"insertedAt": "2024-01-01T00:00:00.000000Z",
"lastUser": "someuser",
"model": "8884664217",
"name": "LAB01",
"osVersion": "10.0.17328",
"publicIpAddress": "451E:6414:DEC9:2428:7154:D717:8D0F:7D2C",
"serialNumber": "56701fc8-de8f-4ccb-9a4d-3b97676d04d2",
"servicePack": "wav"
}
]
}
}
List Groups
Retrieve a list of groups | key: listGroups
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| Custom Query Params | Custom fields filter | key1=value1 |
| Debug Request | Enabling this flag will log out the current request. | false |
| Fetch All | If true, fetch all data. | false |
| Filter | String filter values will filter on exact values unless a supported operator is provided. | {"hostname":"~hostname"} |
| Page | The page number to return. | 1 |
| Page Size | The number of records to return per page. Maximum is 100. | 100 |
| Sort | Sort by a field in camel case. By default a field name sorts with 'Asc'. Add the suffix 'Desc' to sort by that field in descending order. | insertedAtDesc |
{
"data": {
"data": [
{
"id": "grp_1bced782734040a581d",
"insertedAt": "2024-01-01T00:00:00.000000Z",
"name": "Firefox",
"source": "custom",
"type": "dynamic"
}
]
}
}
List Packages
Retrieve a list of packages | key: listPackages
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| Custom Query Params | Custom fields filter | key1=value1 |
| Debug Request | Enabling this flag will log out the current request. | false |
| Fetch All | If true, fetch all data. | false |
| Filter | String filter values will filter on exact values unless a supported operator is provided. | {"hostname":"~hostname"} |
| Page | The page number to return. | 1 |
| Page Size | The number of records to return per page. Maximum is 100. | 100 |
| Sort | Sort by a field in camel case. By default a field name sorts with 'Asc'. Add the suffix 'Desc' to sort by that field in descending order. | insertedAtDesc |
{
"data": {
"data": [
{
"id": "pkg_1bced782734040a581d",
"name": "Firefox",
"publisher": "Mozilla",
"source": "pdq"
}
]
}
}
Raw Request
Send raw HTTP request to the PDQ API | key: rawRequest
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| Data | The HTTP body payload to send to the URL. | {"exampleKey": "Example Data"} |
| Debug Request | Enable this to log the request and response | false |
| File Data | File Data to be sent as a multipart form upload. | [{key: "example.txt", value: "My File Contents"}] |
| File Data File Names | File names to apply to the file data inputs. Keys must match the file data keys above. | |
| Form Data | The Form Data to be sent as a multipart form upload. | [{"key": "Example Key", "value": new Buffer("Hello World")}] |
| Header | A list of headers to send with the request. | User-Agent: curl/7.64.1 |
| Max Retry Count | The maximum number of retries to attempt. Specify 0 for no retries. | 0 |
| Method | The HTTP method to use. | |
| Query Parameter | A list of query parameters to send with the request. This is the portion at the end of the URL similar to ?key1=value1&key2=value2. | |
| Response Type | The type of data you expect in the response. You can request json, text, or binary data. | json |
| Retry On All Errors | If true, retries on all erroneous responses regardless of type. This is helpful when retrying after HTTP 429 or other 3xx or 4xx errors. Otherwise, only retries on HTTP 5xx and network errors. | false |
| Retry Delay (ms) | The delay in milliseconds between retries. This is used when 'Use Exponential Backoff' is disabled. | 0 |
| Timeout | The maximum time that a client will await a response to its request | 2000 |
| URL | Input the path only (/deployments), The base URL is already included (https://app.pdq.com/v1/api). For example, to connect to https://app.pdq.com/v1/api/deployments, only /deployments is entered in this field. e.g. /deployments | /deployments |
| Use Exponential Backoff | Specifies whether to use a pre-defined exponential backoff strategy for retries. When enabled, 'Retry Delay (ms)' is ignored. | false |
Changelog
2025-08-29
- Added data sources and inline data sources for Devices, Groups, and Packages
- Updated all string input placeholders to follow Guru standards (using "Enter..." pattern)
- Fixed connection label to follow standards (removed component name from label)
- Added marketing categories configuration