OAUTH 2.0
SPEND MANAGEMENT
Ramp gives your agent spend management for your Ramp business: review card transactions and receipts, manage bills, purchase orders, and vendors, issue cards and funds, track reimbursements and travel, and read AI spend by provider.
For more tools, view docs.
import { ScalekitClient } from "@scalekit-sdk/node";
import { createReactAgent } from "@langchain/langgraph/prebuilt";
const sk = new ScalekitClient(env.SCALEKIT_ENV_URL, env.SCALEKIT_CLIENT_ID, env.SCALEKIT_CLIENT_SECRET);
// Ramp tools scoped to this user
const { tools } = await sk.tools.listScopedTools("user_123", {
filter: { connectionNames: ["ramp"], toolNames: [
"ramp_transaction_list",
"ramp_receipt_list",
"ramp_memo_create"] },
pageSize: 100,
});
const agent = createReactAgent({ llm, tools });
await agent.invoke({ messages: [{ role: "user", content: "Find this week's card transactions over $1,000 that have no receipt" }] });import OpenAI from "openai";
import { ScalekitClient } from "@scalekit-sdk/node";
const sk = new ScalekitClient(env.SCALEKIT_ENV_URL, env.SCALEKIT_CLIENT_ID, env.SCALEKIT_CLIENT_SECRET);
const openai = new OpenAI();
const { tools } = await sk.tools.listScopedTools("user_123", {
filter: { connectionNames: ["ramp"] }, pageSize: 100,
});
const res = await openai.chat.completions.create({
model: "gpt-5",
messages: [{ role: "user", content: "Find this week's card transactions over $1,000 that have no receipt" }],
tools,
});
// Execute the tool call with the user's vaulted Ramp OAuth token
await sk.tools.executeTool(res.choices[0].message.tool_calls[0], "user_123");import Anthropic from "@anthropic-ai/sdk";
import { ScalekitClient } from "@scalekit-sdk/node";
const sk = new ScalekitClient(env.SCALEKIT_ENV_URL, env.SCALEKIT_CLIENT_ID, env.SCALEKIT_CLIENT_SECRET);
const anthropic = new Anthropic();
const { tools } = await sk.tools.listScopedTools("user_123", {
filter: { connectionNames: ["ramp"] }, pageSize: 100,
});
const msg = await anthropic.messages.create({
model: "claude-sonnet-5",
max_tokens: 1024,
messages: [{ role: "user", content: "Find this week's card transactions over $1,000 that have no receipt" }],
tools,
});
// Tool call runs with the user's vaulted Ramp OAuth token
await sk.tools.executeTool(msg.content, "user_123");import { Agent } from "@google/adk/agents";
import { ScalekitClient } from "@scalekit-sdk/node";
const sk = new ScalekitClient(env.SCALEKIT_ENV_URL, env.SCALEKIT_CLIENT_ID, env.SCALEKIT_CLIENT_SECRET);
const { tools } = await sk.tools.listScopedTools("user_123", {
filter: { connectionNames: ["ramp"] }, pageSize: 100,
});
const agent = new Agent({
name: "spend_agent",
model: "gemini-2.5-pro",
instruction: "Ramp tools scoped to this user",
tools,
});
await agent.run("Find this week's card transactions over $1,000 that have no receipt");// shared token
audit → bot_service_account
// scalekit
audit → user_abc ✓