# Create an FDA warning-letter review queue

Keep posting dates, issue dates and official letter links separate in a small supplier-research review queue.

## Quick start without code

Open https://apify.com/maydit/fda-warning-letter-monitor, paste input.json into its JSON input editor, review current pricing and set a maximum run charge of $0.05. Run manually, check SUMMARY and the result count, then export CSV. Use your own Apify account.

## Downloadable manual runner

Save config.json and run-workflow.mjs in the same new folder. Requires Node.js 22 or newer; no npm install. Supply APIFY_TOKEN through a secure environment variable using your own token. Do not put it in config.json or a URL.

Run without flags for offline instructions:

    node run-workflow.mjs

After reviewing input, scope and current pricing, start one potentially chargeable run:

    node run-workflow.mjs --run

The runner requests 256 MiB, 180 seconds and a $0.05 maximum total charge. The input time budget is 120 seconds. This cap may stop a run before all requested data is saved. It never retries the launch POST, creates a schedule, sends messages, or writes to a remote destination. It uses the Actor's current default build.

If a launch response is uncertain, inspect Apify Console before doing anything else. Resume the accepted run using its ID, with the same config and a new output folder:

    node run-workflow.mjs --resume RUN_ID

The runner checks Actor identity, original input, terminal status, SUMMARY, result count and row identities. It stops on source failures and time/charge stops; a deliberate result cap is allowed and remains a bounded sample. It polls for at most 270 seconds; timeout does not abort or relaunch the Actor.

## Destination

CSV and JSON are written into a new local results folder. Import CSV as literal text (RAW), preserving JSON for exact types. Upsert on record_key and deduplicate replay_key. Add owner/review notes in your own sheet. No sheet is automatically connected. Empty or absent rows never authorize deletion.

## Steps

1. Begin with the documented recent table window: read up to 25 source records and save five. Treat this as a workflow demonstration.
2. Keep both postedDate and letterIssueDate. Use the former for publication discovery and the latter for the document’s chronology.
3. Open the official letter and any linked response or closeout. A false posted-link flag does not establish that no response occurred.
4. Join exact entity identifiers to your supplier master only after checking the company identity; a literal name match is a candidate, not a confirmed match.
5. Keep a reviewed-on date and reviewer notes. Increase the source window deliberately for real research; this sample cannot provide complete supplier history.

## Limits

- The source window and result cap omit records, and records tied on posting date can move at the boundary.
- The Actor reads table metadata, not letter bodies.
- Do not infer present compliance, product safety, or supplier eligibility from these observations.

## Example pricing

At FREE-tier rates observed October 18, 2026, 5 saved rows × $0.003 plus $0.00005 Actor Start = $0.01505 in modeled event charges for this sample. This is not an owner invoice or a complete account-cost quote. Platform/API/storage and plan pricing may differ. Check https://apify.com/maydit/fda-warning-letter-monitor/pricing before running.

## Evidence

Saved observation: 2026-10-18T13:05:18.735Z; build 1.0.1; 5 records. Historical output is included in sample.json and sample.csv. Later results can differ. Product: https://mayd-it.com/data-tools/actors/fda-warning-letter-monitor/
