application public active Verified 2026-04-15

Topolo Support

Tenant-scoped support platform for Topolo internal operations and customer-organization ticket workflows, with support-owned workflow persistence kept outside Topolo Auth.

Documentation Map

What It Is

Tenant-scoped support platform for Topolo internal operations and customer-organization ticket workflows, with support-owned workflow persistence kept outside Topolo Auth.

Architecture

Owners: support-operations, platform-experience

Source repos: PlatformApplications/TopoloSupport

Dependencies: topolo-auth, topolo-nexus

Repo shape

  • PlatformApplications/TopoloSupport/functions/
  • PlatformApplications/TopoloSupport/index.html
  • PlatformApplications/TopoloSupport/migrations/
  • PlatformApplications/TopoloSupport/package-lock.json
  • PlatformApplications/TopoloSupport/package.json
  • PlatformApplications/TopoloSupport/packages/
  • PlatformApplications/TopoloSupport/postcss.config.cjs
  • PlatformApplications/TopoloSupport/scripts/
  • PlatformApplications/TopoloSupport/src/
  • PlatformApplications/TopoloSupport/tailwind.config.js
  • PlatformApplications/TopoloSupport/test/
  • PlatformApplications/TopoloSupport/topolo.cloudcontrol.json
  • PlatformApplications/TopoloSupport/tsconfig.json
  • PlatformApplications/TopoloSupport/tsconfig.node.json
  • PlatformApplications/TopoloSupport/vite.config.ts
  • PlatformApplications/TopoloSupport/wrangler.toml

Runtime Surfaces

Hosts:

https://support.topolo.app
topolo-support

Config: PlatformApplications/TopoloSupport/wrangler.toml

Main: src/worker.ts

Routes: workers.dev or asset-only surface

API Reference

Coverage: curated

Source: PlatformApplications/TopoloSupport/functions/api/support/[[path]].ts

Source exists in repo: yes

Topolo Support is a standalone Worker application with a support-owned /api/support/* route family for workspace context, ticket, message, notification-dispatch, and signed inbound webhook workflow. The browser app now consumes the canonical shared `PlatformApplications/packages/topolo-ui-kit` and `PlatformApplications/packages/topolo-auth-client` surfaces for its public landing/login pages, authenticated shell, launcher, local command palette, loading/auth transitions, and browser auth contract. Its signed desk should follow the same fixed responsive `TopoloShell` sidebar/header composition used by the other first-party apps rather than keeping a Support-local static layout inside the shell container. It uses the same-origin /api/auth/* gateway only for Auth-owned reads such as session, user, organization, and launcher-catalog context, with that gateway preserving the upstream Auth /api/* path instead of stripping it; callback completion must also rehydrate local auth state from the shared browser auth events before the signed workspace route continues. Support workflow state is persisted in the support-owned D1 schema instead of Auth, including explicit Support-owned workspaces and inboxes for tenant queue routing, checked-in schema ownership in `PlatformApplications/TopoloSupport/scripts/support-schema.sql`, a first-party ticket activity ledger plus notification outbox for reply and assignment workflow, first-party retry-state fields and scheduled backlog processing for unattended notification recovery, a first-party `support_webhook_events` audit and idempotency table for inbound provider callbacks, the same Worker serving the built frontend asset bundle, workspace-scoped macros, and signed API tenant-safe queue access so Topolo operators can switch across workspaces while org operators and requester-grade users stay confined to their own support scope. Outbound email delivery is delegated to Topolo Nexus rather than being sent directly from the Support worker, using a dedicated Support trusted service token when no caller bearer token is available.

App API page: /reference/apps/topolo-support

This system currently relies on a curated or README-derived contract surface instead of a source-controlled OpenAPI spec.

Auth and Permissions

Depends on Topolo Auth: yes

Service IDs:

svc_topolo_support

API key scopes

context.read

Look up Auth-owned user and organization context from the support workspace

Resource pattern: none

macros.read

View support macros

Resource pattern: none

macros.write

Create and manage support macros

Resource pattern: none

tickets.read

View support tickets, queues, and ticket conversations

Resource pattern: none

tickets.write

Create and update support tickets, assignments, and messages

Resource pattern: none

Service permissions

context:read, macros:read, macros:write, tickets:read, tickets:write

Data Ownership

d1

Binding: SUPPORT_DB

Target: b5455665-b792-4a79-b96d-fe558178aa64

Environment: default

Source: PlatformApplications/TopoloSupport/wrangler.toml

Queues / Cron / Workflows

Queue bindings:

No queue bindings were detected.

Cron triggers

  • */5 * * * * via PlatformApplications/TopoloSupport/wrangler.toml

Workflow signals

  • cron */5 * * * *

Environment Variables and Bindings

Environment variables:

AUTH_API_URL TOPOLO_NEXUS_API_URL

All wrangler bindings

  • SUPPORT_DB (d1) -> b5455665-b792-4a79-b96d-fe558178aa64

Deployments

Deployment environments: default only or not declared

Routes: workers.dev or Pages-only delivery

Observability enabled: yes

Wrangler surfaces

  • PlatformApplications/TopoloSupport/wrangler.toml -> topolo-support (assets dist)

Build and deploy commands

  • build — PlatformApplications/TopoloSupport/package.json :: tsc && vite build --mode production
  • build:worker — PlatformApplications/TopoloSupport/package.json :: wrangler deploy --dry-run --outdir .wrangler/deploy-build
  • preview — PlatformApplications/TopoloSupport/package.json :: vite preview
  • build — PlatformApplications/TopoloSupport/packages/topolo-auth-client/package.json :: tsup src/index.ts --format esm,cjs --dts
  • build — PlatformApplications/TopoloSupport/packages/topolo-ui-kit/package.json :: tsc -p tsconfig.json
  • update:build-meta — PlatformApplications/TopoloSupport/packages/topolo-ui-kit/package.json :: node ./scripts/update-build-meta.mjs
  • rollout:deploy — PlatformApplications/TopoloSupport/packages/topolo-ui-kit/package.json :: node ./scripts/rollout-consumers.mjs deploy

Failure Modes

  • Neither OpenAPI nor README-derived interface detail was found.

Debugging Runbooks

Start with these entrypoints:

  • PlatformApplications/TopoloSupport/wrangler.toml
  • PlatformApplications/TopoloSupport/functions/api/support/[[path]].ts
  • PlatformApplications/TopoloSupport/package.json
  • PlatformApplications/TopoloSupport/packages/topolo-auth-client/package.json
  • PlatformApplications/TopoloSupport/packages/topolo-ui-kit/package.json

Change Log / Verification

Lifecycle: active

Last verified: 2026-04-15

Any code change to this system is expected to update the canonical docs in PlatformApplications/TopoloDocs and refresh the verification date.