7-Day Agenda in Python
Welcome to the code review community. The code looks clean, and follows the PEP8 style guide. Here are a few suggestions/modifications you can make though:

Do not use global variables.

Instead of calling agenda() at the end, put it inside the if __name__ block.

Since you're working with python 3.8+, you may also add type hinting for function arguments.

For user input/validation, you can make use of a while loop:
 from typing import List

 def read_user_input_from_options(message: str, valid_inputs: List = None):
     &quot;&quot;&quot;
     Show `message` in the console while asking for user input.

     If `valid_inputs` is not provided, returns the value from user as is.
     &quot;&quot;&quot;
     if valid_inputs:
         valid_inputs = map(lambda x: x.upper(), valid_inputs)
     while True:
         user_input = input(message)
         if not valid_inputs:
             return user_input
         user_input = user_input.upper()
         if user_input in valid_inputs:
             return user_input
         print(&quot;Invalid option chosen. Try again.&quot;)

The above is an example suited for your case, where all the input option you need are capitalised alphabets. It can be extended to support other validators as per requirements.

Use multiline strings. Makes it more readable. It is more a personal preference than rules to live by.

You can map the option to a function call (see below):
 def quit_program():
     print(&quot;Have a nice day!&quot;)
     return


 def main():
     OPTION_TO_FUNCTION = {
         &quot;A&quot;: look_at_agenda,
         &quot;B&quot;: create_task,
         &quot;C&quot;: clear_list,
         &quot;D&quot;: quit_program,
     }
     option = read_user_input_from_options(
         &quot;&quot;&quot;
         What would you like to do?
         A - look at agenda
         B - create task
         C - clear list
         D - quit
         &quot;&quot;&quot;,
         valid_inputs=[&quot;a&quot;, &quot;b&quot;, &quot;C&quot;, &quot;d&quot;],
     )
     return OPTION_TO_FUNCTION[option]()

where main is the function called from inside your if __name__ == &quot;__main__&quot; block.

Make use of a class to keep the state of current execution. This would accompany my point about avoiding globals as well.