Feature docs

Apps marketplace on Vareons: install, purchase, open, and uninstall for every app

The apps marketplace is the merchant gateway to eleven first-party apps inside the dashboard: an installed-apps section plus a discovery section, where each card carries install, buy-and-activate, or open actions with a remove button, and each app's availability is decided by the subscription plan.

Last verified: 2026-09-19

The apps marketplace lives at /dashboard/apps as a single page built on the AppsPage component from the features/dashboard-apps package. The page has two large cards: "Installed Apps" showing what the merchant has currently enabled with a description per app, and the "App Marketplace" showing the rest of the installable catalog. When nothing is installed, an empty state titled "No apps installed yet" points the merchant to browse the marketplace below.

Every catalog app renders the same card: a round icon (WhatsApp with a custom mark, AI with an AI badge, the rest with an image), the name localized to the dashboard language, the developer name, a two-line short description, a price badge (Free or a monthly amount with currency), and a "Featured" badge for promoted apps. The footer button switches by state: an Install button with a download icon for new apps, a Buy-and-activate button with a cart icon for paid ones, an Open button for installed apps that have a route, a Configure button for those without one, and a red trash icon for removal.

The three flows go through the appsApi layer in the UI: install calls POST /api/apps/install then refreshes the list and re-fetches the user profile with a success toast, purchase calls POST /api/apps/purchase with an idempotency key then activates for thirty days, and uninstall calls POST /api/apps/uninstall. If the server returns needsPurchase during install, the UI automatically switches to the purchase path. Every operation shows a loading toast followed by a localized success or error message in Arabic or English.

The single source of truth for the catalog is the APPS_CATALOG array in lib/server/apps/catalog.js: eleven entries with id, name, description, category, developer, rating, price, path, billing type, icon key, Arabic and English labels, and a default-enabled flag. Protected paths are registered in APP_GATED_PATHS, so the route of an uninstalled app never opens. planAppAccess.js adds each app's plan mode: included for free availability, paid with a monthly price and currency, or disabled for plans where the app is hidden from the marketplace and its install is rejected with "This app is not available in your plan".

The eleven apps are: WhatsApp automation (/dashboard/whatsapp), AI (/dashboard/ai-usage), QR maker (/dashboard/qr-maker), linktree (/dashboard/linktree), link shortener (/dashboard/link-shortener), tasks (/dashboard/todo), calendar (/dashboard/calendar), revenue (/dashboard/revenue-command-center), accounting (/dashboard/finance), affiliates (/dashboard/affiliate), and catalog sync (/dashboard/catalog-sync). Enabled apps are resolved per request through resolveEnabledApps, which reads the per-tenant stored flags and returns the full catalog with install markers for the marketplace page.

Setup steps in Vareons

  1. Open the apps marketplace

    In the dashboard, open /dashboard/apps. You will see the Apps and Integrations heading with the installed-apps card and the marketplace card.

  2. Install a free app

    On the app card, press Install. The UI sends POST /api/apps/install; on success the app moves to the installed section and your profile refreshes.

  3. Buy and activate a paid app

    For a paid app, press Buy and activate. It sends POST /api/apps/purchase with an idempotency key and activates the app for thirty days, showing the expiry date on the card.

  4. Open the installed app

    After installing, press Open to navigate to the app route (for example /dashboard/whatsapp). A Configure button appears for apps without a direct route.

  5. Remove an app you no longer need

    Press the trash icon on the card. The UI sends POST /api/apps/uninstall and the app returns to the marketplace while your profile refreshes.

Frequently asked questions

Where do I find apps in the Vareons dashboard?

At /dashboard/apps under Apps and Integrations: an upper section for installed apps and a lower marketplace section, with each app opening from its own route after install.

How many apps are available?

Eleven first-party Vareons apps: WhatsApp, AI, QR maker, linktree, link shortener, tasks, calendar, revenue, accounting, affiliates, and catalog sync.

Is installation free?

Install is free for apps included in your plan through the Install button, while paid apps use a buy-and-activate button with a thirty-day period and a visible expiry date.

What does it mean that an app is unavailable in my plan?

It means the app mode is disabled for your plan: it is hidden from the marketplace and installs are rejected with a notice. Review your subscription plan or contact support to upgrade.

What happens when I remove an app?

It sends POST /api/apps/uninstall: the app leaves the installed section and returns to the marketplace, and your profile refreshes. It does not delete your core store data.

Do I see the paid app expiry date?

Yes, the installed app card shows an Expires on date localized to the dashboard language whenever the app carries a subscription.

Troubleshooting

1) If apps fail to load, refresh and confirm you are signed in; the load error means GET /api/apps failed. 2) If you see the unavailable-in-plan notice, the app mode is disabled for your current plan. 3) If purchase is requested during install, the app is paid: complete the buy-and-activate button. 4) If the app does not move to installed after success, refresh; the list is fetched from the server with the profile. 5) Open only works for an installed app that has a registered catalog path.

Important limitations

• The catalog currently holds eleven first-party Vareons apps with no third-party developer store. • Card ratings and review counts are default display values, not a live review marketplace. • Paid modes activate for thirty days per purchase. • Removing an app disables access to its gated path but does not erase past activity records.

Related links

تواصل معنا على واتساب