Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
329 changes: 221 additions & 108 deletions CHANGELOG_PUBLIC.md

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions docs/pages/api-reference/liveblocks-chat-sdk-adapter.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ Before using this adapter, ensure you have:
1. A [Liveblocks project](/docs/get-started) with rooms using
[Comments](/docs/products/comments).
2. A **secret key** (`sk_...`) from the Liveblocks dashboard for REST API calls.
3. A **webhook signing secret** (`whsec_...`) from the dashboard to verify
3. A **webhook secret** (`whsec_...`) from the dashboard to verify
webhook payloads.
4. Webhooks configured to subscribe to `commentCreated`, `commentReactionAdded`,
and `commentReactionRemoved` events.
Expand Down Expand Up @@ -53,7 +53,7 @@ const adapter = createLiveblocksAdapter({
Liveblocks secret key (`sk_...`) for REST API calls.
</PropertiesListItem>
<PropertiesListItem name="webhookSecret" type="string" required>
Webhook signing secret (`whsec_...`) from the dashboard.
Webhook secret (`whsec_...`) from the dashboard.
</PropertiesListItem>
<PropertiesListItem name="botUserId" type="string" required>
User ID used when the bot creates, edits, or reacts to comments. Should
Expand Down
2 changes: 1 addition & 1 deletion docs/pages/api-reference/liveblocks-node.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4024,7 +4024,7 @@ within your product, allowing you to react to Liveblocks events as they happen.
The `WebhookHandler` class is a helper to handle webhook requests from
Liveblocks.

It’s initialized with a signing secret that you can find in your project’s
It’s initialized with a webhook secret that you can find in your project’s
webhook page.

```js
Expand Down
2 changes: 1 addition & 1 deletion docs/pages/collaboration-features/ai-collaboration.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -239,7 +239,7 @@ n8n node, allowing you to add messages to feeds, show presence, update
multiplayer state, and more.

<Button asChild>
<a href="/docs/tools/n8n-nodes">Learn more about Liveblocks n8n nodes</a>
<a href="/docs/integrations/n8n-nodes">Learn more about Liveblocks n8n nodes</a>
</Button>

## API Reference
Expand Down
133 changes: 133 additions & 0 deletions docs/pages/integrations.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,133 @@
---
meta:
title: "Integrations"
description:
"Connect Liveblocks to databases, workflow automation, AI tools, frameworks,
and other products your team uses."
---

Liveblocks integrates with products and services your team already uses,
including databases, workflow automation, deployment platforms, AI-native
editors, and other tools and frameworks you combine with realtime collaboration.

## AI tools

Develop Liveblocks apps more easily with our agent skills and MCP server for
your favorite tools.

<ListGrid columns={2}>
<DocsCard
title="Cursor"
href="/docs/integrations/cursor"
type="technology"
visual={<DocsCursorAiIcon className="h-auto w-6 fill-product" />}
description="Add our agent skills and MCP server to Cursor."
/>
<DocsCard
title="OpenAI Codex"
href="/docs/integrations/codex"
type="technology"
visual={<DocsCodexIcon fill="#0078FF" className="h-auto w-6" />}
description="Add our agent skills and MCP server to OpenAI Codex."
/>
<DocsCard
title="Claude Code"
href="/docs/integrations/claude-code"
type="technology"
visual={<DocsClaudeIcon fill="#d97757" className="h-auto w-6" />}
description="Add our agent skills and MCP server to Claude Code."
/>
<DocsCard
title="Claude Desktop"
href="/docs/integrations/claude-desktop"
type="technology"
visual={<DocsClaudeIcon fill="#d97757" className="h-auto w-6" />}
description="Add our agent skills and MCP server to Claude Desktop."
/>
</ListGrid>

## Databases

Liveblocks doesn’t require a database, but you can mirror your data for
searching, logging, and more.

<ListGrid columns={2}>
<DocsCard
type="technology"
visual={<DocsSupabaseIcon fill="#097c4f" className="h-auto w-6" />}
title="Supabase"
href="/docs/integrations/supabase"
description="Mirror Storage, Yjs, Comments, and Threads into Supabase Postgres."
/>
<DocsCard
type="technology"
visual={<DocsNeonIcon fill="#39a57d" className="h-auto w-6" />}
title="Neon"
href="/docs/integrations/neon"
description="Mirror Storage, Yjs, Comments, and Threads into Neon Postgres."
/>
<DocsCard
type="technology"
visual={<DocsPlanetscaleIcon className="h-auto w-6" />}
title="PlanetScale"
href="/docs/integrations/planetscale"
description="Mirror Storage, Yjs, Comments, and Threads into PlanetScale MySQL."
/>
</ListGrid>

## App builders

Add Liveblocks realtime collaboration to your AI app builder projects.

<ListGrid columns={2}>
<DocsCard
title="Lovable"
href="/docs/integrations/lovable"
type="technology"
visual={<DocsLovableIcon fill="#FF7A00" className="h-auto w-6" />}
description="Realtime collaboration for apps you build or export from Lovable."
/>
<DocsCard
title="v0"
href="/docs/integrations/v0"
type="technology"
visual={<DocsV0Icon className="h-auto w-6" />}
description="Realtime collaboration for apps you build or export from v0."
/>
<DocsCard
title="Bolt"
href="/docs/integrations/bolt"
type="technology"
visual={<DocsBoltIcon className="h-auto w-6" />}
description="Realtime collaboration for apps you build or export from Bolt."
/>
<DocsCard
title="Replit"
href="/docs/integrations/replit"
type="technology"
visual={<DocsReplitIcon fill="#ff3c00" className="h-auto w-6" />}
description="Realtime collaboration for apps you build with Replit Agent."
/>
</ListGrid>

## Workflow automation

Use Liveblocks REST API endpoints in UI workflow tools.

<ListGrid columns={2}>
<DocsCard
title="n8n"
href="/docs/integrations/n8n-nodes"
type="technology"
visual={<DocsN8nIcon fill="#EA4B71" className="h-auto w-6" />}
description="REST API calls and webhooks via Liveblocks nodes in n8n workflows."
/>
</ListGrid>

## Build your own integration

Use [webhooks](/docs/platform/webhooks) and the
[REST API](/docs/api-reference/rest-api-endpoints) to connect Liveblocks to
other databases, automation tools, app builders, or internal systems. If you’d
like to see an integration guide that is not currently available,
[let us know on Discord](https://liveblocks.io/discord).
109 changes: 109 additions & 0 deletions docs/pages/integrations/_provider-template.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
---
meta:
title: "Provider name"
parentTitle: "Integrations"
description: "Use Provider with Liveblocks to..."
---

# Provider page template

Use this file as the starting point for new integration provider pages. Do not
add this file to `docs/routes.json`; copy it to
`docs/pages/integrations/{slug}.mdx` and route that page when the provider is
ready to publish.

## Route entry

Add the published provider to the Integrations category in `docs/routes.json`.
Keep the route visible unless the page must be generated without appearing in
navigation.

```json
{
"title": "Provider name",
"path": "/integrations/provider-slug",
"keywords": [
"Provider name",
"provider-slug",
"integration",
"category",
"common product term"
]
}
```

## Metadata

Use the same frontmatter shape on every provider page.

```mdx
---
meta:
title: "Provider name"
parentTitle: "Integrations"
description:
"Use Provider with Liveblocks to add realtime collaboration to..."
---
```

## Required sections

Each provider page should include these headings so the page is predictable,
searchable, and easy to review.

## What it enables

Explain the integration outcome in product terms. Name the Liveblocks features
the provider unlocks or complements, and say whether the page is a ready-to-use
integration, an implementation pattern, a marketplace listing, or partner
submission prep.

## When to use Liveblocks with Provider

Describe the best-fit use cases and the boundary between Liveblocks and the
provider.

## Recommended architecture

Show which system owns authentication, durable data, realtime collaboration,
workflow automation, deployment, or generated code. Use a table when the split
is important.

If the page needs a diagram, use a Mermaid code fence. Keep labels short and
describe system boundaries, not every implementation detail.

```mermaid
graph TD
A[User action] --> B[Liveblocks feature]
B --> C[Webhook or REST API]
C --> D[Your app endpoint]
D --> E[Provider API or database]
```

## Setup

Use `Steps`, `Step`, `StepTitle`, and `StepContent` for implementation steps.
Include environment variables, install commands, auth setup, provider setup, and
the first Liveblocks feature to add.

## Examples and templates

Link to runnable examples, starter kits, partner templates, marketplace entries,
or closest existing Liveblocks examples.

## Limitations and troubleshooting

Document known constraints, rate limits, eventual consistency, permissions,
secret handling, provider-specific gotchas, and when the provider should not be
treated as the Liveblocks source of truth.

## Partner listing notes

Record marketplace submission copy, category recommendations, listing URLs,
owner notes, and any provider-specific requirements.

## Related docs

Link to the most relevant Liveblocks docs, such as Authentication, REST API,
Webhooks, Comments, Notifications, Multiplayer, AI Copilots, MCP server, or n8n
nodes.
70 changes: 70 additions & 0 deletions docs/pages/integrations/bolt.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
---
meta:
title: "Bolt + Liveblocks"
parentTitle: "Integrations"
description:
"Add Liveblocks to apps built or exported from Bolt so you can ship realtime
presence, multiplayer editors, and comments alongside generated UI."
---

[Bolt](https://bolt.new/) helps you generate full-stack apps quickly using AI
chats. With Liveblocks, you can add realtime collaboration to your generated
Bolt app, such as
[collaborative text editing](/docs/collaboration-features/multiplayer/text-editor),
[multiplayer documents](/docs/collaboration-features/multiplayer/sync-engine),
[comment threads](/docs/collaboration-features/comments),
[inbox notifications](/docs/collaboration-features/notifications), and
[AI copilots](/docs/collaboration-features/ai-copilots).

## Setup

<Steps>

<Step>
<StepTitle>Ask the chat to build with Liveblocks</StepTitle>
<StepContent>
Add Liveblocks to your project by asking the chat to add collaborative features, for example:

```text title="Example prompt"
Add a realtime text editor with Liveblocks and Tiptap.
```

<Banner>
To find more ways to use Liveblocks, visit our [showcase](/showcase) and read our [get started guides](/docs/get-started).
</Banner>

</StepContent>
</Step>

<Step>
<StepTitle>Insert your secret key</StepTitle>
<StepContent>
During the process, Bolt will prompt you to
insert your Liveblocks secret key from the [dashboard](/dashboard/apikeys).
Paste in your project’s key.

```text title="Secret key"
{{SECRET_KEY}}
```

To manually edit your key in Bolt, go to Settings → Secrets →
`LIVEBLOCKS_SECRET_KEY`.
</StepContent>

</Step>

<Step lastStep>
<StepTitle>Collaboration is ready</StepTitle>
<StepContent>
Your app should now have live collaboration—use the chat to continue building your Liveblocks app.
</StepContent>

</Step>
</Steps>

## Limitations and troubleshooting

### Secret or public key issues

To fix issues related to API keys, instruct Bolt to use a secret key instead of
a public key, and authenticate your Liveblocks application.
Loading
Loading