Custom Apps User Guide
Developer and Runtime Guide
Developer and runtime guide for building, deploying, and integrating Custom Apps.
Custom Apps - Developer and Runtime Guide
Editor Workflow
Tag selection, editing, preview, and save flow.
Tags and Versions
Deploy, activate, and rollback release lines.
APIs
Services, preview, deployment, import, and export.
Runtime Model
Tag-aware templates, rendering flow, and assets.
DevOps Workflow
Draft-to-deploy lifecycle for release readiness.
Troubleshooting
Common runtime and integration issue checks.
Purpose
This guide is for developers and platform operators who build, deploy, and integrate Custom Apps at runtime. It covers editor workflows, tag-based versioning, preview behavior, service APIs, metrics, media delivery, template rendering, and packaging endpoints.
Runtime Surface Overview
Custom Apps runtime includes the following surfaces:
- Host-based app resolution (verified domain first, subdomain fallback)
- Web routes for pages, auth, users, tasks, and settings
- API routes for deployment, preview, data, services, import, and export
- Media proxying and secure content delivery
Editor Workflow
The browser editor is available at /custom-apps/editor/:id.
Core editor capabilities include:
- File tree navigation and selection
- Text editing with save
- New file and new directory creation
- File move and delete
- Media file viewing support
- Split behavior for code and preview contexts
Typical Editing Flow
To edit and validate templates in the editor, follow the below-mentioned steps:
- Open editor for the target app.
- Select the working tag.
- Open or create template file.
- Edit content and save.
- Verify preview output.
- Repeat until ready for deployment.
Tag And Version Management
Tags represent release lines for template content.
Supported capabilities include:
- Select current tag
- Create new tag
- Delete non-active tag
- Mark tag deployment complete
- Set active tag
- Persist user-selected tag preference
Important behavior:
- Deployed tags are treated as read-only in editor flows.
- Active tag determines runtime template source.
Deploy A Tag
To deploy a tag, follow the below-mentioned steps:
- Complete template changes on a draft tag.
- Run deployment complete for that tag.
- Set the tag as active (if not auto-set in flow).
- Validate runtime content and service calls.
Rollback Pattern
To roll back to a previous release tag, follow the below-mentioned steps:
- Choose a previously deployed tag.
- Set it as active.
- Confirm runtime behavior and key pages.
Preview Capabilities
Preview upload endpoints allow writing files into tag-scoped directories without replacing active runtime content.
Preview mechanics include:
- Preview URL includes tag context.
- Editor can refresh preview with cache-busting parameters.
- Template and asset resolution can switch by preview tag query.
AI Assistant In Editor
AI assistant features include:
- Chat thread history
- Attachment upload for prompts
- Proposal generation
- Diff visualization
- Apply and revert operations
- Multi-proposal tracking
To use the AI assistant in a controlled edit loop, follow the below-mentioned steps:
- Open target file.
- Request scoped change.
- Review generated diff.
- Apply accepted proposal.
- Save and preview.
Editor Panels
Media Panel
The media panel is account-scoped and supports:
- Upload (drag/drop and picker)
- Search
- Delete
- Inline media preview
- Liquid snippet insertion for media embeds
Service Panel
The Service panel manages API registries per app:
- Create/update/delete registry entries
- Set auth mode and credentials
- Configure custom headers
- Insert fetch-service snippets into templates
Translations Panel
The Translations panel supports:
- Locale add/remove
- Key add/delete
- Inline locale value editing
- Persisted translation values for runtime i18n rendering
API Capabilities
API sections below are organized by runtime function; use step-driven flows where execution order matters and reference lists where behavior is declarative.
Services API
Path pattern: /api/services/:api/*segments
Supported behavior includes:
- GET and POST passthrough to configured registry service URL
- HTML, JSON, and CSV response handling
- Optional template partial rendering for HTML mode
- Error normalization for downstream failures
Registry configuration concerns include:
- Service URL
- Auth mode
- Token/custom headers
- Optional OAuth settings
Data And Metrics API
Metrics endpoints support the following actions:
- List metrics
- Create metric
- Update metric
Metric updates can be broadcast over websocket channels for live consumers.
Deployment API
Deployment endpoints support the following actions:
- Tag availability check
- Mark tag deployment complete
- Set active tag
Preview API
Preview upload endpoint accepts file uploads and writes them to sanitized tag-scoped paths.
Import/Export APIs
- Structured export returns app metadata snapshot including users, services, domains, and metrics.
- Import accepts payloads and returns normalized per-item result mapping.
App Export ZIP API
Endpoint supports ZIP export by app_id under token-auth context.
Precondition:
- At least one deployed tag must exist.
Authentication And Session Runtime
Runtime authentication capabilities include:
- Basic session login/logout
- Identity-provider flow for supported providers
- Session transfer via one-time nonce across app domains
- User confirmation and password reset flows
To execute session transfer across app domains, follow the below-mentioned steps:
- Authenticated caller requests transfer for target domain.
- Runtime issues single-use nonce.
- Target domain exchanges nonce for authenticated session.
Users And Tasks Runtime Routes
Runtime includes page and API surfaces for:
- User listing, creation, update, delete
- Role assignment per app registration
- Task listing, creation, update, delete
- Task assignee synchronization
- Task taxonomy CRUD (type, priority, status)
Media Delivery Runtime
Media proxy endpoint secures content by account ownership checks and forwards upstream media responses.
Supported behavior includes:
- Inline display or forced download disposition
- Range-request forwarding for partial content
- Header pass-through where relevant
Template Runtime Model
Template roots are tag-aware and resolved as <subdomain>.<tag> or <subdomain>.
Directory roles include:
layout/for wrapperspartials/for reusable fragmentsassets/for static fileslocales/for i18n resources.liquidand.mdcontent pages
Rendering includes the following stages:
- File metadata resolution
- Assign/context merge
- Liquid/Markdown rendering
- Layout wrapping
Liquid Features
Common custom Liquid capabilities include:
- Layout control tags
- Image/video/media embedding tags
- Asset URL helpers
- Translation lookup tag
- Table-of-contents support
Packaging And Export
Two primary export surfaces exist:
- Browser-session export from app settings UI
- Token-auth export API by
app_id
Both require deployed tags and generate ZIP archives suitable for deployment and transport workflows.
Recommended DevOps Workflow
To run the recommended DevOps workflow, follow the below-mentioned steps:
- Create or select draft tag.
- Implement template and integration changes in editor.
- Validate preview and service responses.
- Run translation and media checks.
- Mark tag deployment complete.
- Set active tag.
- Validate runtime host/domain behavior.
- Generate export ZIP for release artifact.
Troubleshooting
Editor Save Fails With Read-Only Message
- Confirm selected tag is not deployed.
- Switch to draft tag or create a new tag.
Services API Returns Not Found
- Verify API registry exists for
:apiname. - Verify auth mode, token/header, and service URL.
HTML Service Rendering Fails
- Verify expected template partial exists in app root.
- Validate response shape used by template context.
Preview Not Reflecting Latest Content
- Save file first.
- Refresh preview and confirm cache-busting query changes.
- Verify selected tag and preview tag alignment.
Export ZIP Fails
- Confirm app exists in caller account scope.
- Confirm at least one deployed tag exists.
- Check for server-side packaging errors.
Auth Callback Fails
- Verify provider is supported and configured.
- Validate provider secret values.
- Confirm callback route and domain mapping.