The Scenario
Your editor-in-chief dropped a spreadsheet in your shared drive at 8 AM with a note: "CMS migration Monday, editorial routing has to be done by end of Friday." You're a news wire editor and the sheet has 300 article summaries in column A — wire copy from the past month. The CMS auto-routes articles to editorial desks based on IPTC media topic codes, and right now none of these articles have them.
The bad version:
- Look up the IPTC NewsCodes taxonomy to understand the two-level hierarchy of subject codes and labels.
- Open the TextRazor API documentation to find the correct classifier name for IPTC media topics and figure out what the response structure looks like.
- Copy the first summary from column A, paste it into an API call, read through the response to find the topic array, note the label and score, enter them into columns B and C by hand.
- Do that 299 more times before Friday.
The migration doesn't move without the codes. Three hundred rows by hand means Thursday night. Except you also have a 4 PM editorial meeting, a corrections backlog from Tuesday, and a reporter waiting on a callback.
The Easy Way: One Prompt in SheetXAI
SheetXAI is an AI agent that lives inside your Google Sheet. It reads your summaries, understands the column structure, and through its built-in TextRazor integration can classify every row using the IPTC media topics taxonomy and write labels and scores back in one run.
Classify each article summary in column A using TextRazor's IPTC media topics taxonomy and write the top two topic labels and scores into columns B, C, D, and E.
What You Get
- Column B receives the primary IPTC topic label for each summary — e.g., "Politics and Government" or "Natural Resources."
- Column C receives the confidence score for that label.
- Columns D and E receive the second-highest topic label and its score.
- Rows that return no confident IPTC match get a flagged value in column B rather than a blank that breaks the CMS import.
- All 300 rows process in a consistent format, ready to import directly into the CMS routing field.
What If the Data Is Not Quite Ready
Some summaries are very short — 20 words or less
For each article summary in column A, if the text is under 25 words, combine it with the article title in column B before sending to TextRazor IPTC classification. Write the primary topic label and score into columns C and D.
The CMS expects the numeric IPTC code, not the label
Classify each summary in column A using TextRazor's IPTC media topics taxonomy, write the primary topic label into column B and the numeric IPTC code into column C. Use the TextRazor response's subject code field.
Articles span multiple IPTC categories and you need all of them above a threshold
For each summary in column A, classify it using IPTC media topics and write all topic labels with a confidence score above 0.5 as a comma-separated list into column B, and their corresponding scores into column C.
Full kill chain: deduplicate, classify, validate
Remove duplicate article summaries from column A (keep the first occurrence), classify the remaining rows with TextRazor IPTC media topics, write the top two topic labels and scores into columns B through E, and add a 'Topic Distribution' sheet showing each unique topic label, how many articles it covers, and the average confidence score — sorted by article count descending.
Collapsing the deduplication and the classification into one ask means the output is clean for import without a separate review step.
Try It
Get the 7-day free trial of SheetXAI and open the Google Sheet with your article summaries waiting for IPTC codes. Ask SheetXAI to classify every row and write the topic labels and scores into the columns your CMS import is expecting. If your CMS also needs IAB categories, the IAB classification spoke covers that workflow.
