The Auxx SDK lets you build apps that extend the platform with custom actions, dialogs, widgets, and workflow blocks. Apps run inside Auxx — client code renders in the browser, server code runs in Lambda.
What you can build
- Record actions — Add buttons to the actions menu on ticket, contact, and custom entity records. Open dialogs with custom UI when clicked.
- Bulk actions — Run actions on multiple selected records at once.
- Widgets — Embed custom UI panels inside record detail pages.
- Workflow blocks — Create custom steps for the visual workflow builder with typed inputs, outputs, and server-side execution.
- Workflow triggers — Define custom events that start workflows, with polling or webhook support.
How it works
Every app has an app.tsx entry point that exports a config object declaring its surfaces:
import type { App } from '@auxx/sdk'
export const app: App = {
record: {
actions: [myAction],
widgets: [statusWidget],
},
workflow: {
blocks: [sendEmailBlock],
},
settings: {
organization: settingsSchema,
},
}Client components use SDK-provided React components (Button, TextBlock, Card, etc.) and hooks (useRecord, useSettings). Server code in .server.ts files has access to connections, storage, HTTP fetch, and more.
Project structure
| Pattern | Purpose | Runs in |
|---|---|---|
*.tsx | Client components and actions | Browser |
*.server.ts | Server-only logic | Lambda |
*.workflow.tsx | Workflow block definitions | Browser + Lambda |
events/*.event.ts | Connection lifecycle handlers | Lambda |
webhooks/*.webhook.ts | Incoming webhook handlers | Lambda |
Get started
Creating an App
Scaffold your first app and see it running inside the platform.
app.ts
Understand the full App interface and all available surfaces.
showDialog
Open dialogs, alerts, confirmations, and toasts.
Querying Data
Fetch and filter records from inside your app.
Form Schema
Build type-safe forms with validation.
Workflow Blocks
Create custom blocks for the workflow engine.