Automate with EfeBook a Call

Workflow Automation · Print-on-demand

From 6 Hours a Day to Minutes: Automating Personalized Orders for Print

I built a workflow that turns personalized Shopify and Amazon orders into printer-ready image grids and supporting production files within minutes.

  • Shopify
  • Amazon SP-API
  • Billbee
  • Dropbox
  • PostgreSQL
  • Python

Overview

A six-hour daily process reduced to minutes

I implemented this workflow automation system for a European print retailer. It collects personalized orders from Shopify and the Amazon Seller Portal, synchronizes order information with Billbee, and prepares every file required for printing and fulfillment.

Work that previously took six hours each day can now be completed in minutes, with production status tracking and a human reprint path.

The challenge

Every personalized order needs a complete production pack

Orders arrive through Shopify and the Amazon Seller Portal with different kinds of personalization. Some customers upload images that must be converted into printer-ready artwork. Others provide text that must be placed into the correct fields of a product-specific print template.

Production staff then need the finished artwork arranged into 15-image grids, a separate reference file with barcodes, barcode files for printing shipping labels, and gift-note files. Preparing and matching these outputs by hand took around six hours per day and increased the risk of sending the wrong file to production.

The solution

One workflow from personalization to printer

I built a browser-based operations application backed by PostgreSQL. It imports eligible order lines from both sales channels, synchronizes them with Billbee, preserves their production and personalization details, and presents them in a filterable dashboard.

For image personalization, the application retrieves each customer image, converts it to the required printer-ready format, and places it in a production grid. For text personalization, it selects the configured printing template, matches the submitted text to the template fields, generates the final artwork, and appends that image to the same grid-building process.

The system completes each 15-image grid and creates its supporting barcode reference sheet, shipping-label barcode file, and gift-note file. All outputs go to the appropriate Dropbox folder connected to the printer, while staff retain controls for synchronization, printing, removal, SKU configuration, and reprinting.

How it works

From eligible order to organized output

  1. 01

    Collect eligible work

    A scheduled or staff-triggered job imports personalized orders from two sources: Shopify and the Amazon Seller Portal. It then synchronizes the corresponding order data with Billbee.

  2. 02

    Normalize production records

    The application stores line-item identity, order reference, source, SKU, production type, status, and available customization details in PostgreSQL.

  3. 03

    Apply SKU rules

    Configured templates, text areas, fonts, marketplace handling, and optional image inversion determine how each eligible item is prepared.

  4. 04

    Prepare artwork

    For image-based orders, the workflow converts customer artwork into printer-ready images. For text-based orders, it matches personalization text to fields in the correct print template, renders the finished artwork, and adds it to the image grid.

  5. 05

    Create and route outputs

    The workflow arranges final artwork into 15-image print grids and generates separate reference sheets with barcodes, files for printing shipping labels, and gift-note files. It uploads every output to the designated Dropbox folder connected to the printer.

  6. 06

    Keep a human in control

    Staff can review filtered queues, run individual sync or print actions, remove an unwanted item, and return a printed item to the queue for reprinting.

What I delivered

Dashboard, integrations, rules, and file generation

  • A centralized operations dashboard with pagination and filters for store, production type, and status.
  • Shopify and Amazon Seller Portal order intake, plus Billbee and Dropbox integrations.
  • A queued synchronization-and-print job that records step-level progress and runs its stages in a defined order.
  • PostgreSQL records for line items, SKU production settings, and workflow job state.
  • Template-driven text personalization and printer-ready conversion of customer images.
  • 15-image production grids, barcode reference sheets, shipping-label barcode files, and gift-note files.
  • Automated handoff to designated Dropbox folders connected to the printer.
  • Manual removal and reprint controls for operational exceptions.
  • Automated tests covering the core integrations, transformations, dashboard behavior, and workflow failures.

Reliability and human oversight

Invalid states are surfaced, not silently printed

The automation checks order eligibility, skips items without recognized production rules, and uses database upserts so repeated syncs update existing line items. External requests use HTTP error checks, image downloads use a timeout, and required integration configuration is checked before work starts. Dropbox token refresh is supported, while unavailable credentials or failed uploads return explicit errors.

The combined job stores queued, running, completed, and failed states, including the current step. If one integration step raises an error, later steps are not run. Printing tracks successfully handled item IDs before status updates.

Staff can start each source sync independently, choose a print format, manage SKU rules, remove a line item, and put a printed item back into the queue. Shopify’s installation callback also uses HMAC verification.

Results and operational impact

Delivered operational capabilities

Two order sources connected

Personalized orders from Shopify and the Amazon Seller Portal feed one production workflow, with matching order data synchronized through Billbee.

One operational record

Order source, SKU, production type, customization details, and production status are centralized in PostgreSQL and presented through a filterable dashboard.

Images made printer-ready

Customer images and template-generated text artwork are normalized and assembled into final 15-image grids.

Supporting files generated together

Reference sheets with barcodes, shipping-label barcode files, and gift-note files are created alongside each production batch.

Direct printer handoff

Every generated file is routed to its designated Dropbox folder, which is connected to the printer.

Explicit human handoffs

Staff decide when to run individual actions and can remove work or queue a reprint.

Failure containment

The combined workflow records the failed stage and stops before later stages run.

Technology choices

A compact service for connected production work

  • Python and Flask provide the routes, integration logic, operational interface, and image-processing workflow.
  • PostgreSQL gives line items, SKU rules, statuses, and job progress a consistent source of record.
  • Shopify Admin GraphQL API, Amazon Selling Partner API, and Billbee API connect the commerce and order information needed for multichannel production preparation.
  • Pillow and resvg support raster processing and consistent conversion of personalized SVG designs into production images.
  • Dropbox API provides the downstream file handoff, with separate locations for different production needs.
  • Vercel configuration packages the Python application and Node rendering endpoint and defines a daily automation schedule.

Discuss your production workflow

Turn connected order data into organized work

If your team moves order data between systems and manually prepares downstream production work, let’s discuss a workflow grounded in your actual process.

Book an AI Automation Audit