The TaskList class allows you to display a task list next to the chatbot UI. Attributes
The status of the TaskList. We suggest using something short like “Ready”, “Running…”, “Failed”, “Done”.
The list of tasks to be displayed in the UI.
Usage
The TaskList element is slightly different from other elements in that it is not attached to a Message or Step but can be sent directly to the chat interface. import chainlit as cl @cl.on_chat_start async def main(): # Create the TaskList task_list = cl.TaskList() task_list.status = "Running..." # Create a task and put it in the running state task1 = cl.Task(title="Processing data", status=cl.TaskStatus.RUNNING) await task_list.add_task(task1) # Create another task that is in the ready state task2 = cl.Task(title="Performing calculations") await task_list.add_task(task2) # Optional: link a message to each task to allow task navigation in the chat history message = await cl.Message(content="Started processing data").send() task1.forId = message.id # Update the task list in the interface await task_list.send() # Perform some action on your end await cl.sleep(1) # Update the task statuses task1.status = cl.TaskStatus.DONE task2.status = cl.TaskStatus.FAILED task_list.status = "Failed" await task_list.send()