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

# Clients

## What is a Client?

A Client connects your agent to real-world input and output sources. It delivers [Messages](https://github.com/galadriel-ai/galadriel/blob/main/galadriel/entities.py#L11) to your agent and routes responses to their destination.

A Client can be one (or both) of:

* **Input (AgentInput)**: Provides messages to the agent.
* **Output (AgentOutput)**: Sends the agent's responses to their destination.

This design allows your agent to integrate seamlessly with a wide range of sources, from scheduled tasks (like cron jobs) to interactive platforms (like Discord bots).

## Adding Clients to Your Agent

### Prerequisites

If you don’t have an already working agent built with Galadriel, please go through the [quick start](/galadriel-network/get-started/quickstart).

### Gradio Client Example

Clients connect to [AgentRuntime](/galadriel-network/concepts/runtime), which manages how the agent processes inputs and returns results.

```python theme={null}
import asyncio
from galadriel import AgentRuntime, CodeAgent
from galadriel.clients import GradioClient
from galadriel.core_agent import LiteLLMModel, DuckDuckGoSearchTool

model = LiteLLMModel(model_id="gpt-4o", api_key="<YOUR_OPENAI_API_KEY>")

agent = CodeAgent(model=model, tools=[DuckDuckGoSearchTool()])

gradio_client = GradioClient()

runtime = AgentRuntime(
    agent=agent,
    inputs=[gradio_client],
    outputs=[gradio_client],
)

asyncio.run(runtime.run())
```

### Supported Clients (or Build Your Own)

We currently provide built-in support for:

* Discord
* Telegram
* Gradio
* Terminal
* Cron
* SimpleMessageClient
* Twitter

Visit our [Clients](/galadriel-network/integrations/clients) to learn more about using these clients or creating your own.

## Conclusion

Clients allow you to plug your agent into the real world with minimal effort. Need an AI that interacts via Discord, Slack, email, or webhooks? Just write a Client that conforms to `AgentInput` and `AgentOutput`, and you're good to go.

## See Next

* [Out-of-the-box client integrations](/galadriel-network/integrations/clients)
* [Deep dive into Tools](/galadriel-network/tutorials/tools)

Happy coding! 🚀
