automation.engineer
All case studies

BroLi / Project case study

2021Recorded work

From a paid Shopify order
to a fulfillment task
and delivery route.

BroLi, a Uruguayan online bookstore with a book-donation mission, needed paid orders to reach the right fulfillment team with the delivery details intact. The workflow prepared tasks, order records and customer-message context, handled multi-item orders and retained a manual fallback for unreliable courier integration.

Client
BroLi
Contribution
Integration work within a team
Project status
Configured workflows & courier experiments

Tools & working context

Project scope and implementation.

  • Shopify
  • Asana
  • Google Sheets
  • Klaviyo
  • Slack
  • PedidosYa
  • Make

01 / Business context

Book sales with
a social purpose.

BroLi is a Uruguayan online bookstore that donates a book to public schools without libraries for every book sold. In a February 2022 account, cofounder Pedro Copelmayer reported more than 2,500 books donated across 10 departments of Uruguay.

Its lean retail model combined a Shopify storefront with distributor catalogs, fulfilling books after customers placed orders rather than holding the full catalog in stock. That made accurate distributor information, order routing and customer updates central to daily operations.

A paid order creates work for several systems and people. The fulfillment team needs complete delivery details, the right territory and a task that explains the books being ordered. Customer messaging must also reflect the order’s progress.

The courier connection was still being tested. Orders needed to remain visible to the team even when a shipping label could not be generated.

Business background: Pedro Copelmayer’s February 2022 account, published by Simpletech ↗.

Inside the workflow

A closer look
at the handoffs.

Start with the main path and its branches. Select a step for context, or switch to the technical map for implementation detail.

  • Paid Shopify order
    Read line items, distributor and customer context from paid orders.
  • Resolve territory and distance
    Use available address data and distance to choose fulfillment handling.
  • Asana fulfillment task
    Prepare operational work with the order and delivery context.
  • Google Sheets order record
    Write the order information into the shared tracking sheet.
  • Klaviyo list context
    Choose territory-specific messaging context and the general email list.
  • Courier label request
    Check the short-lived API token and request the courier label.
  • Label-generated state
    Successful responses move the task to the label-generated list.
  • Manual-label fallback
    On request failure, retain the task and mark the label for manual creation.
  • Daily prepared-order digest
    Read prepared work and send a daily operational summary to Slack.
  • Shipment-state change
    The shipping list transition starts email-list cleanup.
  • Remove campaign context
    Unsubscribe the relevant lists and then mark the Asana task complete.
Read the workflow notes
  1. 01 / Receive

    Prepare the order context

    Paid Shopify orders supplied book, distributor, customer and address information. Recorded iterations refined shipping/billing fallbacks and task formatting for orders with multiple books.

  2. 02 / Route

    Create the fulfillment work

    Distance and territory rules selected the operational path. Asana tasks, Sheets records and Klaviyo lists carried the order into the team’s working process.

  3. 03 / Track

    Close the loop with the team

    A daily Slack digest summarized prepared orders. Shipment status was used to complete fulfillment work and remove the customer from the relevant message campaign; a manual-label status covered courier exceptions.

Delivery routing, customer messaging and courier experiments are related workstreams. A configured branch is not proof of a completed delivery or courier purchase.

03 / Implementation detail

How it
was built.

An order-based reference was added to the Asana work to support duplicate handling. Repeat-order behavior still needed testing.

Some sample courier requests returned labels; others were rejected because of delivery-time or coverage details. Waiting before trying again was considered, but was not shown to resolve the issue reliably.

Colleagues contributed to the integration. Noah coordinated the work, made changes and investigated the problems shown in the recordings.

04 / Outcome & scope

Result
and scope.

The configured workflows carry paid orders into fulfillment tasks, keep customer messaging tied to shipment state and give staff a manual path when label generation fails.

No fulfillment volume, delivery-speed improvement, fully automated shipping service or measured savings is claimed.