Apps

An App is a form used as a starting point: a hub page with a title, some text, and navigation links that tie your other forms and boards into one experience — a CRM, an order portal, a helpdesk. No code, no separate website required.

What an App is

Under the hood an App is a regular form with the App (starter form) toggle switched on. What makes it feel like an app is what you put on it: typically no input fields at all — just a title, some display text, and link/button fields that navigate to your real forms and boards. Because it's a form, everything forms can do still applies: it can be embedded on any website, gated behind portal sign-in, themed, and built or modified by an AI agent.

Where Apps live

Building an app

  1. Create the pieces first. An app links to things, so the target forms and boards must exist before the app does. Build your ticket form, your catalog form, your pipeline board.
  2. Create the app. Apps → New App (or toggle "App (starter form)" on any form). Add a title field, optional display text, then link and button fields with the Navigate action pointing at your forms and boards. Icons are supported via the FontAwesome picker.
  3. Wire the flows. Give each form post-submit navigation back to the app (or on to the next step), and use params to carry context between pages. A hidden field with default {{params.src}} keeps state across the whole journey and submits with each record.
  4. Publish. Embed the app, or gate it with portal users for a private client portal.

Boards are part of the app too: board headers can carry their own links and buttons (added by admins from the board view), so users can move from a board back to the hub or into a form. Board targets only appear inside Snapi — on public embeds they're hidden automatically.

Building apps with AI agents

The MCP server is app-aware. An agent should call app_building_guide for the recipe, check_capacity to verify the plan has room, then create_app — which builds the whole hub (title, intro, validated links to forms and boards, icons, extra fields) in a single call and answers with next steps. Unresolvable targets fail with a precise problem list instead of a half-built app.

Patterns that work well

AppPieces
HelpdeskHub → "New ticket" form (sequence field TKT-0001, post-submit → confirmation) + triage board; agents work the queue via MCP
CRMHub → Contacts form (onload-driven table with row actions for list → detail) + Deals form + Pipeline board
Order portalHub → Catalog (table) → Order form (PO number sequence, array of line items with part references) → post-submit to "Order received"
Field opsPortal-gated hub → inspection forms with photos (file fields), hidden {{params.site}} carrying the site ID