import { Link } from "react-router-dom"; import { Card, CardContent, CardDescription, CardHeader, CardTitle, } from "@/components/ui/card"; import { Badge } from "@/components/ui/badge"; import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow, TableCaption, } from "@/components/ui/table"; import { Button } from "@/components/ui/button"; import { Puzzle, Server, Brush, Shield, RefreshCw, ArrowRight, Link as LinkIcon, Palette, AlertTriangle, FileText, } from "lucide-react"; const connectorFields = [ { name: "key", description: "Unique identifier referenced across dashboards, APIs, and audit logs.", defaultValue: '"analytics-segment"', }, { name: "category", description: "Integration taxonomy aligned with AeThex surfaces (analytics, identity, commerce, ops).", defaultValue: '"analytics"', }, { name: "capabilities", description: "Feature flags that unlock widgets, automation hooks, and data pipelines.", defaultValue: "['metrics', 'webhooks']", }, { name: "connectionMode", description: "Determines how credentials are managed (oauth, apiKey, managedVault).", defaultValue: '"oauth"', }, { name: "webhookEndpoint", description: "Optional callback URL for outbound events delivered by AeThex.", defaultValue: '"https://app.example.com/aethex/webhooks"', }, { name: "uiEmbeds", description: "Declarative config describing dashboard cards, modals, or launchers this integration renders.", defaultValue: "[{ surface: 'dashboard', placement: 'sidebar' }]", }, ]; const troubleshooting = [ { title: "OAuth handshake fails", detail: "Confirm the integration's redirect URI matches the value registered in the partner console. AeThex surfaces expose the required callback under Settings → Integrations.", }, { title: "Webhook retries exhausted", detail: "Inspect delivery attempts in the Integrations dashboard. Update retry policies or verify your endpoint responds with a 2xx status within 10 seconds.", }, { title: "Embedded widget styling", detail: "Override component tokens through the integration theme utilities or wrap the widget in a container that inherits AeThex gradient variables.", }, ]; export default function DocsIntegrations() { return (
Integrations

Connecting partner services to AeThex

AeThex Integrations wrap third-party analytics, identity, payments, and live-ops tooling behind a consistent runtime, security model, and visual system. Use this guide to register new connectors, surface partner UI in product flows, and automate data exchange without hand-rolled plumbing.

Runtime flow

Integration manifests are stored in the AeThex Integrations service and synced across the dashboard and runtime. Client components resolve connector metadata through the shared API helpers, ensuring credentials and capability flags stay consistent with server state.

During hydration the runtime mounts partner SDKs behind AeThex loaders, applying sandboxed execution where required. Use lifecycle hooks to emit analytics, hydrate widgets with scoped credentials, and gate access through the same role-based policies used elsewhere in the platform.

Theming hook

Use the integration theming utilities to adapt partner widgets to AeThex gradients, typography, and focus states. Tokens flow through CSS variables defined in{" "} global.css, so embeds stay visually aligned with dashboards and consumer apps.

Extend styling with scoped class names or CSS variables exported by the partner SDK. When shipping multiple widgets, prefer design tokens over hard-coded overrides to keep dark-mode and accessibility tweaks in sync.

Configuration options

Property Purpose Default {connectorFields.map((field) => ( {field.name} {field.description} {field.defaultValue} ))} Manage manifests in the Integrations dashboard or via the Admin API to keep environments in sync.
Best practices
  • Store credentials in AeThex-managed vaults and rotate them from the dashboard rather than hard-coding.
  • Limit embed rendering to audiences that have access to the underlying data to avoid leaking partner UI.
  • Log integration events through the shared telemetry helpers so support can trace partner-side failures.
Lifecycle management

Promote integration changes through staging first. AeThex snapshots connector manifests per environment so you can test credentials, capability flags, and UI placements without impacting production users.

When partners publish SDK updates, pin versions in your manifest, document the change log, and coordinate rollout windows with stakeholders subscribing to the integration.

Troubleshooting

{troubleshooting.map((issue) => ( {issue.title} {issue.detail} ))}

Further reading

Manage integration documentation centrally in Builder CMS or export static guides for partner teams. Keep manifests, onboarding playbooks, and support runbooks together so each connector has a clear owner.

); }