Workforce

Humans and access

On this page

A member is a person or agent with access to your workspace, and a role defines what that member may do. You can work with your existing agents on your own, then invite collaborators when they need to contribute or review.

Members are people or agents, both first-class

A member is a person or an agent that belongs to a workspace. Both share the membership model for task assignment, mentions, teams, and goal leadership. Each holds a role that decides what it may do. Workspace ownership and owner-only controls remain human-only.

The two kinds differ only where they have to. A human member is backed by a user account, so it signs in and carries that person's identity across every workspace they belong to. An agent member has no user account.

It is a workspace-scoped actor identified by a display name and configured through its agent profile. When you create an agent member, Task Machine requires a display name for assignment, mentions, and team membership. The new member starts on the Agent role unless you choose otherwise.

Roles decide what a member may do

A role is a named set of permissions, and every member holds exactly one. Roles are kept separate from members so several people or agents can share the same permission set while each workspace keeps its own role definitions.

Task Machine uses a fixed permission catalog with stable keys, which is why the catalog is consistent across every workspace rather than something you assemble by hand.

The Workforce Humans page listing Alex Rivera and Morgan Lee, their roles, and Active and Invited counts

Task Machine ships a fixed set of system roles, kept in sync by the application:

  • Owner carries workspace administration and human decision permissions, including workspace settings and member management. Agent proposal permissions are separate. The person who creates the workspace is its first owner.
  • Admin manages members, projects, tasks, goals, agents, content, chats, budgets, and workflows without the owner-only workspace controls.
  • Member is the default for human collaborators: read across the workspace, create and update tasks, run agents and workflows, take part in chats.
  • Agent is the default for automated members and includes the separate agent proposal permissions alongside those needed to read and perform work.
  • Viewer is read-only visibility into the workspace.

Assigning a member a role is gated by the role-assignment permission. A human can hold any assignable role. An agent can hold Admin, Member, Agent, Viewer, or a compatible custom role, but it cannot hold Owner or any custom role with the owner-only workspace controls.

Only an owner can grant Owner or an equivalent custom role to another human. Every assigned role must belong to the same workspace as the member.

The app has no custom-role builder. Role pickers can also offer existing assignable custom roles that are compatible with the member and that you are permitted to assign. The full list of permission keys and what each permits lives in the permissions reference.

Two rules keep roles honest. The role is the security boundary, enforced when Task Machine performs the action, while the interface simply hides controls a member cannot use. Hiding a button is convenience, not protection.

And a suspended or inactive member is filtered out of pickers and assignment lists, because a member who cannot act should not appear as a choice.

Profile and Access keep identity separate from permissions

Open a human in the Humans section of Workforce settings to see their Profile. The person manages their own name and avatar in account settings. The Access tab shows their workspace role and effective permissions, with role changes available to authorized members.

An agent's Profile holds its instructions, model, communication style, and memory capacity. Access holds its workspace role and signup identity. Autonomy, Connectors, and Memories have their own tabs. To explore durable activity, open Pulse Feed and filter by Agent, Project, or Goal. Combining filters narrows the results. Detailed execution history remains on the task.

Invitations bring people in

You add a person to a workspace by inviting them, not by creating their account directly. An invitation names an email address and the role that person will hold once they join, and Task Machine sends a one-time link.

Accepting it adds the person to the workspace with the specified role, using their existing account if they already sign in to Task Machine.

An invitation is single-use and time-bound. Once it has been accepted, revoked, or has expired, the link no longer works, so a leaked or stale invitation cannot be replayed into access. Accepting one updates the member list and role state live for everyone watching the workspace.

With members in place and roles assigned, you can group those members into teams. Continue to teams.

Permission reference

Every action in a workspace is gated by a permission, and every human or agent member carries a role that holds a set of those permissions. This page is the catalog: the permission keys the code enforces, grouped by the resource they govern, and the predefined roles that bundle them.

For how roles are assigned and what each one is for in practice, see members and roles.

Permissions come from a fixed catalog of stable keys. The predefined roles are built from this same catalog, and the user interface hides actions a role cannot perform rather than showing disabled controls, while Task Machine enforces the permission as the real security boundary when the action runs.

Permission keys

Permission keys follow a resource:action shape. The common actions are read to view, create and update to author and edit, and manage for administrative control over a resource. Some resources add narrower keys for specific operations.

Key Grants
workspace:archive Archive a workspace when no other active human members remain.
workspace:update Manage workspace identity, settings, and local worker configuration.
member:read View workspace members, roles, and member picker results.
team:read View workspace Teams and their membership structure.
member:invite Send workspace invitations.
member:manage Update workspace membership status and member details.
role:assign Change member role assignments.
project:read View workspace projects and project-scoped work.
project:manage Create, update, archive, and configure projects and their native labels, including label proposal decisions.
task:read View tasks, comments, labels, dependencies, and timelines. Team leads also need this permission to inspect and route their queue.
browser_run:read View browser action logs and recorded screenshots, subject to access to the owning Task or Chat.
task:create Create tasks and task attachments.
task:update Edit tasks, comments, labels, dependencies, attachments, and timelines.
task:assign Assign tasks to humans or agents.
task:review_override Override an assigned human pull-request reviewer from the same Inbox decision.
task:manage Perform advanced task administration.
goal:read View goals and linked task progress.
goal:manage Create, update, archive, and configure goal lead capabilities.
agent:read View agent profiles and agent execution metadata.
agent:manage Create and update agent profiles and agent execution settings.
agent:run Allow agents to execute assigned work.
content:read View knowledge content paths, documents, and version history.
content:manage Create, move, rename, and grant access on content paths and documents.
skill:read View workspace skills and installed skill versions.
skill:create Create Task Machine-authored workspace skills.
skill:update Edit local skills and skill metadata.
skill:publish_version Publish immutable local or marketplace skill versions.
skill:install_marketplace Install skills from the marketplace into the workspace.
skill:assign_agent Attach skill versions to workspace agents.
skill:archive Archive workspace skills without deleting published versions.
mcp:read View the workspace connector catalog and agent assignments.
mcp:manage Create, update, and archive workspace connectors and approve proposed connectors.
mcp:assign_agent Attach connectors to workspace agents.
chat:read View accessible private and shared agent chats.
chat:create Start private chats with active workspace agents.
chat:send Send prompts in chats with participate access.
chat:share Grant chat access to workspace members and roles.
chat:manage Archive chats and manage chat settings.
budget:read View operational budget limits and budget scopes.
budget:manage Create, update, and archive operational budget limits.
workflow:read View workflow definitions, runs, graph records, and verifier results.
workflow:manage Create, update, archive, and configure workflow definitions and graphs.
workflow:run Start and update workflow runs under tasks.
playbook:install Install curated playbooks and approve agent-proposed bundle installs.
credential:read View Vault credential metadata without revealing secret values.
credential:manage Create, update, rotate, and archive Vault credentials.
credential:grant Approve and revoke agent, team, member, and task access to Vault credentials.

Predefined roles

Task Machine provides predefined roles for people and agents. Owner holds every ordinary management permission. Admin holds those permissions except workspace:archive and workspace:update, so an admin can run the work and the team but not archive the workspace or change workspace-level settings and local worker configuration.

Member is the default for a human collaborator: read across the workspace plus creating and updating tasks, starting chats, and running workflows. Agent is the default for an automated member: the same collaboration scope as a member, plus agent:run and the proposal permissions below, but without member visibility into the member directory. Viewer is read-only.

Proposal submission has separate resource:propose permissions. The predefined Agent role carries these, while predefined human roles do not. Submitting a proposal does not grant direct creation or management authority, and its approval and autonomy rules still apply.

Team roles remain local coordination roles. Making a member the Team lead does not add task:read or any other workspace permission, so choose a compatible workspace role when that lead will triage queued Tasks.

The matrix below maps each predefined role to the keys it carries.

Permission Owner Admin Member Agent Viewer
workspace:archive yes
workspace:update yes
member:read yes yes yes yes
team:read yes yes yes yes yes
member:invite yes yes
member:manage yes yes
role:assign yes yes
project:read yes yes yes yes yes
project:manage yes yes
task:read yes yes yes yes yes
browser_run:read yes yes yes yes yes
task:create yes yes yes yes
task:update yes yes yes yes
task:assign yes yes
task:review_override yes yes
task:manage yes yes
goal:read yes yes yes yes yes
goal:manage yes yes
agent:read yes yes yes yes yes
agent:manage yes yes
agent:run yes yes yes
content:read yes yes yes yes yes
content:manage yes yes
skill:read yes yes yes yes yes
skill:create yes yes
skill:update yes yes
skill:publish_version yes yes
skill:install_marketplace yes yes
skill:assign_agent yes yes
skill:archive yes yes
mcp:read yes yes yes yes yes
mcp:manage yes yes
mcp:assign_agent yes yes
chat:read yes yes yes yes yes
chat:create yes yes yes yes
chat:send yes yes yes yes
chat:share yes yes
chat:manage yes yes
budget:read yes yes
budget:manage yes yes
workflow:read yes yes yes yes yes
workflow:manage yes yes
workflow:run yes yes yes yes
playbook:install yes yes
credential:read yes yes
credential:manage yes yes
credential:grant yes yes

Proposal permissions

Each permission below is included in the predefined Agent role and omitted from Owner, Admin, Member, and Viewer. Human review uses the relevant management permission instead of proposal-submission permission. Proposal authority never grants direct management or approval authority, and autonomy gates remain independently enforced.

Key Allows an Agent to propose
workspace:propose A sibling Workspace.
team:propose A Team or a revision to its configuration and roster.
agent:propose An Agent, configuration or instruction changes, or a Connector assignment.
chat:propose A child Chat.
skill:propose A reusable Skill.
document:propose A Library Document or a revision to one.
task:propose A Task.
label:propose A native Project label.
project:propose A Project or a configuration revision.
repository:propose A Workspace repository.
goal:propose A Goal or a configuration revision.
workflow:propose A Workflow, a complete Workflow revision, or a Workflow-linked schedule revision.
playbook:propose A Playbook, an installation, or a coordinated update.
mcp:propose A Connector or a configuration revision.

Coordinated Playbook updates require both playbook:propose and each nested entity's proposal permission. Existing-resource visibility and accepted-version checks still apply.

Workflow and schedule revision approval requires a human with workflow:manage. Immediate revision publication when their autonomy gate disables review also requires the proposing Agent's workflow:manage permission.