How it works

Follow these 5 simple steps to start creating ShipStation labels for Shopify orders automatically

Shopify logo icon

Order Created

This trigger captures new orders the instant they're placed, enabling immediate label generation that speeds fulfillment and gets packages to customers faster without waiting for manual processing.
When an order is created in Shopify, this trigger activates the workflow and captures complete order data including {{shopify.id}}, {{shopify.order_number}}, {{shopify.email}}, {{shopify.created_at}}, {{shopify.total_weight}}, {{shopify.billing_address}}, and {{shopify.shipping_address}} with all address components. The workflow runs for every new order placed in your store.
Time to complete: Auto-configured (0 minutes)

Create or Update Order

Syncs the Shopify order to ShipStation with complete shipping details, ensuring ShipStation has current order data needed for accurate label generation and maintaining synchronization between platforms.
This step creates or updates an order in ShipStation using Shopify order data. It sends: orderNumber ({{shopify.order_number}}), orderKey ({{shopify.id}} for matching), orderStatus "awaiting_shipment", customerEmail ({{shopify.email}}), shipDate (today's date), orderDate ({{shopify.created_at}}), complete billTo address with {{shopify.billing_address}} components, complete shipTo address with {{shopify.shipping_address}} components, and weight ({{shopify.total_weight}} in grams). ShipStation uses orderKey to determine if this is a new order or an update to an existing one. The created/updated ShipStation order ID is returned as {{shipstation.orderId}} for use in label creation.
Time to complete: Auto-configured (0 minutes)

Create Order Fulfillment

Marks the order as fulfilled in Shopify with the tracking number, updating order status and triggering customer fulfillment notifications with tracking links that enable shipment monitoring.
This step creates a fulfillment for the order using {{shopify.id}}. It includes tracking_number ({{shipstation_1.trackingNumber}} from the label) and requires location_id configuration. Configuration: You must provide your Shopify location ID during setup—go to Settings > Locations in Shopify admin, click on your location, and look at the URL which shows a number like "12345678901"—that's your location ID. After fulfillment creation, the order status updates to "fulfilled," customers receive shipment confirmation emails (if enabled in Shopify settings) with tracking information, and the tracking number displays in order details.
Time to complete: 3 minutes

Update Order (Save Label)

Stores the shipping label data directly on the Shopify order as a note attribute, preserving label information for reprinting, auditing, or customer service reference without requiring ShipStation access.
This step updates the Shopify order ({{shopify.id}}) by adding a note_attributes entry with name "Shipping Label" and value {{shipstation_1.labelData}} (the label URL or data from ShipStation). Note attributes are metadata stored on orders that don't display to customers but are accessible to staff in the admin. This preserves the label for future reference even if ShipStation's label data expires or if you need to reprint without generating a new label.
Time to complete: Auto-configured (0 minutes)
shipstation logo icon

Create Label for Order

Generates the actual shipping label with tracking number and printable label data, automating the most time-consuming part of fulfillment and ensuring every order ships with proper tracking.
This step creates a shipping label in ShipStation for the order using {{shipstation.orderId}}. Configuration: You must set up three shipping settings during setup: (1) carrierCode—select your shipping carrier (like "stamps_com" for USPS, "ups", "fedex", "dhl_express"), (2) serviceCode—select the service level (like "usps_priority_mail", "ups_ground", "fedex_2day"), and (3) packageCode—select the package type (like "package", "flat_rate_envelope", "large_package"). The step also includes confirmation "none" (no signature required by default), testLabel "true" (generates test labels until you're ready for production), shipDate (today), and weight ({{shopify.total_weight}} in grams). ShipStation returns the label data including {{shipstation_1.trackingNumber}} and {{shipstation_1.labelData}} (the printable label in base64 or URL format). Important: Set testLabel to "false" when you're ready to generate real, billable shipping labels instead of test labels.
Time to complete: 5 minutes

Make it your own

Customize this workflow even further:

Filter by shipping method or destination
Add filters before ShipStation steps that check order shipping_lines or shipping_address properties and use different carrier/service codes based on customer's chosen shipping method or destination country.
Add conditional carrier selection
Insert conditional logic that examines order weight, destination, or value and dynamically selects carrier and service codes, routing heavy packages to freight carriers or international orders to appropriate international services.
Send custom notifications
Add email or SMS steps after label creation that send custom shipping confirmations with order details, estimated delivery dates, and tracking links in your brand's format beyond Shopify's standard notifications.
Log labels to spreadsheet
Add a Google Sheets or database step that records every label created with timestamp, order number, tracking number, carrier, and cost for fulfillment reporting and shipping expense tracking.

Frequently asked questions

What's the difference between test labels and production labels?
Test labels are free, non-trackable labels for testing your workflow. They look real but won't scan at carriers. Production labels are billable, real shipping labels that carriers accept. Keep test mode enabled until you've verified the workflow works correctly, then change to false for actual shipping.
Can I use different carriers or services for different orders?
Yes, add conditional logic before the "Create Label for Order" step that checks order properties (like weight, destination, or tags) and sets different carrierCode and serviceCode values dynamically based on those conditions.
What happens if label generation fails?
The workflow will stop at the label creation step without fulfilling the order in Shopify. Check ShipStation for error messages (common issues include invalid addresses, incorrect carrier codes, or insufficient postage balance). The order remains unfulfilled until you resolve the issue.
What is a template?
Templates are pre-made workflows by our team of experts. Instead of building a workflow from scratch, these have all the steps needed to complete the task.
Can I personalize a template?
Yes! Every step can be customized to meet your exact requirements. Additionally, you can even add more steps and make it more sophisticated.
Are templates free?
Yes! Our entire library containing hundreds of templates are free to use and customize to your exact needs.

Ready to start creating ShipStation labels for Shopify orders automatically?

Join thousands who've automated their work and saved an average of 3.5 hours every week.

Use this template — It's free
7-day free trial • 11 min setup • Cancel anytime