Support/Developer Platform/Email and SMS support lanes

Developer Platform

Email and SMS support lanes

Manage organization-owned receiving channels through a secured API and editable React page.

Configuration owner
Tenant organization owner
Native module
Universal Inbox
Developer Kit
1.20.16

Support lanes organize incoming email and SMS within Universal Inbox. Conversations and messages remain the native source records; lanes do not create a second ticket database.

Organization configuration, editable presentation

The tenant organization owner opens Admin → Support lanes → Open support lane manager. The SaaS administrator must first install the supplied pages/support-lanes.json as SupportLanes and assign that page to the appropriate User Type through the normal page/menu lifecycle. The link uses the secured page resolver; a missing or inaccessible page does not produce a working link. This is not a builder-admin channel setup screen.

Kit 1.20.16 includes editable react/support-lanes/ source: manager, workspace provider, toolbar, list, editor, searchable picker, HTTP client and CSS. Builders can change layout, labels and styling without acquiring permission to configure a customer's channels. Hosted pages compose registered components; page JSON does not execute uploaded JSX. Installed snapshots and tenant forks require explicit adoption of later template versions.

Day-to-day lifecycle

Create, view, edit and retire lanes. Each lane can attach one existing receiving email channel, one existing SMS number and an optional existing GoClaw worker in the same organization. A channel belongs to at most one lane. The manager does not buy phone numbers or accept provider secrets. SMS is messaging, not a voice-call channel.

There is no fixed lane-count limit. Follow nextAfterId while hasMore is true. List and option pages are bounded; the final cursor is null. Channel searches expose only eligible organization-owned options.

Attaching a receiving channel enables ticketing. Preserve revision strings and the channel's exact seven-digit UTC timestamp. On HTTP 409, reload and review rather than blindly retrying. Retirement requires explicit detach confirmation, retains tickets and audit history, and returns future intake to existing routing. Assigning GoClaw grants no additional record, DataRole, location, AI-read or action authority.

Public API

Prefix every route with /v1/apps/{saasAppId}. Use the existing modules.universal-inbox.read or modules.universal-inbox.write scope as appropriate. The verified runtime user must also satisfy the organization-owner check; an app ID or scope alone is not authorization.

  • GET /inbox/support-lanes — paginated lanes.
  • GET /inbox/support-lanes/options?kind=email|sms|goclaw — scoped, searchable options.
  • GET /inbox/support-lanes/{laneId} — lane detail.
  • POST /inbox/support-lanes — create.
  • PUT /inbox/support-lanes/{laneId} — revision-checked update.
  • POST /inbox/support-lanes/{laneId}/retire — explicit, revision-checked retirement.

Foreign lane/channel identifiers are not disclosed; unauthorized access fails closed. Read-only credentials cannot mutate configuration. Use the shipped OpenAPI and generated SDK for exact request fields and response types.

Delivery and release boundaries

Authenticated inbound email and SMS enter the existing ingestion pipeline and route to their attached lane. Duplicate provider deliveries preserve ticket identity. Inbox remains polling-based; this release does not promise instant push delivery or a new SSE list endpoint. See progressive loading and counts for the separate rows-first loading behavior.

Publication requires the matching live server and routed database contracts. External DeepSeek Harness approval evidence is a separate CLI/MCP launch requirement, not evidence of support-lane delivery.

Capability review: 2026-09-14. For exact current technical availability, use the generated API Map and first-class module inventory.