Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.chainlit.io/llms.txt

Use this file to discover all available pages before exploring further.

Ask for the user to take an action before continuing. If the user does not answer in time (see timeout), a TimeoutError will be raised or None will be returned depending on raise_on_timeout parameter. If a project ID is configured, the messages will be uploaded to the cloud storage.

Attributes

content
str
The content of the message.
actions
List[Action]
The list of Action to prompt the user.
author
str
default:"config.ui.name"
The author of the message, defaults to the chatbot name defined in your config.
timeout
int
default:90
The number of seconds to wait for an answer before raising a TimeoutError.
raise_on_timeout
bool
default:false
Whether to raise a socketio TimeoutError if the user does not answer in time.

Returns

response
AskActionResponse | None
The response of the user.

Example

import chainlit as cl


@cl.on_chat_start
async def main():
    res = await cl.AskActionMessage(
        content="Pick an action!",
        actions=[
            cl.Action(name="continue", payload={"value": "continue"}, label="✅ Continue"),
            cl.Action(name="cancel", payload={"value": "cancel"}, label="❌ Cancel"),
        ],
    ).send()

    if res and res.get("payload").get("value") == "continue":
        await cl.Message(
            content="Continue!",
        ).send()