Skip to main content

Auto-Print — How It Triggers

Plan Availability: This feature is available on Professional and Enterprise plans.

Understanding when and how labels are auto-printed helps you troubleshoot issues.

Trigger Points

There are two events that can trigger auto-printing:

1. Label Created (Primary)

When ShipStation generates a label, it sends a webhook (label_created_v2) to CloudFFL OS. The system:

  1. Receives the webhook with the label download URL
  2. Downloads the label and attaches it to the picking's chatter
  3. Immediately triggers auto-print

This is the primary and most reliable trigger.

2. Fulfillment Shipped (Fallback)

When ShipStation marks a shipment as fulfilled, it sends a webhook (fulfillment_shipped). The system:

  1. Finds the corresponding picking
  2. Attempts auto-print as a fallback (in case the label_created event was missed)

This provides a safety net but is secondary to the label creation trigger.

Duplicate Prevention

Each picking has a "Labels Auto-Printed" flag. Once set to True:

  • Any subsequent auto-print trigger is skipped (logged at debug level)
  • The flag is only cleared when you manually click Reprint Label

This prevents duplicate prints even if:

  • Both webhooks fire for the same shipment
  • A webhook fires multiple times (network retry)
  • The picking is opened/saved multiple times

What Gets Printed

The system searches for a label attachment on the picking:

Step 1: Look for ShipStation Label

Search for an attachment named ShipStation-Label* on the picking (most recent first).

Step 2: Fallback (if Label Source = "Auto")

If no ShipStation-named label is found, search for any attachment with a printable MIME type:

  • application/pdf
  • image/png
  • application/octet-stream (covers ZPL files)

Content Type Detection

The file extension determines how the label is sent to the printer:

Extension PrintNode Content Type Used For
.pdf pdf_base64 Standard PDF labels
.png pdf_base64 Image-based labels
.zpl raw_base64 Zebra thermal printer labels
.txt raw_base64 Raw printer commands

Chatter Messages

The system posts messages to the picking's chatter to keep you informed:

  • No printer configured: "PrintNode: No label printer configured for auto-print on WH/OUT/00123"
  • No label found: "PrintNode: No label attachment found for auto-print on WH/OUT/00123"
  • Print error: "PrintNode auto-print error: [error details]"

Successful prints are logged to the system log but don't clutter the chatter.