How to Automate Supply Chain Risk Reports: A Guide for Developers

How to Automate Supply Chain Risk Reports: A Guide for Developers

If you’re a developer, especially for an automated platform company, this guide is for you. It walks you through a script we created to generate supply chain risk reports automatically. Creating these reports manually takes a lot of time and energy — something few developers have. However, you can automate the report generation process with AI and some scripting. You can find links to download the script file and related materials at the bottom of this guide.

What you’ll need to run the script

News Data — You should obtain news data from a reliable source. For this guide, we’re getting the data from the News API. It provides structured news data feeds in 170+ languages from millions of news sites. 

You need an API key to use the News API, and you can get one by contacting

  • OpenAI API — You’ll use OpenAI’s API to leverage the GPT-4 and DALL·E models. GPT-4 analyzes and summarizes the text from customer reviews, while DALL·E generates a main image for the report. 
  • You also need an API key for the OpenAI API. Create an account or sign in at OpenAI to get a key. OpenAI uses pay-per-use pricing for its language and image models. You can see the price points on the OpenAI website.

Python — We’re using Python to automate the report creation process. You’ll need to ensure you can run Python code on your machine.

Automating supply chain risk reports: script breakdown

The script fetches news articles from the News API. Next, the script calls the OpenAI API, using its text model to analyze the articles for content related to supply chain risk. It then creates a structured report for each article, outputting its findings into a Word document. The script uses the OpenAI image model to generate a main image for the report. The script combines all these elements into a completed supply chain risk report contained in the Word document.

How and Chat GPT can help you automate your supply chain risk reports

Here is the detailed breakdown of the script:

Import packages and modules

First, the script imports the Python packages and modules, the OpenAI Python API library, and other necessary components.

Set global variable and access API keys

Next the script accesses the API keys ( and OpenAI) through the development environment. It also includes a global variable where you can set the number of articles the script will generate a report on.

Orchestrate entire process (main)

Towards the end of the script, you’ll see the “main” function. It orchestrates the entire process — from reading the news articles and generating reports for each one to creating a main report image to finalizing the Word document.

Define functions

Now we define the different functions of our script:

Fetch news articles from (def fetch_articles)

Makes a call to the News API to get articles with content related to supply chain risk.

Remove duplicate posts (get_unique_posts_from_webz)

Removes duplicate posts in case they exist.

Look for similar strings (are_similar)

Checks if two strings are similar based on the Levenshtein ratio.

Remove similar articles (remove_similar_strings)

Eliminates duplicate content by removing articles based on similar strings.

Trim string (trim_string)

Makes sure a string isn’t longer than max_length .

Trim article title (trim_title)

Removes irrelevant text from the title. For example, if the real title includes “- CNN News” the script will remove this phrase.

Send prompt (call_gpt_completion)

Sends a prompt to the GPT-4 model and receives a response.

Review articles and generate reports (generate_reports)

Goes through articles pulled from the News API to determine if any contain content related to supply chain risk. If an article does mention a supply chain risk, the script generates a report for it.

Generate title (generate_title)

Creates a title for the supply chain risk report.

Generate introduction (generate_intro)

Generates an introductory paragraph for the report.

HTML to formatted text (html_to_word)

Converts HTML content to formatted text in a Word document. It handles bold text and bullet lists.

Add hyperlink (add_hyperlink)

Inserts a hyperlink into a Word document paragraph.

Add title placeholder (insert_titles_in_text)

Adds a placeholder for inserting the titles.

Generate image (generate_article_image)

Generates a main image for the report using OpenAI’s DALL-E model with a specific prompt.

Download image (add_image_from_base64)

Downloads an image from a URL and adds it to a Word document.

Create Word doc (create_word_doc)

Assembles the various components into a formatted Word document.

AI + Python = a powerful automation tool

This script demonstrates an advanced use case of integrating AI-powered analysis and content generation with document automation in Python. It’s a comprehensive example of how combining various Python libraries with AI models can produce a powerful automation tool.

Download the example code and report:

  • The full Python script.

To run the script:

  • Ensure that Python and the required Python libraries are installed on your machine.
  • Set your OpenAI API key in your development environment.
  • Set your News API key in your development environment.
  • Run the script.

Ready to automate supply chain risk reports for your organization? Talk to one of our experts today.

Spread the News

Not subscribed to our Dark Web Pulse updates?

By submitting you agree to's Privacy Policy and further marketing communications.

Feed Your Machines the Data They Need

Feed Your Machines the Data They Need

Subscribe to our newsletter for more news and updates!

Ready to Explore Web Data at Scale?

Speak with a data expert to learn more about’s solutions
Create your API account and get instant access to millions of web sources