> ## Documentation Index
> Fetch the complete documentation index at: https://docs.pipecat.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Session Arguments

> Understanding the arguments received by bot entry points

When creating agents with Pipecat Cloud, your `bot()` entry point function receives different types of arguments depending on the session type. These classes represent the structure of those arguments.

## PipecatSessionArguments

Standard Pipecat Cloud agent session arguments, used for basic sessions.

```python theme={null}
from pipecatcloud.agent import PipecatSessionArguments

def bot(args: PipecatSessionArguments):
    print(f"Session ID: {args.session_id}")
    print(f"Custom data: {args.body}")
```

### Properties

<ParamField path="session_id" type="Optional[str]">
  The unique identifier for the current session.
</ParamField>

<ParamField path="body" type="Any">
  The custom data passed to the agent via the session parameters.
</ParamField>

## DailySessionArguments

Arguments for sessions that involve Daily WebRTC rooms for voice/video interaction.

```python theme={null}
from pipecat.runner.types import DailyRunnerArguments

def bot(args: DailyRunnerArguments):
    print(f"Session ID: {args.session_id}")
    print(f"Daily room URL: {args.room_url}")
    print(f"Daily token: {args.token}")
    print(f"Custom data: {args.body}")
```

### Properties

<ParamField path="session_id" type="Optional[str]">
  The unique identifier for the current session.
</ParamField>

<ParamField path="room_url" type="str">
  The URL for the Daily room.
</ParamField>

<ParamField path="token" type="str">
  The authentication token for the Daily room.
</ParamField>

<ParamField path="body" type="Any">
  The custom data passed to the agent via the session parameters.
</ParamField>

## WebSocketSessionArguments

Arguments for sessions that use WebSocket connections for real-time communication.

```python theme={null}
from pipecat.runner.types import WebSocketRunnerArguments

async def bot(args: WebSocketRunnerArguments):
    print(f"Session ID: {args.session_id}")
    await args.websocket.send_text("Hello from the agent!")
```

### Properties

<ParamField path="session_id" type="Optional[str]">
  The unique identifier for the current session.
</ParamField>

<ParamField path="websocket" type="WebSocket">
  The FastAPI WebSocket connection used to communicate with the client.
</ParamField>
