Tower
Brad Heller

Make Every Agent a Data Agent

Make Every Agent a Data Agent

Agents become dramatically more useful when they can work with up-to-date company data. They can answer questions, investigate changes, and turn an idea into a decision in seconds. When everyone in your company has this capability, your business operates at the speed of thought.

But getting there is harder than it sounds. Company data is spread across databases, SaaS tools, files, and APIs, it changes constantly, access differs from person to person, and everyone needs to work from the same trusted version. Connecting each agent directly to each source creates a mess of credentials and permissions that is difficult to govern and nearly impossible to audit consistently.

Tower provides a governed data layer between your company's systems and the agents your teams already use. Today we're releasing the missing piece that makes that layer accessible to any skills-compatible agent: tower/agent-skills.

Theses skills teach every agent how to be a data agent.

npx skills add tower/agent-skills

Tower connects your tools and data to data analyst agents, copilots and coworkers, and internal tools

Tutorial: From ingestion to an answer

Here is what the workflow looks like when an agent takes a data request from ingestion through to a useful answer.

0. Create a (free!) Tower account and install the CLI

You need a Tower account, the CLI, and the skills:

# Get the Tower CLI installed on your laptop
pip install tower

# Login to your Tower account
tower login

# Add the Tower agent skills to your local environment
npx skills add tower/agent-skills

1. Builders ask for data

Open your agent (we used Claude Code but you can use any skills-compatible agent) and describe the data you want:

Ingest the last five years of Hacker News posts into my Tower lakehouse, start the backfill now, and schedule it to update every day.

Tower's skills take it from there. In this example, the agent built a Hacker News ingestion pipeline, tested it, deployed it to Tower, started the five-year backfill, and created a daily schedule.

The recording ends once the pipeline is running. The full five-year backfill continued on Tower and completed in about an hour.

2. Tower keeps it fresh

The agent kicked off the historical backfill immediately, and it also scheduled the same pipeline to fetch new Hacker News posts every day.

That is important for longer jobs. The one-hour backfill did not depend on a terminal process staying alive, and future scheduled runs use the same deployed pipeline. If a run fails, the agent can inspect the logs, update the app, and try again.

3. Analysts ask a question

Once data is in Tower, open your favorite agent and ask a question:

What are the top domains that post to HackerNews and how many posts have they made?

The agent found the Hacker News table in the Tower-managed lakehouse, wrote and ran the SQL, and returned the top 20 domains along with the query in under a minute. GitHub came out on top by a wide margin: 70,500 posts, more than YouTube's 46,665 and Wikipedia's 23,187 combined.

Tower's architecture

Tower separates the systems where data originates, the compute that moves and maintains it, the storage layer where it is governed, and the tools that query it. Agents get useful company context by going through Tower instead of connecting directly to every production system.

Tower's control plane, secure compute, open lakehouse, and credential vending provide governed data access to agents

Secure compute optimized for data workloads

Ingestion and maintenance jobs run on Tower's secure compute platform, not on an employee's laptop or inside a chat session. Tower gives those workloads the secrets and configuration they need at runtime, isolates environments, and provides scheduling, logs, monitoring, and retries. A long-running backfill can continue after the agent that started it disconnects, and the same deployed pipeline can keep the data fresh on a schedule.

Open storage, with querying at the edge

Data lands in Apache Iceberg tables on object storage. Tower can manage the lakehouse for you or work with your existing Iceberg catalog, so storage remains open and independent from any one query engine.

When an agent asks a question, the tower-data skill obtains short-lived, read-only access and uses DuckDB to query the lakehouse from the agent's environment. Compute happens at the edge, close to the agent, without requiring a dedicated warehouse cluster or copying the data into another proprietary system.

Governance across the whole platform

Tower governs both sides of the flow. On the write path, data teams control which pipelines can use source credentials, where they run, and which environments they can access. On the read path, each human or agent uses a Tower identity with scoped, short-lived credentials. Access can be granted or revoked centrally, and activity is logged so teams can see who accessed what and when.

A simpler governance model

Every new agent multiplies your governance problem. If you connect five agents to eight data sources, that means you're managing forty credential grants, forty permission models, and no single answer to "what did that agent read last Tuesday?" Tower collapses that grid to one pane of glass.

Your data team replicates enterprise data into a Tower-managed lakehouse, and that governed copy is the only thing agents ever touch. Tower provides one place to grant access, one place to revoke it, one log to audit. Your production systems are never on the other end of an agent's connection.

Govern what agents know, not just what they do

Most agent governance focuses on what agents can do: Call an API, send an email, or update a record. Tower also governs what agents know. Its read path determines who can see which data and for how long, with every access logged. Analysts and agents work with the same curated data through scoped, short-lived, read-only credentials, while ingestion runs separately on Tower's secure compute.

Governed without lock-in

That governance layer sits on open Apache Iceberg tables that any tool can access. Your data is not trapped inside a proprietary agent platform. Agents can use loads of tools to query it today, and you can use other Iceberg-compatible tools tomorrow.

Bring your own agent

Tower is not another chat-with-your-data app. It is the infrastructure that makes whichever agent your team already uses (Claude, Cursor, or anything else that supports skills) safe to point at company data. Your team keeps the tools and workflows it prefers because Tower provides the governed boundary between those agents and your data.

Try it

npx skills add tower/agent-skills

The skills are open source at github.com/tower/agent-skills, and issues and pull requests are welcome. You can find the Tower documentation at docs.tower.dev. If your team is figuring out how to give agents useful data access without giving up control, join our Discord community to chat or book a time to talk.