Boosting Project Management Efficiency with ChatGPT: Automating Repetitive Tasks

Boosting Project Management Efficiency with ChatGPT: Automating Repetitive Tasks

In our previous article, we introduced how ChatGPT can help boost project management efficiency. Today, we dive deeper into the first idea: automating repetitive tasks.

As project managers, we know the importance of streamlining workflows and eliminating tedious tasks. In this article, I present a practical example of automating scheduling recurring meetings on Google Calendar with the help of ChatGPT. I will explain why automating this process brings efficiency and cost reductions and walk you through how to achieve it step-by-step. Using our own use case of automating the Global Steering committee scheduling, I showcase how ChatGPT can assist in complex and time-consuming scheduling processes. Join us on this journey as we explore how ChatGPT can assist AI4mgmt in managing complex scheduling tasks.

Before we start

Before we begin, it's important to note that this article is divided into two parts. In the first part, I explore how ChatGPT can assist in scheduling meetings in complex situations where clients and teams are scattered around the globe, and you're juggling multiple projects. You must navigate varying time zones, working hours, and even national holidays. Automating these processes can dramatically enhance efficiency and accuracy, even in these complex scenarios.

In the second part, I go into the automation of the process through the use of programming code.

I have some experience in programming, which helped me in automating the process with the help of ChatGPT and Visual Studio.

If you're not familiar with programming, you can skip this section or suggest it to your IT team.

Regardless of your experience level, I hope that you'll find this article helpful in improving your project management efficiency when dealing with repetitive tasks such as scheduling meetings.

Application Programming Interfaces

In this article I present a practical scheduling automation example where I used google calendar API (Application Programming Interfaces) to automate the creation of events in google calendar. I you would like to go through the entire process you will need to configure some elements such as API keys.

Using google calendar API

To integrate with Google Calendar, you will need to obtain an API key from the Google Cloud Console and authorize your application or code to access your calendar. Once you have set up the API key, you will be able to generate appropriate instructions using ChatGPT to create and manage events on your calendar, as well as retrieve information about existing events.

Automate scheduling recurring meetings on Google Calendar

Automating the scheduling of recurring meetings on Google Calendar reduces the need for scheduling organization or coordination efforts. These recurring meetings can occur at various intervals—daily, weekly, monthly, or otherwise—with a fixed or flexible duration. By leveraging automation, you can enhance schedule awareness among all participants, minimize the risk of schedule conflicts or missed meetings, and streamline the administrative tasks associated with calendar management.

Bringing efficiency and costs reductions

Automating the scheduling of recurring meetings on Google Calendar, or other scheduling tools such as Microsoft teams, can bring significant efficiency and cost benefits to your organization by eliminating the need for manual scheduling, rescheduling, and reminders.

Automating the scheduling of meetings can significantly increase efficiency by minimizing errors and saving time. This is particularly valuable when dealing with large teams, multiple time zones and countries, and accounting for national holidays and local working hours.

In addition to the time savings, automating recurring meetings can also help to reduce costs associated with travel or other expenses. By allowing participants to join meetings from anywhere with an internet connection, the need for expensive travel and lodging can be reduced or eliminated.


By reducing the administrative workload and streamlining the scheduling process, you and your team can focus on higher-value activities that drive growth and profitability for your organization.


Things you need to know

At present, the chatbot interface for ChatGPT does not offer direct integration with external tools. However, in a TED Talk, Greg Brockman, President, and Co-Founder at OpenAI, discussed the potential for using OpenAI APIs to enable such integration in the future, which could further increase efficiency.

In the meantime, tools such as Zapier can be used to automate tasks with ChatGPT, although I have not personally used it. Future articles could explore how tools like Zapier can be used to automate tasks and improve productivity when working with ChatGPT.

The challenge for AI4mgmt: Global Steering committee scheduling

In our use case at AI4mgmt, our project manager is tasked with coordinating steering committees for three international clients: Acme Corp, Big Industries, and Auto Motors, each situated in a different country. These steering committees involve participants from both our team and the client's.

The challenge lies in coordinating these meetings, as it's not just about the participants' availability. The project manager must also factor in differing time zones, local working hours, and national holidays. This manual coordination is a laborious task, requiring meticulous cross-referencing of calendars and introducing the potential for errors or oversights."

interacting with chatGPT: providing your data

What worth to have a powerful assistant if he doesn't know the context of your request? Well it is the same with chatGPT.

First you will need to prepare all the data chatGPT will use for scheduling. In our case the data describes ai4mgmt company, the clients, the projects, and some information about the regional configuration.

I could just provide a plan text as ChatGPT understand natural language like "ai4mgmt is a company that provides ai services and tools and has 4 clients in different countries" but as you can see from my use case, there is a lot of information that should be provided.

My strategy was to use a method that provides labels and values in a structured manner called JSON.

JSON stands for JavaScript Object Notation. It is a lightweight data interchange format that is easy for humans to read and write and easy for machines to parse and generate.

JSON has become a popular format for exchanging data between web servers and clients because it is language-independent and easy to parse. It is also used for storing and transmitting data in many other contexts, such as configuration files and API responses.

A typical JSON object consists of curly braces enclosing a set of key-value pairs, with keys and values separated by a colon and pairs separated by commas. For example:

No alt text provided for this image

In this example, 'name', 'age', and 'city' are the keys, and 'John Doe', 30, and 'New York' are the corresponding values.

Another option is to use a spreadsheet application tool, such as Google Sheets or Microsoft Excel, and save the output in CSV format.

CSV stands for Comma-Separated Values, and it is a simple and widely used format for storing and exchanging tabular data. In a CSV file, each line represents a single record or row of data, and the values within each record are separated by commas.

CSV files are text files, which means they can be opened and edited in any text editor or spreadsheet program. Each row of data is represented as a separate line in the file, and the values within each row are separated by commas. The first line of the file typically contains the column headers, which describe the data in each column.

For example, a CSV file containing information about employees might look like this:

No alt text provided for this image

In this example, the first line of the file contains the column headers: Name, Title, Department, and Salary. Each subsequent line represents a record or row of data, with the values for each column separated by commas.

Using JSON or CSV format to organize your data can ensure that ChatGPT has all the necessary information to make accurate and efficient scheduling decisions.

As previously discussed, the web interface used to interact with chatGPT has some limitations in term of text to be pasted. To avoid this limitation, I use multiple “files”, one for each set of information (company information, client information, project information, project information and regional information. Below, you can see an example of the company information I built.

No alt text provided for this image

Then I start a new chat and provide each set of information, here is an example of the answer chatGPT provides:

No alt text provided for this image
If you need to send a large amount of data to chatGPT, you may need to review your strategy to ensure that the UI doesn't truncate your information!

Additionally, it's important to note that the tool uses tokens to process text, some sort of method to evaluate how much ressources it will need to process your requests. A token can be described as a way to group common sequences of characters found in text.

It is important to keep in mind that you have a limitation in the number of tokens a chat session can process as they can make the difference between succeeding or failing to provide the right answers.

To help you determine how many tokens you are using, you can use the OpenAI tokenizer, which counts the number of tokens in your text. By keeping these limitations and tokenization in mind, you can better prepare your data and optimize the use of ChatGPT. The calculator can be accessed through the following link: https://platform.openai.com/tokenizer.

No alt text provided for this image
A tip for technical users: if you plan to copy and paste JSON data into the chatbot interface, it is recommended to first convert it to a string format. This can significantly reduce the number of tokens used. In my case, I was able to reduce the number of tokens by more than three times!?

Keep in mind that the more information you provide, the higher the risk of unexpected results. It's important to balance the amount of data provided with the desired outcome.

Once the information is stored, I proceed with some questions to ensure that the tool has correctly stored and assimilated the data I provided:

The following list of questions were used for control purposes


[Q]

  1. How many projects AI4mgnt has in 2023?
  2. What is the frequency of the steering committees and who should assist?
  3. What is project information for each project?
  4. How many steering committees should be scheduled in 2023 for each client?
  5. Which timezones apply for AI4mgmt and each of its clients?
  6. How many steering committees should Guillermo schedule in his agenda for 2023?
  7. As Guillermo is the PM for all projects how many steering committees should he schedule in his agenda for 2023?

No alt text provided for this image
From my experience and for this particular context, it seemed that asking control questions adds to the accuracy in later answers. This assumption is pure empirical and should be confirmed either by clear facts or by experience.

Once the answers prove the data has been correctly stored, I can proceed with the objective


[Q] Could you provide a scheduling proposal to include all 12 steering committees in 2023 Guillermo Blanco should plan in his agenda. your answer should include ai4mgmt and the client timezones. For each committee include an event sequence, date (YYYY-MM-DD format), time, title, mandatory participants name and email for all 4 clients. Conditions to meet:

  1. Use “regional_information” to avoid “national_holidays”,
  2. Use “regional_information” and “timezone” to avoid participating during non-working hours for all participants. Provide the result for events 1 to 4

No alt text provided for this image

[Q] Can you summarize in a table format the meetings showing the sequence, client name, date, time, timezones and participants. provide me the result for events 1 to 4

No alt text provided for this image

[Q] Provide a json format include the client name, the project name, the steering committee title, the date, the time and the associated timezone. chunk the answer by client. lets start with client 1

No alt text provided for this image
After multiple trials, I found it useful to separate in two chat sessions the scheduling proposal provided by ChatGPT from the actual creation of events in Google Calendar.

This way, even if you do not have the knowledge or tools to automate the process, you can still benefit from the scheduling assistance of ChatGPT by using the proposed information to manually create the events in Google Calendar or other planning tools.


New CHAT that starts by providing the new json information including the events.


[Q] Could you provide the code Guillermo can run to create the events using google calendar API. include the participants as well: Lets start with events 1 and 2 (to avoid truncated answers)

No alt text provided for this image

And so on until event 12 is provided

No alt text provided for this image

Automating the event creation through external tools

Automating the event creation process through external tools can be a more complex task that requires programming knowledge. However, there are solutions available to simplify the integration process, such as Zapier, Integromat (that has recently evolve into Make), or Dialogflow, which provide custom-made solutions for integrating with OpenAI APIs. These tools can help streamline the automation process and reduce the technical expertise required to integrate with ChatGPT. As a disclaimer I have not used those options so far and I can’t provide any opinion on them.

APIs, or Application Programming Interfaces, provide a structured and standardized way for different software applications to communicate and exchange data.

For example, if you use a weather app on your smartphone, the app may use an API to retrieve the latest weather data from a server such as the current temperature, humidity, and wind speed.

ChatGPT provides us with some information on how to:

No alt text provided for this image

Furthermore, I asked to list some companies that provide similar services, which could simplify the integration process for automating event creation through ChatGPT. This information could be helpful for those who want to explore external tools and streamline the process.

No alt text provided for this image

I used the Python code provided by ChatGPT and slightly modified it to call the Google Calendar API using Visual Studio Code. However, it is important to mention that this is just one possible method for automating event creation and that there are other languages and methods that can be used.

No alt text provided for this image

To show how simple the automation is, I took a before and after screenshots of Guillermo’s calendar for AI4mgmt:

No alt text provided for this image

After running the Python script, which only required a single button click, the resulting events were created in Guillermo's Google Calendar as expected!

No alt text provided for this image
No alt text provided for this image

Furthermore, it is worth noting that the Python code used to automate the event creation process can be customized to include additional information. For instance, one could ask ChatGPT to include support documents or reminders in the event details, or manually add this information to the code after it has been generated. This flexibility allows for the automation process to be tailored to specific needs and preferences, enhancing its efficiency and effectiveness.

No alt text provided for this image

Wrap-up

In this article, we explored the first idea of improving project management efficiency with ChatGPT: automating repetitive tasks. I explained how to automate scheduling recurring meetings on Google Calendar and discussed its benefits in terms of time and cost savings.

I also shared practical insights on what you need to know before using ChatGPT to automate tasks, and discussed a real-life challenge faced by ai4mgmt: the scheduling of the Global Steering Committee. I showcased how ChatGPT can help manage complex scheduling tasks and provided a step-by-step guide on how to put it all together with external tools to automate event creation. Overall, this section demonstrates how ChatGPT can assist in streamlining workflows and eliminating tedious tasks, ultimately leading to greater efficiency and cost reductions.

Final thoughts

My experience so far with ChatGPT has been both rich and dynamic. I have found it to be an invaluable tool for improving efficiency across various tasks, and while it can handle some repetitive and tedious work, I believe it should be seen as a complement to my own thought process, rather than a replacement.


While ChatGPT can quickly provide answers, such as shortening a paragraph by 15%, translating a text, or providing qualitative information based on facts, it cannot replace my own decision-making process. The way in which I present data, the problems I seek to solve, and how I guide its responses are still within my control.


Overall, ChatGPT has been extremely helpful in

  • providing feedback, simplifying the process of finding solutions, and presenting information in different formats.
  • It’s appreciable and I believe a game changer, the use of natural language to communicate with.
  • However, to maximize the benefits of using ChatGPT, it is important to clearly explain the request and intent behind it, as this allows the tool to provide more accurate and relevant responses.

It is worth to note that throughout my experience using ChatGPT, it never provided negative or unpleasant responses, no matter how many times I may repeat or request the same thing.

There are some areas that could benefit from improvement.

  • The current user interface has some limitations that can reduce the efficiency of the experience by limiting the extent of input data.
  • Additionally, while the use of tokens has a huge impact on the performance of the tool, it is not always clear how they should be used, which requires an optimization strategy for more complex tasks.
  • The necessity to clearly explain the request can be time-consuming and may require changing the interaction, like working with outsourced services.
  • Some of the answers provided by ChatGPT can be inconsistent and frustrating.
  • Lastly, the double-checking process is not used, which can result in some answers being incorrect and requires verification and correction.

Throughout this series of articles, I will revisit and refine the conclusions drawn here.

When used properly, AI tools such as ChatGPT can enhance our decision-making processes and help us work more efficiently.
Maria Fernanda Blanco H.

General Manager at Banco de Bogota

1 年

Gracias, muy interesante cómo IA llega para apoyar tareas tediosas, como mucho consumo de tiempo y no necesariamente con valor agregado productivo

回复

要查看或添加评论,请登录

Guillermo Blanco的更多文章

社区洞察

其他会员也浏览了