How to connect ParcelPanel & Klaviyo via API?

This integration allows users to create personalized campaigns & flows based on tracking events from ParcelPanel.


Here is the instruction

Step 1
Go to Klaviyo adminAccountSettingsAPI Keys → copy the Public API Key


Step 2
Go to ParcelPanel adminIntegration → find Klaviyo → click Connect button → paste the Public API Key to connect


Back to your Klaviyo admin, there will be a new metric called ParcelPanel Event, you can check the details from this example we sent you.


Step 3
Click Create Flow button → Create from ScratchMetric → select ParcelPanel Event from the dropdown menu → TRIGGER FILTERS


Step 4
Configure the Trigger by your needs, ParcelPanel Events are coming with shipment status updates for each shipment, which are powerful segmentation triggers for Klaviyo Flow

Note:

1. It's case-sensitive.

2. The current supported status: Info received, In transit, Out for delivery, Delivered, Exception, Failed attempt, Expired.

StatusDescription
Info receivedThe carrier received a shipping request and is about to pick up the shipment
In transitThe shipment is on the way
Out for deliveryThe shipment has arrived at the local point and is about to be delivered
DeliveredThe shipment has been delivered
ExceptionThe shipment might have been sent back to the sender, damaged, or lost
Failed attemptThe carrier attempted to deliver the shipment but failed
ExpiredNo tracking details updated for 30 days for express service or 60 days for postal service


For example: I want to create a workflow that automatically sends an email when my shipment was delivered.


Step 5
Configure the actions by your needs


Available Property

Property nameTemplate tagExample
shipment_status{{ event.shipment_status }}Delivered
tracking_link{{ event.tracking_link }}https://yourstorename.com/apps/parcelpanel?nums=92055901755477000271990251
expected_delivery_date{{ event.expected_delivery_date }}Nov 09, 2020 - Nov 19, 2020
tracking_number{{ event.tracking_number }}92055901755477000271990251
carrier_name{{ event.carrier_name }}USPS
carrier_contact{{ event.carrier_contact }}1-800-275-8777
last_check_point{{ event.last_check_point }}Arrived at USPS Regional Facility, SEMINOLE-ORLANDO FL DISTRIBUTION CENTER
last_checkpoint_time{{ event.last_checkpoint_time }}2020-11-16 00:50
transit_time{{ event.transit_time }}5
residence_time{{ event.residence_time }}3
order_number{{ event.order_number }}#1234
order_created_at{{ event.order_created_at }}2020-10-30 11:36:23
product_name{{ event.product_name }}Test product
customer_email{{ event.customer_email }}[email protected]
customer_phone{{ event.customer_phone }}+1 234 567 8900
first_name{{ event.first_name }}Tom
last_name{{ event.last_name }}Alix
fulfillment_created_at{{ event.fulfillment_created_at }}2020-11-11 09:58:07
shipping_country{{ event.shipping_country }}Canada
shipping_province{{ event.shipping_province }}Ontario
shipping_city{{ event.shipping_city }}Ottawa
shipping_address1{{ event.shipping_address1 }}151 O'Connor Street
shipping_address2{{ event.shipping_address2 }}Null
shipping_zip{{ event.shipping_zip }}K2P 2L8


Addition
In addition to the basic information about the order, the LineItems field contains an array of information about each line item in the order. You can reference this data for building templates, branching logic based on package contents, and so on. This is stored in a 0-indexed array, so you can easily access an individual item or loop over it to get the entire contents.

Property nameTemplate tagExample
product_name{{ event.lineitems.0.product_name }}Test product 1
quantity{{ event.lineitems.0.quantity }}1
variant_image{{ event.lineitems.0.variant_image }}https://shopify.com/path/to/image-variant.jpg
price{{ event.lineitems.0.price }}24.96
variant_name{{ event.lineitems.0.variant_name }}Test product 1 - Black / L
sku{{ event.lineitems.0.sku }}12345678-black-l
handle{{ event.lineitems.0.handle }}test-product-1