Elements
TaskList
The TaskList
class allows you to display a task list next to the chatbot UI.
Attributes
status
str
The status of the TaskList. We suggest using something short like “Ready”, “Running…”, “Failed”, “Done”.
tasks
Task
The list of tasks to be displayed in the UI.
Usage
Code Example
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_id = 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()
Task List in action
Was this page helpful?