Create spreadsheets & documents with Agno
In Agno (formerly Phidata), any Python function can be a tool. Pass your create_spreadsheet function to an Agent and it can generate shareable spreadsheets as part of its response — Agno builds the schema from the function automatically.
Agno (Python)
import requests
from agno.agent import Agent
from agno.models.openai import OpenAIChat
def create_spreadsheet(title: str, rows: list) -> str:
"""Create a shareable spreadsheet (first row = header). Returns a URL."""
r = requests.post(
"https://openofficeai.com/api/v1/sheets",
headers={"Authorization": "Bearer YOUR_API_KEY"},
json={"title": title, "sheets": [{"rows": rows}]},
)
return r.json()["url"]
agent = Agent(
model=OpenAIChat(id="gpt-4o"),
tools=[create_spreadsheet],
markdown=True,
)How to create a spreadsheet with Agno
- 1Write a create_spreadsheet function that returns the url.
- 2Pass it directly in the Agent's tools list.
- 3Run agent.print_response("...") or agent.run(...).
- 4The agent calls the tool and shares the link.
Why use OpenOfficeAI with Agno
- Plain functions are tools — no wrapper boilerplate.
- Model-agnostic; swap OpenAI, Anthropic, or others.
- Great for fast, lightweight agent prototypes.
Frequently asked questions
Do I need to wrap the function in anything?
No. Agno accepts plain Python functions in the tools list and builds the tool schema from the signature and docstring. A clear docstring improves call accuracy.
Can I combine it with other Agno tools?
Yes. Add it alongside Agno's built-in toolkits (web search, etc.) so the agent can research and then export results to a shareable sheet.
Does it work in a multi-agent team?
Yes. Give the tool to the specific agent responsible for output, and the team can hand off to it when a document needs to be produced.
Start creating documents with Agno
Free tier includes 500 API calls per month — no card required.