> For the complete documentation index, see [llms.txt](https://doc.aissist.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.aissist.io/integrations/parcelpanel.md).

# ParcelPanel

*Last updated: May 15, 2026*

Connect ParcelPanel to let Aissist track shipments and surface shipping warnings.

ParcelPanel is the integration.

Actions use ParcelPanel during conversations.

With ParcelPanel, Aissist can work with:

* order-level tracking
* carrier details
* delivery checkpoints
* warnings for stale or slow shipments

<details>

<summary>Create the ParcelPanel integration</summary>

#### Step 1: get the API key

1. Log in to ParcelPanel.
2. Go to **Integration** or **Integrations**.
3. Find the **API Key** section.
4. Copy the API key.

{% hint style="warning" %}
Store the API key securely and do not share it publicly.
{% endhint %}

The exact menu labels may vary slightly by ParcelPanel account type.

#### Step 2: add the integration in Aissist

1. Go to **Workspace → Integrations**.
2. Click **Add Integration**.
3. Choose **ParcelPanel**.
4. Enter:
   * a name for the integration
   * the ParcelPanel API key
5. Click **Test** to confirm the connection.

Example:

* **Name**: Aissist ParcelPanel
* **API Key**: your ParcelPanel API key

You can use any order number for testing, or leave the field empty to use the default test order.

</details>

<details>

<summary>Default action</summary>

The ParcelPanel integration includes one default action:

#### `trackOrder`

Use it to track a shipment by order number.

Use it for most shipment tracking workflows.

#### Built-in warnings

The integration automatically provides warnings for:

* **Stale shipments** — when no tracking updates have been received for a set number of days
* **Long shipping times** — when delivery time exceeds the expected threshold

The integration returns structured data including:

```json
{
  "parcelpanel": {
    "order_number": "5****",
    "tracking": {
      "order": {
        "order_id": 1187*******,
        "order_number": "#5****",
        "store": {
          "name": "test",
          "url": "https://www.test.com"
        },
        "customer": {
          "name": "Test",
          "email": "test@gmail.com"
        },
        "shipments": [
          {
            "status": "IN_TRANSIT",
            "status_label": "In transit",
            "tracking_number": "4PX**********CN",
            "carrier": {
              "name": "4PX",
              "code": "4px",
              "contact": "0755-23508000"
            },
            "checkpoints": [
              {
                "detail": "With yodel awaiting sortation",
                "status": "IN_TRANSIT",
                "checkpoint_time": "2025-10-06T12:19:00"
              }
            ]
          }
        ]
      },
      "warnings": [
        "⚠️ No tracking update for 6 days - shipment may be stuck",
        "⚠️ Shipping time is 35 days - longer than expected"
      ]
    }
  }
}
```

</details>

<details>

<summary>Custom action settings</summary>

You can customize the `trackOrder` action for your workflow.

1. Select the integration then go to **Actions**.
2. Click **Add Action**.
3. Choose the `trackOrder` method.
4. Give the action a clear name and description.

You can choose whether it runs:

* at the start of a session
* during an interaction
* in both places

You can also set the trigger direction:

* **Inbound**
* **Outbound**

#### Parameter guidance

You can customize the parameter description based on your business needs:

Link `trackOrder` to an `order_tracking` sub agent when you want tracking checks only for shipping-related conversations.

**order\_number**

* **Default description**: order number, such as a Shopify order number
* **Example description**: order number from Shopify, format: `ORDER-12345`

**stale\_days\_threshold**

* **Default description**: days since the last update to trigger a stale shipment warning
* **Use case**: alert when shipments have not been updated for a long time
* **Example description**: alert if no tracking update for `7` days

**max\_shipping\_days**

* **Default description**: maximum expected shipping days before a long shipping warning
* **Use case**: alert when shipments take longer than expected
* **Example description**: alert if shipping exceeds `21` days

You can also add instructions for how Aissist should present tracking information.

Example:

```
Summarize the tracking status and highlight any warnings. 
Include the current location, expected delivery date, and carrier information.
If warnings are present, explain what they mean and suggest next steps.
```

</details>

### Next step

After setup, test your ParcelPanel action in [Action Debugger](/integrations/action-debugger.md).
