What is an app?
An app in FlowFn is a container that groups workflows, forms, and visualizers together. Every workflow belongs to an app. Each app has its own app code and API key used for API and webhook integrations.
Creating an app
- From the dashboard, go to Apps and click Create app.
- Enter a name and an optional description.
- Choose a subdomain. We suggest one from the name — adjust it if you like. This becomes your app's public address,
<subdomain>.flowfn.com, and has to be available before you can create the app. - The app is created with that subdomain plus a unique
codeand an encryptedapi_key.
Your app's address
Every app claims a subdomain at creation, so its public forms, visualizers, and playgrounds get a clean, branded address from day one — for example acme.flowfn.com/f/<slug>. You can change the subdomain later, or attach your own custom domain if your plan includes it, from the app's settings — see Public Hosting, Custom Domains & Subdomains for the full setup, including how each playground can take its own subdomain. Subdomains are unique across FlowFn, and a short list of reserved names can't be claimed. When you delete an app, its subdomain (and custom domain) are released so the name becomes available again. We may also release a subdomain that breaches our Acceptable Use Policy (for example, one used to impersonate a brand).
App code and API key
Each app has a code and an api_key. You use these to authenticate when triggering workflows via the API or webhook. Find them in the app settings page. Keep the API key secret; if compromised, reset it from the app settings (the old key stops working immediately).
See App Credentials and Workflow Code for usage in API calls.
Activating and deactivating apps
You can activate or deactivate an app from the app settings. Deactivating an app does not delete it, but workflows within it will not execute via automated triggers until the app is reactivated.
Deleting, moving, and restoring
An app can only be deleted once it's empty. If it still contains workflows, forms, visualizers, agents, or playgrounds, the delete is blocked and tells you what's inside — move those items to another app, or delete them, first.
You can move any of those items to a different app in the same team using the Move action on its grid; the item's data and links come with it.
Transferring to another team
If you're an owner or admin of two teams, you can hand work from one to the other — for example, an agency finishing an app for a client and giving it to the client's own team.
Transfer a whole app from its Danger zone (open the app, scroll to the bottom), or a single workflow, form, visualizer, agent, playground, or stream with the Transfer to another team action on its grid. Either way you pick the destination, then see a pre-flight summary before anything changes, and confirm.
What travels and what doesn't:
- The item — and everything it owns (runs, submissions, sheets, uploads, history) — and its own environment variables move with it. Public webhook and API URLs keep working.
- Connections that belong to the old team are cleared — platform-tool connections and AI keys are team-specific, so they can't follow the item. The summary tells you how many; re-connect them in the destination team afterward. Approval assignees who aren't members of the destination team are removed too.
- When you move a single item (not the whole app), it uses the destination app's shared (app-level) environment variables, and any links it had to other items left behind (a stream binding, an agent's workflow trigger) stop working — move those too, or reconnect them.
- If the destination team is at its plan limit for that kind of item, the item still arrives but is flagged over plan limit (paused) until the team upgrades or frees a slot.
Transfers are recorded in both teams' audit trails. A transfer is immediate; to move work between teams you don't both administer, share access instead.
Deleting an app — or any item inside one — is recoverable: it goes to the Trash (open it from Apps → Trash), where you can restore it. After a grace period, trashed items are permanently removed. A released subdomain is not restored automatically; re-claim one if it's still free.
Plan limits
Your plan defines how many apps you can create per team. Check your plan details in Billing and Plans.