Connecting ParcelLab

Last updated: July 8, 2026

Setting Up the parcelLab Integration in Engaige

Prerequisites

  • Access to your Engaige dashboard (Admin role)

  • A parcelLab account with API v4 access

  • For extra info or endpoints, you can refer to the parcelLab Order Status API docs.

Part 1 — Get Your parcelLab API Token & Account ID

  1. Log in to your parcelLab app.

  2. Navigate to Settings → Account → API Token (or go directly to app.parcellab.com/service/account/apitoken/).

  3. Create a token with at least read scope, then copy the non-encoded token value. Keep it private — it authenticates every request and should only ever be used server-side.

  4. Find your Account ID: go to app.parcellab.com/service/account/account/, select the account you want to use, and copy the 7-digit ID.

Note: If the parcelLab UI shows both an "encoded" and "non-encoded" token, always use the non-encoded one. The encoded version is a separate base64 combination of account ID + token and won't work with the header format below.

Part 2 — Create the HTTP Integration in Engaige

  1. In your Engaige dashboard, go to Integrations → HTTP.

  2. Click Create Integration and fill in the following:

Field

Value

Integration Name

parcelLab (or any name you prefer)

Domain

api.parcellab.com

Authentication Method

API Key

Authorization Header

Authorization

API Key

Parcellab-API-Token <your-non-encoded-token>

Note: Enter the Domain as the host only — no https://, no trailing slash, and no path. parcelLab expects the full scheme name in the header value itself, so the API Key field must contain the literal text Parcellab-API-Token followed by your token — not just the bare token, and not Bearer <token>.

  1. Save the integration. Note the Integration ID — you'll need it in Part 3.

Part 3 — Create the HTTP Actions

parcelLab exposes a single endpoint (v4/track/orders/info/) that returns order details, shipment/tracking data, checkpoints, and status — you can look it up by order number or by tracking number. Set up one action for each lookup style your agent needs.

Action — Get Order

Field

Value

Action Name

Get Order

Integration

Select the parcelLab integration created above

HTTP Method

GET

Path

v4/track/orders/info/?account=1234567&order_number=#{order_number}

Replace 1234567 with your parcelLab Account ID from Part 1. The #{...} syntax is Engaige's template substitution — at runtime, #{order_number} is replaced with the order number from your workflow (e.g. ORD-2024-001).

Action — Get Tracking

Field

Value

Action Name

Get Tracking

Integration

Select the parcelLab integration created above

HTTP Method

GET

Path

v4/track/orders/info/?account=1234567&tracking_number=#{tracking_number}&courier=#{courier}

Replace 1234567 with your Account ID. Both tracking_number and courier are required for this lookup style (the courier's key, e.g. dhl, fedex, ups).

Optional query parameters you can add to either action's Path (append with &):

Parameter

Purpose

show_returns

true/false — include return shipments on the order

live_refresh

true/false — force a live status pull from the carrier

recipient_postal_code

Recipient's postal code, for extra verification

lang

Language code for the response text (defaults to en)

Part 4 — Test the Integration

Once an action is saved, trigger a test run with a real order number (or tracking number + courier) to verify connectivity. A successful call returns 200 OK with the order and shipment/tracking data.

Troubleshooting common responses:

Status

Meaning & fix

400

Missing or malformed query parameter — make sure the required identifier pair (e.g. order_number + account, or tracking_number + courier) is present.

401

Wrong or expired API token, or wrong header format. The API Key field must read exactly Parcellab-API-Token <token>, not Bearer <token>.

404

The order or tracking doesn't exist under that Account ID — double-check the account number and identifier.

Key Response Fields (for action output mapping)

The response includes the order plus a trackings array (one entry per shipment). The most useful fields for an agent are typically:

Field

Description

order_number, recipient_name, recipient_email

Basic order identification

trackings[].tracking_number

Carrier tracking number

trackings[].courier_info.courier_name / courier_tracking_url

Carrier identity and the link the customer can follow

trackings[].last_delivery_status.status_text / status_details / lifecycle_status

Current human-readable status and stage (e.g. Transit, Delivered)

trackings[].announced_delivery_date / announced_delivery_date_min

Expected delivery date (range)

trackings[].is_delayed / is_exception / is_return

Flags for delayed, escalated, or return shipments

trackings[].checkpoints[]

Full status history with timestamps and locations

For the complete response schema, see the parcelLab Order Status API docs.

That's it! Once both actions are set up, your Engaige agent will be able to look up live order and shipment tracking information via parcelLab.