Skip to main content
Integrations

Plugs into the stack you already run.

Email via Postmark / SendGrid / Resend / SMTP+IMAP. WhatsApp Cloud API. Voice + SMS via Twilio, CallHippo, TeleCMI. Google + Microsoft Calendar. CRM webhooks for Salesforce, HubSpot, Linear. A REST API with workspace + brand-scoped keys for everything else.

04Integrations

Connects to everything your stack already runs.

240+ native integrations planned for v1.0 plus an open SDK. Atlas can read and write to any of them under your policy gates.

St
Stripe
payments
Sh
Shopify
commerce
HS
HubSpot
crm
Sf
Salesforce
crm
Sl
Slack
internal
Ln
Linear
eng
Gh
GitHub
eng
Nt
Notion
docs
Sg
Segment
cdp
Wa
WhatsApp
channel
Tw
Twilio
voice / sms
Zd
Zendesk
migration
05Engineered for builders

End-to-end type-safe.
Document-native. Edge-rendered.

PraxTalk is built on a modern, fully-typed runtime — TypeScript from the database to the React Server Component. No SQL migrations, no ORM tax, no schema drift. Just the same types from your Convex document to your useQuery hook.

FE

Next.js 16

App Router, React Server Components, partial pre-rendering and Turbopack by default. The dashboard streams to first byte in under 200ms on the edge.

RSCTurbopackPPRedge
DB

Convex

TypeScript-native, document-based reactive database. Every query is real-time by default — no websocket plumbing, no polling, no NoSQL ceremony.

documentreactiveno-SQLTS-native
UI

Tailwind 4

Oxide engine, CSS-native @theme config, container queries everywhere. The design system rebuilds in under 80ms during development.

oxide@themecq80ms HMR
LANG

TypeScript, end-to-end

The same Conversation type flows from the Convex document, through the Atlas SDK, into your React component. Refactor once — everything compiles.

strictzodv.object()0 any
convex/messages.tstype-checked
// fully reactive — no useEffect, no fetch
import { v } from "convex/values";
import { query, mutation } from "./_generated/server";

export const resolve = mutation({
  args: { conversationId: v.id("conversations") },
  handler: async (ctx, { conversationId }) => {
    const convo = await ctx.db.get(conversationId);
    const reply = await ctx.runAction(api.atlas.draft, {
      thread: convo.messages,
      tools: ["stripe.refund", "shopify.order"],
      policy: "resolver-v1",
    });
    await ctx.db.patch(conversationId, {
      status: "resolved",
      resolvedBy: "atlas",
      confidence: reply.confidence,
    });
  },
});
npx convex dev · synced 2.4s ago0 errors · 0 warnings
BUILT WITHTypeScript 5.6·Next.js 16·Convex·Tailwind 4·React 19·Vercel Edge·DEPLOY ANYWHERE

Stop staffing tickets.
Start resolving them.

Spin up PraxTalk in minutes. Migrate from Intercom, Crisp, LiveChat or Tawk in a single click. Free forever for 100 AI resolutions / month.