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

# Reasoning Agent

## Code

```python cookbook/apps/slack/reasoning_agent.py theme={null}
from agno.agent import Agent
from agno.app.slack.app import SlackAPI
from agno.models.anthropic.claude import Claude
from agno.tools.thinking import ThinkingTools
from agno.tools.duckduckgo import DuckDuckGoTools

reasoning_research_agent = Agent(
    name="Reasoning Research Agent",
    model=Claude(id="claude-3-7-sonnet-latest"),
    tools=[
        ThinkingTools(add_instructions=True),
        DuckDuckGoTools(
            search=True,
            news=True,
        ),
    ],
    instructions="Use tables to display data. When you use thinking tools, keep the thinking brief.",
    add_datetime_to_instructions=True,
    markdown=True,
)

slack_api_app = SlackAPI(
    agent=reasoning_research_agent,
    name="Reasoning Research Agent",
    app_id="reasoning_research_agent",
    description="A agent that can reason about research topics and current events.",
)
app = slack_api_app.get_app()

if __name__ == "__main__":
    slack_api_app.serve("reasoning_agent:app", port=8000, reload=True)


```

## Usage

<Steps>
  <Snippet file="create-venv-step.mdx" />

  <Step title="Set your API key">
    ```bash theme={null}
    export OPENAI_API_KEY=xxx
    ```
  </Step>

  <Step title="Install libraries">
    ```bash theme={null}
    pip install -U agno openai "uvicorn[standard]"
    ```
  </Step>

  <Step title="Run Agent">
    <CodeGroup>
      ```bash Mac theme={null}
      python cookbook/apps/slack/reasoning_agent.py
      ```

      ```bash Windows theme={null}
      python cookbook/apps/slack/reasoning_agent.py
      ```
    </CodeGroup>
  </Step>
</Steps>
