Automating the SKU pipeline by staying close to the people who run it
Every customer catalog request means looking up each SKU by hand, reconciling its attributes against product rules, and re-keying the result into PIM. Angie Lindberg estimates 1,400 SKUs would take her team at least 25 hours of effort and two to three weeks on the calendar. Shelby Corbitt has built the pipeline that does the lookup and the reconciling on Claude Managed Agents, with a person choosing every value, and she built it alongside the team that does the work today.
The work today
When a customer needs its products set up for ordering, the customer success team and the dealer send a SIF file or an Excel list of SKUs, and it lands as a Wrike ticket for Angie Lindberg’s B2B team. The team adds the SKUs to the customer’s view in Airtable, looks each one up in the Pub Layer to gather its attributes, reconciles them against product-specific rules (which finishes go with which Aeron chair, for example), and uploads the result into PIM through Excel templates and several manual steps.
Requests vary. The City of Tacoma was 33 SKUs and CSU was about 1,500 across five phases, though typical requests today are closer to 100. Building out a 1,400-SKU catalog would take the team at least 25 hours of effort, spread over two to three weeks. It is recurring work, and exactly the kind of busywork that leads to burnout.
“The SKU Attribution Agent has the potential to transform how my team spends its time. While it will save valuable time by eliminating the need to manually move data between systems, what I’m most excited about is how we can reinvest that time.”
— Angie Lindberg, B2B Product Data
What’s been built
The pipeline starts from the Wrike ticket, which it only reads. A flow picks up the customer’s file and checks each SKU against Airtable to decide whether it is new or already known. SKUs that PIM already has skip the Pub Layer lookup entirely, and the customer is linked to them in Airtable. The rest are enriched from the Pub Layer by an agent on Claude Managed Agents, applying the combination rules the team curates, and the results land in Airtable as rows a person can read and edit.
Nothing moves on the agent’s word alone. A person reviews each SKU in Airtable and picks the value wherever the agent could not settle it. Every value is a link to an existing PIM option, never free text. Once a SKU is approved, an export builds the PIM import workbook in the exact shape Kathy Clark’s team already imports, with a README that lists everything held and everything flagged. PIM itself is not connected: the file is the handoff, and the team imports it the way they always have.
It runs end to end on real Wrike tickets in test systems. In the first full rehearsal, a 10-SKU ticket took about seven minutes and about two dollars of agent time, and a second rehearsal put 8 SKUs in the import file and held 2. The agent runs on Claude Opus 5.5 at high effort, and the flow pins the agent version so a change can be rolled back in one step.
Built alongside the business
The design came out of a working session on August 14 with Angie Lindberg, Chris Miller, Michael Pietrangelo and Shelby Corbitt, and the build has stayed close to the business since. Kathy Clark walked Shelby through how records are actually imported into PIM, and the import workbook is built to match the files her team imports. Angie’s team settled what each PIM status (Hold, COM, Obsolete) means for the pipeline, and Kathy checked the values Shelby had to pick on her own and confirmed them. Where Shelby made a call the business hadn’t made yet, she recorded it in the row’s notes as her inference so it can be revisited. Angie has said the same from the business side: Shelby reaches out with questions, shares results, and has the team validate them along the way.
Where the right value isn’t known, the pipeline holds the SKU and says why, rather than inventing it. A SKU with an unresolved value, no style, or a feature its style doesn’t list is left out of the file and listed in the README. A feature the team chose to leave out on purpose, Material Type on the Generation chair, is flagged rather than dropped silently, because Angie asked that it throw a flag. It is the same rule that made the Scott AFB bid work: at this scale, a confident guess is more dangerous than a visible gap.
Guardrails from day one
The agent reads files that come from outside MillerKnoll, so it was scoped tightly from the first design review. It reaches only the systems the pipeline needs, Airtable and the Pub Layer, and it has no shell access. Wrike is read-only, and PIM is reached only through the file a person hands over. The product rules it applies are curated by people and mounted read-only, so no run can rewrite its own rules. A SKU it can’t resolve is held for a person and listed in the README, not written as a best guess.
What’s next
Shelby demos the pipeline to Angie and Kathy on October 2. After that, the largest step is the SKUs that are already in PIM. Today the customer is linked to them in Airtable, and the next goal is assigning that customer in PIM as well, which is what the very large catalogs of 2,000 to 4,000 SKUs need more than any new SKU work. A design to scale a single ticket to 2,000 SKUs is written, and the pipeline is planned to move onto AWS Lambda in its own repo. The pattern itself (start from the ticket, enrich from the Pub Layer, a person decides) fits other recurring catalog work across the business.
