---
title: Integrations
description: Use Social SDK with web frameworks, databases, and job runners such as Next.js, Hono, Supabase, SurrealDB, and Inngest.
---

Social SDK is a server-side TypeScript library with no framework dependency. It runs anywhere its tested runtimes run: Node 22.12+, Node 24, and Bun. These guides show the recommended wiring for popular stacks: where the client lives, where credentials stay, how webhooks reach the verifier, and where durable state belongs.

Every integration keeps the same rules. Credentials and connected-account references stay on the server. Your application authorizes the tenant before every operation. Publishing returns one outcome per destination, and uncertain outcomes are reconciled explicitly.

## Frameworks

**[Next.js](/integrations/nextjs)**

Publish from App Router route handlers and server actions.

**[TanStack Start](/integrations/tanstack-start)**

Publish from server functions and verify webhooks in API routes.

**[Express](/integrations/express)**

Wire routes and raw-body webhook verification in the standard Node server.

**[Hono](/integrations/hono)**

Use the fetch-native handler pattern on Node or Bun.

**[Elysia](/integrations/elysia)**

Validate publish bodies with schemas and verify webhooks from unparsed requests.

**[NestJS](/integrations/nestjs)**

Provide the client through dependency injection with a webhook controller.

## Databases

**[Convex](/integrations/convex)**

Call the SDK from Node actions and keep deliveries in Convex tables.

**[Supabase](/integrations/supabase)**

Store connections and delivery outcomes in Postgres with row-level security.

**[Neon](/integrations/neon)**

Run the SDK next to Neon Postgres and reconcile on a scheduled trigger.

**[SurrealDB](/integrations/surrealdb)**

Keep publish state in SurrealDB and stream delivery changes with live queries.

## Job runners

The SDK never starts background work: no polling, no timers, no queues. Scheduled publishing and reconciliation belong to a durable job runner you own.

**[Trigger.dev](/integrations/trigger-dev)**

Run scheduled publishes and reconciliation tasks with retries you control.

**[Inngest](/integrations/inngest)**

Drive event-based publishing flows with durable steps and idempotency.

**[Restate](/integrations/restate)**

Keep each draft in a durable object that schedules its own reconciliation.

:::note
These pages document integration patterns for the stacks named. They do not change what the SDK supports: the [capability matrix](/reference/capabilities) remains the source of truth for platforms, operations, and evidence levels.
:::
