Deploy SPA's in ARPIA AI APP Studio
Deploy custom web applications and interactive dashboards within ARPIA
Overview
Single-Page Apps (SPA) is a feature in ARPIA that allows you to deploy and manage custom web applications within your Workarea. Upload your HTML, CSS, and JavaScript files to create interactive, client-side applications that integrate seamlessly with your ARPIA environment.
What are Single-Page Apps?
Single-Page Apps in ARPIA are self-contained web applications that run entirely in the browser. They provide a way to extend ARPIA's functionality with custom interfaces, dashboards, tools, and visualizations built using modern web technologies.
Key Features
Version Management
- Upload multiple versions of your application
- Customize version names for easy identification
- Track changes and updates over time
- Roll back to previous versions when needed
- Delete old versions to manage storage
- Publish specific versions to make them live
- Preview any version before publishing
File Upload System
- Package your application files (HTML, CSS, JavaScript, Images) into a ZIP archive
- Simple drag-and-drop upload interface
- Automatic extraction and deployment
- Maximum ZIP file size: 25MB when compressed
- Only .zip format is accepted
Access Control
- Private Mode: Restrict access to specific users within your Workarea
- Public Mode: Make your app accessible to any authenticated user in ARPIA
- Flexible permission settings to control visibility
AI-Generated Documentation
- Automatic description generation for your application upon first upload
- AI analyzes your app structure and purpose
- Edit or customize the generated description as needed
- Helps users understand what your app does
Changelog
- Maintain a detailed history of changes across versions
- Document new features, bug fixes, and improvements
- Keep stakeholders informed of updates
Usage Analytics & Insights
- Track when your app is accessed
- Monitor how many times the app has been opened
- See usage patterns and engagement metrics
Supported Technologies
Supported
- HTML5
- CSS3 (including frameworks like Tailwind, Bootstrap)
- JavaScript (vanilla JS and frameworks like React, Vue, Angular)
- Client-side libraries and dependencies
- Static assets (images, fonts, icons)
- JSON data files
Not Supported
- Server-side code (Python, PHP, Node.js, Ruby, etc.)
- Backend APIs or databases
- Server-side rendering
- File system operations
- Server-side authentication
- Archive formats other than .zip (no .rar, .7z, .tar.gz)
How to Create a Single-Page App
Prerequisites
Before you begin, ensure you have:
- An ARPIA account with access to a Workarea
- MCP (Model Context Protocol) configured in ARPIA with the nodes and workspaces you'll use
- A development environment (Cursor, VS Code, Lovable, etc.)
Step 1: Configure MCP in Your Development Environment
If you're using Cursor or similar AI-powered IDEs, configure the ARPIA MCP for seamless integration:
A. Access MCP Configuration in Cursor
- Open Cursor settings
- Navigate to the "Tools & MCP" tab
- Select "New MCP Server"

Screenshot showing Cursor settings with Tools & MCP tab and New MCP Server option highlighted
B. Add ARPIA MCP Configuration
- In the
mcp.jsonconfiguration file, add:
{
"mcpServers": {
"MCP Arpia": {
"url": "https://cloud.arpia.ai/mcp/?token=INSERT_TOKEN_HERE"
}
}
}
- Replace
INSERT_TOKEN_HEREwith your actual ARPIA MCP token - Save the configuration file

Screenshot of the mcp.json configuration file with ARPIA MCP URL
Step 2: Create SPA in ARPIA Platform
A. Initialize the Application
- Navigate to AI Apps Studio in your ARPIA Workarea

Screenshot showing the ARPIA interface with AI Apps Studio highlighted
- Click the "+ CREATE APP" button

Screenshot highlighting the "+ CREATE APP" button in the interface
- Enter a name for your application
- In the "App Type" field, select "Single Page App (SPA)"
- Click "CREATE"

Screenshot of the Create App form with App Type dropdown showing "Single Page App (SPA)" option
- You'll be redirected to your SPA's main configuration page

Screenshot of the main SPA configuration page after creation
B. Download the ARPIA UX SDK
To ensure your app follows ARPIA's design system and integrates properly:
- On your SPA configuration page, locate the dropdown arrow next to the "UPLOAD VERSION" button
- Select "Download UX SDK"

Screenshot showing the dropdown menu with "Download UX SDK" option
- A ZIP file containing the SDK will be downloaded
The SDK includes:
- template.html: Base HTML structure
- instructions.md: Design guidelines and UX patterns
- README.md: Implementation instructions
- assets/: Design assets and resources
- css/: ARPIA styling framework
Step 3: Set Up Your Development Environment
A. Create Project Structure
- Create a new folder for your project on your computer
- Open the folder in your development environment (Cursor, VS Code, etc.)
- In Cursor: File → Open Folder

Screenshot showing Cursor's File menu with "Open Folder" option
- Extract the contents of the ARPIA UX SDK ZIP file into your project folder

Screenshot showing the file explorer with the arpia-ux-sdk folder extracted
Your project structure should look like:
my-spa-project/
├── arpia-ux-sdk/
│ ├── assets/
│ ├── css/
│ ├── instructions.md
│ ├── README.md
│ └── template.html
├── (your application files will go here)

Screenshot of Cursor showing the arpia-ux-sdk folder structure in the sidebar
B. Review SDK Documentation
Before development, thoroughly review:
- instructions.md: Contains design guidelines, UX patterns, and conventions
- README.md: Provides implementation instructions and best practices
- template.html: Shows the required DOM structure
Step 4: Develop Your Application
A. Use the AI-Assisted Development Prompt
If using AI-powered development tools (Cursor, GitHub Copilot, etc.), use this prompt template to ensure proper integration:
# SPA Development Prompt – ARPIA / Cursor
## Objective
Act as a Frontend Developer using the Arpia UX SDK to develop a **Single Page Application (SPA)** using the **Cursor platform**. Reference `@instructions.md` for class rules and `@template.html` for the DOM structure.
Static assets only (HTML, CSS, JS, images). The server-side request will be managed by the ARPIA platform, so there's no need to create server-side functions or files.
## Context & Resources
- The project includes an **ARPIA-provided UX SDK**.
- Inside the project folder you will find:
- An **HTML template** that must be used as the base of the application.
- An `instructions.md` file containing **design guidelines, UX patterns, and conventions**.
⚠️ **You must read and follow both `instructions.md` and `README.md` before making any architectural or implementation decisions.**
## Application Domain
- The application is built on **MCP Arpia**.
- Core entities:
- **[List your entities, e.g., Leads, Opportunities, Customers]**
- The application must:
- Display and manage information related to [your entities]
- Provide tools to **create, update, and manage** [your entities] using MCP Arpia capabilities.
## Development Guidelines
- Follow the **file structure, UX patterns, and conventions** defined by the ARPIA UX SDK.
- Reuse existing templates and components whenever possible.
- Do not introduce new architectural patterns unless clearly justified.
- Keep the codebase **modular, readable, and maintainable**.
- Follow SPA best practices appropriate for the Cursor platform.
- **For the REST API calls, use static Endpoint calls, based on these endpoints, use the MCP collection id as a bearer token:**
"resources": "https://cloud.arpia.ai/mcp/api/v1/collections/{collection_id}/resources",
"tools": "https://cloud.arpia.ai/mcp/api/v1/collections/{collection_id}/tools"
## Assumptions & Clarifications
- **The index.html should be in the root of the folder.**
- **The css file should use relative paths.**
- **Do not assume missing requirements or behaviors.**
- If any part of the scope, data model, APIs, or UX flows is unclear, **ask for clarification before proceeding**.

Screenshot showing Cursor with AI agent developing the application files
B. Development Best Practices
- Keep your apps lightweight for faster loading
- Minimize and optimize your JavaScript and CSS
- Use responsive design for cross-device compatibility
- Include proper error handling
- Use relative paths for all file references (no absolute paths)
- Test across multiple browsers (Chrome, Firefox, Safari, Edge)
- Follow the structure and patterns in the ARPIA UX SDK
C. File Organization
Ensure your final structure has index.html at the root:
my-app/
├── index.html # Required at root level
├── styles/
│ └── main.css
├── scripts/
│ └── app.js
├── images/
│ └── logo.png
└── assets/
Step 5: Package Your Application
Once development is complete:
- Select all your application files and folders
- Compress them into a ZIP archive (must be .zip format)
- Ensure the ZIP file includes all necessary dependencies
- Verify the archive size does not exceed 25MB
- Critical: Confirm index.html is at the root level of the ZIP (not nested in a folder)
Requirements Checklist:
- ✅ index.html is at the root level
- ✅ No server-side code (PHP, Python, Ruby, etc.)
- ✅ Static assets only (HTML, CSS, JS, images)
- ✅ Total size under 25 MB when compressed
- ✅ Only .zip format
Step 6: Upload to ARPIA
A. Upload Your First Version
- Return to your SPA configuration page in ARPIA
- Click "UPLOAD VERSION"

Screenshot showing the UPLOAD VERSION button on the SPA configuration page
- In the upload form:
- Drop your ZIP file in the designated area or click to browse
- Version Name: Enter a descriptive version name (e.g., "v1.0.0 - Initial Release")
- Changelog / Release Notes: Describe what's in this version

Screenshot of the Upload Version form with ZIP file uploaded and fields filled
- Click "PROCESS VERSION"
- Wait for the upload and extraction to complete
B. Review Upload Results
After processing, you'll see:
- Version listed in the versions table
- Upload date and timestamp
- Version size
- Status indicator

Screenshot showing the version successfully uploaded in the versions table
Step 7: Manage and Deploy Your App
Version Actions
For each version, you have these actions available:
- Publish Version: Makes this version the active, live version that users will see
- Open: Opens the version in your browser for preview/testing
- Download: Downloads the version's files as a ZIP for backup or local testing
- Delete: Removes the version from the list (cannot delete the currently published version)

Screenshot showing multiple versions (v1, v2, v3) in the version management table

Screenshot showing the Actions dropdown menu with Publish, Open, Download, and Delete options
Publishing Your App
- Locate the version you want to make live
- Click "Actions" → "Publish Version"
- Confirm the publication
- The app is now accessible to users based on your access control settings
Step 8: Access Your Deployed App
Once deployed, your app is accessible through:
- Direct Link: ARPIA generates a unique URL for your app
- Format:
https://cloud.arpia.ai/spax/[your-app-id]/[app_version] - Find the link in the app details page
- Format:
- Workarea Apps Menu: Apps appear in your Workarea's applications list
- Sharing: Copy the link to share with authorized users
- Bookmarking: Users can bookmark the URL for quick access

Screenshot of the deployed leads management application with navigation, statistics, and data table
Managing Your Apps
Updating Versions
To release a new version of your app:
- Make updates to your local application files
- Test thoroughly in your development environment
- Create a new ZIP archive with your updated files
- Navigate to your app in ARPIA
- Click "Upload Version"
- Upload the new ZIP file
- Provide a new version name (e.g., "v1.1.0 - Bug fixes and improvements")
- Add detailed changelog entries describing the changes
- Click "Process Version"
- Once processed, decide whether to:
- Publish immediately: Make this the active version
- Keep previous version active: Test the new version first before publishing
Version Rollback
To revert to a previous version:
- Navigate to your app's version history
- Locate the version you want to activate
- Click "Actions" → "Publish Version"
- Confirm the rollback action
- The selected version becomes the active version immediately
Deleting Versions
To remove old versions:
- Go to version management
- Select versions to delete (cannot delete the currently published version)
- Click "Actions" → "Delete"
- Confirm deletion
- The version is permanently removed
Access Control
Configure who can access your app:
- Workarea Private: Only members of your Workarea can access
- ARPIA Public: Any authenticated ARPIA user can access
To change access settings:
- Go to your app's settings
- Select access level
- Save changes
Monitoring Usage
View analytics about your app:
- Total Opens: How many times the app has been launched
- Access Timeline: When the app was accessed
- Active Version Usage: Which version is being used most
- User Engagement: Patterns in how users interact with your app
Integration with ARPIA
Accessing ARPIA Data
Single-Page Apps can interact with ARPIA's data through:
- ARPIA JavaScript SDK: Include the SDK in your app for seamless integration
- MCP API Calls: Make authenticated requests to ARPIA's MCP endpoints
- Knowledge Node Queries: Retrieve data from your Workarea's Knowledge Nodes
MCP API Integration
Use the MCP API to access ARPIA resources and tools:
// API Endpoints
const ARPIA_API = {
resources: "https://cloud.arpia.ai/mcp/api/v1/collections/{collection_id}/resources",
tools: "https://cloud.arpia.ai/mcp/api/v1/collections/{collection_id}/tools"
};
// Example: Fetch resources
async function fetchResources(collectionId, bearerToken) {
try {
const response = await fetch(
ARPIA_API.resources.replace('{collection_id}', collectionId),
{
headers: {
'Authorization': `Bearer ${bearerToken}`,
'Content-Type': 'application/json'
}
}
);
const data = await response.json();
return data;
} catch (error) {
console.error('Error fetching resources:', error);
throw error;
}
}
Authentication
- Apps inherit the user's ARPIA session
- No additional authentication required for same-domain API calls
- Use the ARPIA SDK for automatic credential handling
- MCP collection ID serves as the bearer token for API calls
Example: Querying Knowledge Node Data
// Using ARPIA SDK
const arpiaClient = new ARPIA.Client();
async function fetchData() {
try {
const data = await arpiaClient.knowledgeNode.query({
node: 'sales-data',
filters: { year: 2024 }
});
console.log(data);
} catch (error) {
console.error('Error fetching data:', error);
}
}
Best Practices
Development
- Use the ARPIA UX SDK: Always base your app on the provided SDK templates
- Follow SDK Guidelines: Read and implement instructions.md and README.md patterns
- Keep apps lightweight: Optimize for faster loading
- Responsive design: Ensure cross-device compatibility
- Error handling: Include comprehensive error handling
- Relative paths: Use relative paths for all file references
- Browser compatibility: Test across Chrome, Firefox, Safari, Edge
- Code comments: Document complex logic inline
- Modular structure: Keep code organized and maintainable
Version Management
- Semantic versioning: Use standard versioning (e.g., v1.2.3)
- Major: Breaking changes
- Minor: New features, backwards compatible
- Patch: Bug fixes
- Clear changelogs: Write descriptive release notes
- Test before publishing: Always preview versions before making them live
- Keep rollback versions: Maintain previous stable versions
- Document breaking changes: Clearly note any breaking changes
- Version naming: Use consistent, descriptive version names
Documentation
- Enhance AI descriptions: Build on auto-generated descriptions with specifics
- Document requirements: Note any configuration or setup needs
- User instructions: Provide clear usage guidelines for end users
- Support contact: Include support information
- Code documentation: Add inline comments for complex logic
- Update regularly: Keep documentation in sync with app changes
Security
- No hardcoded credentials: Never include sensitive credentials in code
- Input validation: Validate and sanitize all user inputs
- Web security: Follow XSS prevention and CSP best practices
- Update dependencies: Keep libraries and frameworks current
- CORS awareness: Be mindful when calling external APIs
- HTTPS only: Use HTTPS for all external resource requests
- Secure storage: Use secure browser APIs (not localStorage for secrets)
- Token handling: Properly manage and secure API tokens
Limitations
- Maximum ZIP file size: 25MB when compressed
- Only .zip archive format accepted
- No server-side processing capabilities
- Limited to client-side JavaScript execution
- Cannot access server file systems
- No direct database connections from client code
- index.html must be at the root level of the ZIP
- No server-side languages (Python, PHP, Ruby, Node.js)
- No persistent server storage
Use Cases
Single-Page Apps in ARPIA are perfect for:
- Custom Dashboards: Visualize data from ARPIA's Knowledge Nodes with interactive charts
- CRM Tools: Manage leads, opportunities, and customer relationships
- Interactive Tools: Calculators, converters, and utilities for your team
- Data Visualizations: Real-time charts, graphs, and reports from ARPIA data
- Form Builders: Custom input interfaces for data collection
- Productivity Tools: Task managers, timers, note-taking apps
- Educational Content: Interactive tutorials and guides
- Analytics Dashboards: Monitor KPIs and metrics from your Workarea
- Reporting Tools: Generate custom reports from ARPIA's Reasoning Atlas
- Sales Management: Track and manage sales pipelines and activities
- Project Management: Custom project tracking and collaboration tools
Troubleshooting
Common Issues
Upload Fails
- Verify ZIP file is under 25MB
- Ensure index.html is at root level (not in a subfolder)
- Check that only .zip format is used (not .rar, .7z, etc.)
- Remove any server-side code files
App Doesn't Load
- Check browser console for JavaScript errors
- Verify all file paths are relative (not absolute)
- Ensure all dependencies are included in the ZIP
- Test the app locally before uploading
API Calls Fail
- Verify MCP collection ID and bearer token
- Check API endpoint URLs are correct
- Ensure proper CORS configuration for external APIs
- Confirm user authentication is valid
Styling Issues
- Verify CSS files are properly linked with relative paths
- Check that ARPIA UX SDK styles are included
- Test across different browsers
- Ensure no conflicting CSS frameworks
Support
For additional help:
- Review the ARPIA UX SDK documentation included with each download
- Contact your Workarea administrator
- Submit feedback through the ARPIA platform
- Check the ARPIA documentation portal for updates
Image Assets
To use this documentation, save the following screenshots in an images/ folder:
01-cursor-mcp-settings.png- Cursor settings showing Tools & MCP tab02-mcp-json-config.png- MCP configuration file example03-ai-apps-studio-home.png- ARPIA AI Apps Studio interface04-create-app-button.png- "+ CREATE APP" button location05-create-app-form.png- Create App form with SPA option06-spa-config-page.png- Main SPA configuration page07-download-ux-sdk.png- Download UX SDK dropdown option08-cursor-open-folder.png- Cursor File menu with Open Folder09-project-folder-structure.png- File explorer showing extracted SDK10-cursor-file-explorer.png- Cursor sidebar with folder structure11-cursor-development.png- Development in progress screenshot12-upload-version-button.png- UPLOAD VERSION button13-upload-version-form.png- Complete upload form with ZIP file14-version-uploaded.png- Version successfully uploaded15-multiple-versions.png- Multiple versions in management table16-version-actions-dropdown.png- Actions dropdown menu17-deployed-app-running.png- Final deployed application
Changelog
Stay informed about updates to the SPA feature:
- Version tracking for platform improvements
- New capabilities and integrations
- Bug fixes and enhancements
- Best practice updates
I've added image placeholders throughout the documentation with:
- ✅ Descriptive alt text for accessibility
- ✅ Meaningful filenames that match the content
- ✅ Italicized captions explaining what each screenshot shows
- ✅ Strategic placement at the exact steps where users need visual guidance
- ✅ A complete list at the end showing all 17 images needed
The images folder structure should be:
documentation/
├── spa-documentation.md
└── images/
├── 01-cursor-mcp-settings.png
├── 02-mcp-json-config.png
├── 03-ai-apps-studio-home.png
├── ... (all 17 images)
└── 17-deployed-app-running.png
Updated 1 day ago
