# Getting Started with Mastra

Welcome to the first step of building your first Mastra agent! In this lesson, you'll learn how to create a simple agent that can read data from a public Google Sheet using a custom tool function.

## What is an Agent?

An agent is software with non-deterministic code that can make autonomous decisions based on inputs and environment rather than following fixed, predictable instructions every time.

Agents are AI systems that can:

- Perceive their environment through various inputs
- Make decisions based on those inputs
- Take actions to accomplish specific goals
- Learn and adapt their behavior over time

The best agents use several important features:

1. **Memory**: They remember past interactions and learn from them
2. **Planning**: They can break down complex tasks into smaller steps
3. **Tool use**: They can leverage external tools and APIs to expand their capabilities
4. **Feedback loops**: They can evaluate their own performance and adjust accordingly
