Integrations

OAuth connect cards, API key managers, and webhook configuration UIs.

OAuth Connect Card

Card for connecting or disconnecting an OAuth provider integration.

Preview

GitHub

Connect your GitHub account to sync repositories.

Permissions

repo
user
OAuth Connect Card.tsx
import { OAuthConnectCard } from "@launchapp/design-system/blocks/integrations";export default function Page() {  return (    <OAuthConnectCard      provider={{ id: "github", name: "GitHub", description: "Connect your GitHub account", scopes: ["repo", "user"] }}      isConnected={false}      onConnect={() => console.log("connect")}      onDisconnect={() => console.log("disconnect")}    />  );}

API Key Manager (Integrations)

Manage third-party API keys for external service integrations.

Preview

API Keys

Manage your API access keys.

Production Key

sk-prod••••••••••••••••••••

Created Jan 1, 2024

Staging Key

sk-stage••••••••••••••••••••

Created Feb 1, 2024
API Key Manager (Integrations).tsx
import { ApiKeyManager } from "@launchapp/design-system/blocks/integrations";const keys = [  { id: "1", service: "Stripe", key: "sk_live_xxxx", createdAt: "2024-01-01" },];export default function Page() {  return (    <ApiKeyManager      keys={keys}      onAdd={() => console.log("add")}      onDelete={(id) => console.log("delete", id)}    />  );}

Webhook Config

Configure webhook URLs and select event triggers for integrations.

Preview

Webhook Configuration

Endpoint

Your endpoint URL must be accessible via HTTPS and respond with a 2xx status code.

Events

Choose which events trigger your webhook. 2 enabled.

Webhook Config.tsx
import { WebhookConfig } from "@launchapp/design-system/blocks/integrations";export default function Page() {  return (    <WebhookConfig      endpoint="https://example.com/webhook"      events={["payment.succeeded", "subscription.canceled"]}      onSave={(config) => console.log("save", config)}    />  );}

Integration Card Grid

Searchable grid of integration cards with connect/disconnect/configure actions.

Preview

Integrations

Connect your favorite tools and services.

GitHub

Connected

Sync repositories and pull requests.

Other

Slack

Not connected

Send notifications to Slack channels.

Communication

Stripe

Connected

Process payments and subscriptions.

Payments

HubSpot

Not connected

Sync leads and customer data.

CRM

Google Analytics

Not connected

Track user behavior.

Analytics

Zapier

Not connected

Automate workflows between apps.

Other

2 of 6 integrations connected

Integration Card Grid.tsx
import { IntegrationCardGrid } from "@launchapp/design-system/blocks/integrations";const integrations = [  { id: "github", name: "GitHub", description: "Sync repositories.", category: "developer", status: "connected" },  { id: "slack", name: "Slack", description: "Team notifications.", category: "communication", status: "disconnected" },  { id: "stripe", name: "Stripe", description: "Payment processing.", category: "payments", status: "connected" },];export default function Page() {  return (    <IntegrationCardGrid      integrations={integrations}      searchable      onConnect={(i) => console.log("connect", i.id)}      onDisconnect={(i) => console.log("disconnect", i.id)}      onConfigure={(i) => console.log("configure", i.id)}    />  );}

Integration Marketplace

App marketplace with search, categories, install/uninstall, and toggle controls.

Preview

Integration Marketplace

Discover and install integrations to extend your workflow.

All
Developer
Communication
Payment

GitHub

Version control and collaboration.

Developer
Installed
v2.1.0

Slack

Team messaging and notifications.

Communication
Not Installed
v1.3.0

Stripe

Payment processing platform.

Payment
Installed
v3.0.1

Zapier

Workflow automation tool.

Developer
Not Installed
v1.0.0
Integration Marketplace.tsx
import { IntegrationMarketplace } from "@launchapp/design-system/blocks/integrations";const integrations = [  { id: "github", name: "GitHub", description: "Version control.", category: "developer", status: "installed", version: "2.1.0", enabled: true, isOfficial: true },  { id: "slack", name: "Slack", description: "Messaging.", category: "communication", status: "available", version: "1.3.0", enabled: false, isOfficial: true },];export default function Page() {  return (    <IntegrationMarketplace      integrations={integrations}      showSearch      showCategories      onInstall={(i) => console.log("install", i.id)}      onConfigure={(i) => console.log("configure", i.id)}      onUninstall={(i) => console.log("uninstall", i.id)}      onToggle={(i, enabled) => console.log("toggle", i.id, enabled)}    />  );}

Webhooks List

Manage outbound webhooks with status, event subscriptions, and test functionality.

Preview

Webhooks

Manage webhook endpoints that receive event notifications.

Production Webhook

Active

https://api.example.com/webhooks/prod

user.created
payment.succeeded
Created Jan 1, 2024Last triggered Jan 15, 2024
Success rate:
98%

Staging Webhook

Inactive

https://staging.example.com/webhooks

user.updated
subscription.changed
Created Jan 5, 2024
Success rate:
75%

Analytics Sink

Failing

https://ingest.analytics.io/hook

page.viewed
button.clicked
Created Dec 15, 2023Last triggered Jan 14, 2024
Success rate:
42%
Webhooks List.tsx
import { WebhooksList } from "@launchapp/design-system/blocks/integrations";const webhooks = [  { id: "1", name: "Production Webhook", url: "https://api.example.com/hooks", status: "active", events: ["user.created", "payment.success"], createdAt: "2024-01-01", successRate: 98.5 },  { id: "2", name: "Staging Webhook", url: "https://staging.example.com/hooks", status: "inactive", events: ["user.created"], createdAt: "2024-02-01" },];export default function Page() {  return (    <WebhooksList      webhooks={webhooks}      canManage      onAdd={(data) => console.log("add", data)}      onEdit={(wh) => console.log("edit", wh.id)}      onDelete={(wh) => console.log("delete", wh.id)}      onToggle={(wh) => console.log("toggle", wh.id)}      onTest={(wh) => console.log("test", wh.id)}    />  );}