Build · Observe · Automate · Ship
AI Agents
AI Agents
AI Agent Engineering Platform for development, observability, evaluation, and deployment in one place.
Core
Open Source TypeScript FrameworkEverything you need to build production-ready AI agents in TypeScript.
MemoryRAGGuardrailsToolsMCPVoiceWorkflowand more...
import { VoltAgent, Agent } from "@voltagent/core";
import { honoServer } from "@voltagent/server-hono";
import { openai } from "@ai-sdk/openai";
const agent = new Agent({
name: "my-voltagent-app",
instructions: "A helpful assistant that answers questions",
model: openai("gpt-4o-mini"),
});
new VoltAgent({
agents: { agent },
server: honoServer(),
});
VoltOps Console
Cloud / Self-Hosted PlatformEnterprise-grade platform to take AI agents from development to production.
Create production-ready AI agents in minutes with type-safe TypeScript APIsDocs

import { openai } from "@ai-sdk/openai";
import { Agent, VoltAgent, createTriggers } from "@voltagent/core";
import { createPinoLogger } from "@voltagent/logger";
import { honoServer } from "@voltagent/server-hono";
import { weatherTool } from "./tools/weather";
const logger = createPinoLogger({ name: "with-slack", level: "info" });
const slackAgent = new Agent({
name: "slack-agent",
instructions: "You are a Slack assistant.",
tools: [weatherTool],
model: openai("gpt-4o-mini"),
});
new VoltAgent({
agents: { slackAgent },
server: honoServer(),
logger,
triggers: createTriggers((on) => {
on.slack.messagePosted(async ({ payload, agents }) => {
const event = (payload as SlackMessagePayload | undefined) ?? {};
const channelId = event.channel;
const threadTs = event.thread_ts ?? event.ts;
const text = event.text ?? "";
const userId = event.user ?? "unknown-user";
if (!channelId || !text) {
logger.warn("Missing channel or text in Slack payload");
return;
}
await agents.slackAgent.generateText(
`Slack channel: ${channelId}\n` +
`Thread: ${threadTs ?? "new thread"}\n` +
`User: <@${userId}>\n` +
`Message: ${text}\n` +
`If the user asks for weather, call getWeather.`
);
});
}),
});
