Skip to content

Teams and roles ​

Forms, API keys and the plan belong to a workspace. People join a workspace with a role.

Workspaces ​

  • The first sign-in creates a personal workspace named after the part of the email before @. The account is its owner.
  • An account can belong to several workspaces. The account menu in the top bar lists them with the role in each and switches between them.
  • The session stores the current workspace. If it is gone or the membership was removed, the next request uses the oldest membership.
  • Claimed forms go to the current workspace of the person who claims them.

Roles ​

ActionOwnerEditorViewer
Read forms and responses, export CSVYesYesYes
See members and usageYesYesYes
Turn own email notifications on or offYesYesYes
Leave the workspaceYes, unless the last ownerYesYes
Create forms, paste JSON as a new versionYesYesNo
Change success message, redirect, notifications, webhookYesYesNo
Pause and resume formsYesYesNo
Claim forms published by an agentYesYesNo
Delete formsYesNoNo
Create and revoke API keysYesNoNo
Invite, remove and change roles of membersYesNoNo
Plan and upgradeYesNoNo
Rename or delete the workspaceYesNoNo

The dashboard hides actions a role cannot take. The service checks the role again on every call and answers 403 forbidden through the REST API and the MCP server.

A workspace always has an owner. The last owner cannot leave, be removed or be demoted.

Invites ​

An owner invites an email address with a role on Settings > Members.

ItemValue
Email subjectYou're invited to a Formhaus workspace
Linkhttps://app.formhaus.dev/invites/{token}, valid 7 days
AcceptingSign in with the invited address, then press Accept invite
ResendCreates a new link and stops the old one. At most once per 10 minutes and 5 sends per invite.
RevokeThe link stops working
Daily limit20 invites per workspace
Pending listVisible to owners only
  • Accept needs the inviter to still be an owner. Demoting or removing an owner revokes the invites they sent.
  • Joining keeps the other workspaces of the account.
  • Email notifications are on for new owners and off for new editors and viewers.

Member limits ​

Owners and editors, plus pending unexpired editor invites, count as seats. Viewers are free and unlimited on every plan.

PlanEditor seats
Free1
Pro3
Team10

When the seats are full, invites and role changes to editor or owner are refused. Viewer invites still work. Plans are in Plans, limits and data.

Removing a member ​

Removing a member, or a member leaving, in one step:

  • revokes the API keys that member created in the workspace;
  • revokes pending invites for that email;
  • ends their access on their next request.

API keys in a team ​

KeyActs asWorks while
fh_live_...Editor of the workspaceIts creator is an owner of the workspace
fh_agent_... after a claimEditor, limited to forms it createdIts creator is an owner or editor
fh_agent_... before a claimIts unclaimed forms onlyIt has not expired

Demoting the creator suspends their keys. Removing the creator revokes them. Only owners create keys. Details are in Publishing.

Settings calls (PATCH /v1/forms/{id}, update_form_settings) accept fh_live_ keys only; agent keys, also after a claim, answer owner_key_required.

Deletion ​

ActionWhereConfirmEffect
Delete workspaceSettings > Members, ownerType the workspace nameDeletes its forms, responses, webhooks, API keys, memberships and invites
Delete accountSettings > AccountType your emailDeletes the account, its sessions and memberships. Revokes the keys it created and the invites it sent.

Deleting an account also deletes each workspace where the account is the only member, with its forms and responses. The account stays in workspaces that have other members, and their forms stay. The page lists both groups before you confirm.

Deletion is refused while the account is the only owner of a workspace with other members. Make another member an owner first.

Formhaus is MIT licensed. Legal