Team Management and Roles
This guide covers the technical details of WittyForm's team management system, including the invitation flow, the two role model, the permission model, and how team features interact with billing and the API. Team management requires the Pro plan or above.
Invitation flow
When the Owner invites a new member, the following sequence occurs:
- An invitation record is created with the invitee's email, the Editor role, and an expiration timestamp set to 7 days from creation.
- WittyForm sends a transactional email containing a unique invitation link in the format
https://wittyform.com/invite/[token]. The token is a signed JWT containing the workspace ID, the Editor role, and the expiration. - If the invitee has an existing WittyForm account, clicking the link adds them to the workspace immediately and redirects to the workspace dashboard.
- If the invitee does not have an account, clicking the link opens the sign-up flow with the workspace pre-filled. After completing registration, they are automatically added to the workspace as an Editor.
- Expired invitations can be resent, which generates a new token and resets the 7-day expiration window.
The two roles
WittyForm uses a simple two role model. Every workspace has exactly one Owner, and everyone you invite joins as an Editor:
- Owner: the person who created the workspace and holds the subscription. The Owner manages billing, invites and removes members, edits workspace settings, and can delete the workspace.
- Editor: a collaborator who can build, edit, publish, and manage forms and quizzes, view responses and analytics, and set up integrations. New invites are always Editors.
There is no separate Admin or Viewer tier. If you need to hand the workspace to someone else, the Owner can transfer ownership from the danger zone in workspace settings.
Permission matrix
The following table details every permission and which role has access:
| Permission | Owner | Editor |
|---|---|---|
| View forms | Yes | Yes |
| View responses | Yes | Yes |
| View analytics | Yes | Yes |
| Export responses | Yes | Yes |
| Create forms/quizzes | Yes | Yes |
| Edit forms/quizzes | Yes | Yes |
| Delete forms/quizzes | Yes | Yes |
| Publish/unpublish forms | Yes | Yes |
| Manage integrations | Yes | Yes |
| Manage webhooks | Yes | Yes |
| Invite/remove members | Yes | No |
| Workspace settings | Yes | No |
| Brand profile | Yes | No |
| Billing management | Yes | No |
| Transfer ownership | Yes | No |
| Delete workspace | Yes | No |
Billing inheritance
All team members in a workspace operate under the workspace Owner's subscription tier. Individual members do not need their own paid plan to access Pro or Enterprise features: the Owner's plan covers the entire workspace.
If a member belongs to multiple workspaces, the features available to them depend on which workspace they are currently working in. A member might have Enterprise features in one workspace (where the Owner has an Enterprise plan) and only Free tier features in another.
Team seat limits vary by plan:
| Plan | Included seats |
|---|---|
| Free | 1 (Owner only) |
| Pro | 10 |
| Enterprise | Unlimited |
WittyForm is a one time lifetime purchase, so there are no per seat monthly charges. Your plan determines how many people you can bring into a workspace.
API access scopes
API keys are generated at the workspace level, not per user. The key's scope determines what operations it can perform:
| API scope | Capabilities |
|---|---|
read | List forms and retrieve responses |
write | All read capabilities plus create and edit forms and submit responses |
admin | All write capabilities plus delete forms and manage webhooks |
The Owner generates and manages API keys for the workspace. Choose the narrowest scope your integration needs.