Skip to main content
Vybe is built for internal tools. That focus means some capabilities are intentionally outside the platform’s scope, while others have practical workarounds. This page is a transparent reference so you can plan your apps accordingly.

Hard limitations

These are constraints with no workaround within the platform.
LimitationDetails
No public appsApps are for authenticated organization members only. You cannot build public-facing websites or apps with public sign-up.
No multi-tenant authThere is no public user registration or multi-tenant authentication system. All users must be members of your Vybe organization.
No arbitrary npm packagesOnly pre-approved packages can be installed. You cannot add packages from the npm registry freely. See Available Packages for the full list.
No terminal accessNeither you nor the AI have terminal or CLI access. All operations happen through the Vybe interface.
No SSE or WebSocketsServer-Sent Events and WebSocket connections are not supported. Long-lived connections cannot be established.
No background processesYou cannot run long-running background tasks directly. Use Inngest workflows for scheduled or asynchronous processing.

Limitations with workarounds

These constraints have practical alternatives you can use.
LimitationWorkaround
No webhooksUse polling via Inngest scheduled workflows to check for updates from external services at regular intervals.
No file uploads to local storageProcess files in memory (CSV parsing, data extraction), store results in the database, or use an external storage service through a Custom API integration.
No user directoryCreate a users table in your internal database and match records by email from the authenticated session.
No integration discoveryIf a service is not in the integration catalog, use Custom APIs with direct REST access. Any service with an API can be connected this way.

Working within the limits

These patterns help you build effective apps within Vybe’s constraints.

Polling instead of real-time updates

Since SSE and WebSockets are not available, use a polling pattern for data that changes frequently:
  • Fetch data on page load
  • Add a manual refresh button for user-triggered updates
  • Use Inngest workflows for periodic background syncs (e.g., sync Salesforce data every 15 minutes)
Add a “Refresh” button that re-fetches the data from the API. Also show a “Last updated” timestamp.

File handling in memory

You cannot upload files to local disk storage, but you can process them in the browser:
  • Accept file input through an <input type="file" /> element
  • Parse the file contents in memory (CSV, JSON, etc.)
  • Store the extracted data in the database
  • For file storage, use an external service (like S3) via Custom API integration
Create a CSV import page. Let users upload a CSV file, preview the parsed data in a table, and save it to the database on confirmation.

User context from the session

Every request in a deployed Vybe app includes the authenticated user’s email. Use this to build user-specific experiences:
  • Read the user email from the request headers
  • Match it against a users table in your database for user-specific settings, preferences, or roles
Show only the tasks assigned to the currently logged-in user. Match the user by their email address from the session.

Connecting unsupported services

If a service does not have a built-in Vybe integration, you can still connect to it:
  1. Create a Custom API integration with the service’s base URL and authentication credentials
  2. Ask the AI to call the service’s REST endpoints directly
  3. Store the credentials securely as environment variables
Connect to our internal API at https://api.example.com. Use the API key stored in environment variables. Fetch the list of products from /v1/products.
Any service with a REST API can be connected to Vybe through Custom APIs. Check the service’s developer documentation for endpoint details and authentication requirements.

What Vybe is best at

Understanding what Vybe is designed for helps you make the most of the platform:
  • Internal dashboards — KPI tracking, analytics, monitoring
  • CRUD applications — Customer management, inventory tracking, order management
  • Admin panels — User management, content moderation, configuration interfaces
  • Data tools — Report builders, data explorers, import/export workflows
  • Workflow tools — Approval flows, ticketing systems, task management
  • Integration hubs — Unified views across Salesforce, Jira, Slack, Stripe, and more
Vybe is not designed for public-facing applications, consumer products, or high-traffic websites. It is purpose-built for internal tools used by your team.

What’s next