Polka

Early preview · Business

Your team's AI agents, in one place.

Build agents as code in your own repository. Your people use them in an app of their own, you watch them on dashboards you configure, and every model call goes through one gateway you control.

$5 of usage to try it. No sales call.

Today · Lily's Bakeryexample
1,218 conversations today
  • Front deskYour website · talk and chat1,044 customers
  • Data agentPostgres · read-only128 questions
  • Bug hunterGitHub and Sentry37 bugs
  • Note-takerGoogle Meet, notes to Notion9 meetings

One place for your agents

Build it once. Your whole team uses it.

An app for your people, a dashboard for what the agents are doing, and a gateway for every model call. All from the agent's code.

Your team's app

Your people get an app of their own.

They sign in at your workspace's address, pick an agent and ask. They get the answer with the steps the agent took and the links it used, can approve what it asks to do, and can call it. You choose who is in, what each agent is open to, and how much each person may use. A log shows what each person did, never what they said.

The team app: a person asks an agent a question and gets an answer with its steps and sources

Dashboards

A dashboard you configure in code.

Declare the widgets next to the agent: a report from its last run, recent runs, counts, tables of what it handled, a form that starts a job, links and shortcuts. One agent's page can cover several agents, so a desk can show your whole project. Reports can refresh by themselves, and nothing of yours runs when someone looks.

An agent's dashboard: counts, recent runs, a report with a table and a chart

The gateway

Every model call, through one door you control.

One OpenAI-compatible address for your apps, your scripts and your agents. See every call, set spend limits, and bring your own OpenAI or Anthropic key so their models go through it too.

The gateway's log: each call with its model, who made it, tokens, cost and duration

Playground

Try any model, or put three side by side.

Send one message to every panel and read the answers together, with what each used and cost. Every turn is a real call through the gateway, so it is in the log.

The playground: two models answering the same question side by side, each with its tokens, time and cost

Jobs for an agent

Give it a real job, not a chat box.

Whatever you connect it to, it can work with. Here are four jobs teams hand to their agents.

Bug hunter

It reads the bug report, and finds what broke.

Point it at a GitHub issue. It looks through the errors in Sentry and the recent changes to your code, finds the one that broke things, and writes it up on the issue.

acme/shop · Issues2 min

Checkout button does nothing on Safari #482

Opensupport opened this · 3 customers reported it

sentry.search_issues · checkout310 ms

github.list_commits · checkout.js220 ms

bug-hunter bot commented

Found it. Since commit a41f9c2 (“New payment form”), checkout uses a browser feature that Safari 15 doesn't have. 212 errors since Monday, all on Safari 15. Suggested fix and the error trace below.

Data agent

Ask your database a question, in plain words.

Connect it to your database. It writes the query, runs it, and answers with a chart, and the query is right there to check. Give it read-only access, and that's all it gets.

Data agent · production replicaread-only

Which plan are new customers picking? Last three months.

SELECT date_trunc('month', created_at) AS month,
       plan, count(*) AS signups
FROM accounts
WHERE created_at >= now() - interval '3 months'
GROUP BY 1, 2 ORDER BY 1;

postgres.query · 1,904 rows420 ms

48%Aug
54%Sep
61%Oct

More and more pick Pro: 61% in October, up from 48% in August. The query is above, so you can check it.

Front desk

Every customer answered, any hour.

One line on your website, and customers can talk or type to it. It answers from what your team wrote down, and looks up orders in your own systems.

Coco · Lily's Bakery

Is my lemon cake ready for pickup?

Yes! It was boxed at 2. We're open until 6.

Can I add ten candles?

Done, ten candles are on your order.

Tap to talk

Note-taker

On every call, so nobody has to take notes.

It joins Google Meet, answers when someone asks it something, and writes the notes where your team keeps them.

Supplier call · Google Meet11:00
Lena
Omar
Lena's agent

Omar: How many Hearth & Co orders are still open?

Lena's agent: Three, the oldest from Tuesday. Want me to read them out?

notion.create_page · Supplier call notes320 ms

Connects to your tools

If your team uses it, an agent can too.

Code, databases, support, payments, docs. Plug in any app with an MCP server, or write a tool in a few lines of your own code.

Reach it from anywhere

One agent, every way in.

The same agent answers on a call, in a chat, in a meeting and on your website, and keeps one record of it all.

Built your way

Every agent is code you own.

Its instructions, its tools, its data and its tests live in your GitHub, next to the rest of your code. Every change is reviewed and versioned, and nothing edits it behind your back.

agent.config.ts
export default defineAgent({
  name: "Bug hunter",
  params: {
    instructions: "Find what broke. Show the evidence.",
    tools: {
      mcp: [
        { name: "github", url: "https://mcp.you.dev/gh",
          headers: { Authorization: "Bearer ${GH_TOKEN}" } },
        { name: "sentry", url: "https://mcp.you.dev/sentry" },
      ],
    },
  },
});

Ships like a website

Push, try it, go live.

Every push makes a new version and runs your tests on it. Try it before customers do. One click makes it live, one click takes it back.

  1. Push
  2. Build
  3. Test
  4. Live
  • a41f9c2Look things up through MCPtests 12/12production
  • 7be03d1Keep answers shorttests 11/11
  • 19ce8a0First versionrolled back

Safe and see-through

You can see everything it did.

Every conversation is recorded: what was asked, which tools it used, what came back, how long it took and what it cost.

Time to first word · last 12 turnsexample
  • Heard"What needs me today?"0.3 s
  • Usedcalendar.list_events210 ms
  • Usedgmail.search180 ms
  • Said"Two things: Hearth & Co, and Omar's invoice."0.9 s

Safe to let near your systems.

Questions.

How does my team use an agent?

In an app of their own at your workspace's address. They sign in (a code to their email, or their existing account), pick an agent, and ask. They get the answer with its steps and sources, can confirm what the agent asks to do, and can call it. You choose who is in, what each agent is open to, and how much each person may use.

What is the dashboard?

A page you declare in the agent's code: a report from its last run, recent runs, counts, tables of what it handled, a form that starts a job, links and shortcuts. It is filled from what the agents already did, never by running your code when someone looks, and one agent's page can cover several agents of the same project.

What is the gateway?

One OpenAI-compatible address for model calls, with keys, prices, a log of every call, spend limits and a playground. Use it from your own apps, your scripts and your agents. Bring your own OpenAI or Anthropic key and their models go through it too, billed by the provider.

What exactly is an agent?

An AI helper your team builds in code: its instructions, the tools and data it can use, and its tests, in a GitHub repository. Polka runs it, lets people reach it from anywhere, and records everything it does.

Can it really fix bugs or write SQL?

It can investigate: read the errors, the code and its history, and write up the cause and a fix. Pointed at a database, it writes the query, runs it, and shows you both. What it may touch is up to you: give it read-only access, and that's all it gets.

Will it make things up?

It answers from what it looks up, and shows you where each answer came from. Your team can test it against real questions before it goes live.

What happens when it's busy?

Every conversation runs on its own, so a busy hour doesn't make anyone wait. How many can start each minute depends on your plan.

Can it take phone calls or Slack messages?

Not yet: phone, Slack, WhatsApp and Telegram are next. Today it works by voice and chat in the browser, in Google Meet, on your website and through the API. It can already post to Slack as one of its tools.

What's the first job you'd give an agent?

Pick one. Connect the tools it needs, push it, and put an agent on it.

Start free