Quickstart, API, webhooks, AI tools, security. Everything you need to integrate VYNE into your stack.
Sign up, set up your workspace, and ship your first AI-driven workflow in 5 minutes.
ReadPersona, memory, RAG, Skills (multi-step chains), agent traces, and the cost-meter pre-flight.
ReadOpenAPI spec at /api/openapi covers every CRUD route + auth + webhooks. SDK examples in 8 languages.
ReadHMAC-signed event delivery for deal/task/invoice/customer changes. Configure in Settings → Developer.
ReadPer-key scopes (deals:read, tasks:write, …) + per-key rate limits. SCIM v2 for SSO provisioning.
ReadGDPR export + erasure endpoints, daily Postgres dumps to Vercel Blob, workspace snapshots.
ReadVisual chat workflow builder, message-action blocks, AI Skills via /skill <slug>.
Read2FA, SSO, BYOK, field-level permissions, anomaly detection, SOC 2 + HIPAA-ready audit log.
ReadStatus page · changelog · email support@vyne.dev · 24h SLA on Business, 1h on Enterprise.
ReadFour lines of code, ten seconds to your first AI-grounded answer.
# 1. Install the SDK
npm install @vyne/client # or pip install vyne-client
# 2. Authenticate
import { Vyne } from "@vyne/client";
const vyne = new Vyne({ apiKey: process.env.VYNE_API_KEY });
# 3. Create your first deal
const deal = await vyne.deals.create({
company: "Acme Corp",
stage: "Qualified",
value: 48000,
});
# 4. Ask the AI agent (RAG-enabled)
const reply = await vyne.ai.ask("What stalled deals should I follow up on this week?");
console.log(reply.answer, reply.citations);Live OpenAPI spec covers every endpoint: /api/openapi. Drop it into Postman, Stoplight, or auto-generate a client.
VYNE delivers signed POSTs for every state-changing event. Configure subscriptions in Settings → Developer; verify the x-vyne-signature header against your shared secret on every request.
// Verify the HMAC signature on every webhook
import { createHmac, timingSafeEqual } from "node:crypto";
function isValid(req: Request, secret: string) {
const sig = req.headers.get("x-vyne-signature") ?? "";
const ts = req.headers.get("x-vyne-timestamp") ?? "";
const body = await req.text();
const expected = createHmac("sha256", secret)
.update(`${ts}.${body}`)
.digest("hex");
return timingSafeEqual(
Buffer.from(sig.replace("v1=", "")),
Buffer.from(expected),
);
}