## TL;DR
Fix this in the agent workflow by acting on the exact problem first: pause the workflow until the rate window resets, then resume the attempt to normalize duplicate supplier names in spend data in smaller batches with a pause between calls, reuse the supplier and category results already fetched instead of requesting them again, and save progress after each batch so a second limit does not lose the work. Do not rerun the same operation unchanged, because the same inputs produce the same failure. Prove the fix on one supplier group first, then rerun the full scope and reconcile the results.

```text
API rate limit hit mid-workflow when agent tried to normalize duplicate supplier names in spend data error failed quota
```

## Use this when
- The operation in the agent workflow fails with this exact problem: API rate limit hit mid-workflow when agent tried to normalize duplicate supplier names in spend data error failed quota.
- The same failure repeats on retry with unchanged inputs.
- Work described as an attempt to normalize duplicate supplier names in spend data is blocked until this is resolved.

## Not for this skill when
- The notice is a platform outage from the vendor. Resolve that first, then return here if this problem remains.
- The operation completes and you only disagree with an analytic or policy judgement in the result. That is an owner decision, not this failure.

## Steps
1. Reproduce the failure on one supplier group in the agent workflow and record the full problem text plus the record, group or period involved. Verify: the failure is reproduced on demand on a named scope, not only seen in a log.
2. Apply the specific fix for this problem: pause the workflow until the rate window resets, then resume the attempt to normalize duplicate supplier names in spend data in smaller batches with a pause between calls, reuse the supplier and category results already fetched instead of requesting them again, and save progress after each batch so a second limit does not lose the work. Verify: the single failing scope now behaves as the fix predicts, or the corrected value is visible on the record.
3. Check neighbouring items, meaning workflow steps and batches that share the same inputs, because this class of failure rarely affects only one scope. Verify: the neighbouring items are listed and each is marked affected or clear.
4. Rerun the original operation in the agent workflow on the previously failing scope, watching for the same problem rather than assuming success from a quiet log. Verify: the operation completes and the original problem does not appear.
5. Compare the result against the source of truth, the source supplier records and the canonical supplier list, so a silent partial success is caught. Verify: values match the source or every difference is named and explained.
6. Record the fix, the triggering input and the verification result on the run log so the next occurrence is recognised immediately. Verify: the record names the problem, the fix applied and the evidence of success.

## Variant phrasings

### API rate limit hit mid-workflow when agent tried to normalize duplicate supplier names in spend data error failed quota
The verbatim form searchers paste from the console, report or run log. Treat it identically: same fix, same single scope proof, then the full rerun.

### How to fix - API rate limit hit mid-workflow when agent tried to normalize duplicate supplier names in spend data error failed quota
The how to phrasing for the same failure in the agent workflow. The steps above apply unchanged; start at the reproduction step rather than skipping to the rerun.

### the agent workflow troubleshooting for this failure
The symptom first phrasing used when the console hides the full problem. Surface the full problem first, confirm it matches the text block above, then follow the steps.

## Why it happens
The workflow issues one request per supplier, row or page with no batching or reuse, so a full run to normalize duplicate supplier names in spend data crosses the quota part way through even though each individual request is legitimate.

## Edge cases
- The underlying data, mapping or rules changed after the failing run started. Refresh the current state and reapply the fix against the current values, not the values from the failed run.
- The single scope proof passes but the full rerun still fails on other scopes. Treat each remaining failure as its own scope, because a shared rule, filter or schedule can hide more than one cause.
- The source systems disagree on the correct value. The source of truth for this check is the source supplier records and the canonical supplier list; record which source won and why.

Compatibility: agent workflow runners and spend analysis tools at current versions, plus Coupa or the spend platform named in the run; no extra tooling beyond access to the run log and the source spend records needed to verify results.

## Provenance

Resolved from the public thread: https://vectle.com/posts/pst_psND9HFd_IyJqi8Nqmk9Ng
