Skip to main content

Permissions and Access Control

Access in FluidGrids is role-based. Every request the web app, the CLI, the SDKs, the MCP server, webhooks or your own scripts make is checked at the API gateway against the caller's roles in the workspace. The app only hides what the gateway would refuse anyway, so a hidden menu item is never the only thing standing between a user and a resource.

This page is the administrator's reference. For what each role sees day to day, see Roles and Permissions.

How a permission is decided​

  1. Roles are assigned per workspace. A person can hold different roles in different workspaces, and several roles in the same workspace.
  2. A role grants a level on each resource type. The levels are Viewer, Editor and Admin. A role that does not list a resource type has no access to it.
  3. Each action needs a minimum level. As a rule, reading and listing need Viewer; creating, updating, running and retrying need Editor; and deleting needs Admin. A few actions differ: publishing a workflow and revealing a workflow variable's value need Admin, and even reading log-stream destinations or secrets-provider settings needs Editor.
  4. Several roles add up. The highest level any of your roles grants on a resource type is the one that applies.

Activating and deactivating a workflow version are updates, so any role with Editor on workflow can do them.

Workspace owners and workspace admins hold every permission in their workspace, whatever product roles they also have.

The six FluidGrids roles​

The tables below are generated from the FluidGrids role catalog, the same definitions the gateway enforces.

RoleWhat it is for
FluidGrids Automation OwnerFull control of FluidGrids in this workspace, including the connector registry, execution usage, and automation settings.
FluidGrids Automation LeadApproves, activates, and retires workflow versions, arms triggers and schedules, and governs day-to-day automation change.
FluidGrids Workflow DesignerBuilds workflows on the canvas, configures nodes and triggers, and test-runs drafts, without deleting published automations.
FluidGrids Integration EngineerCurates the connector catalog, registers custom node endpoints and operations, and works the submitted node-package queue.
FluidGrids Run OperatorTriages failed runs, retries nodes and webhook deliveries, cancels runaway executions, and pauses schedules.
FluidGrids Automation AuditorReviews workflow designs, trigger configuration, and execution history as read-only evidence, changing nothing.

Access by resource​

Each cell is the level the role holds on that resource type. — means the role has no access to it at all.

ResourceAutomation OwnerAutomation LeadWorkflow DesignerIntegration EngineerRun OperatorAutomation Auditor
ai-promptAdminAdminEditor———
ai-workflowAdminAdminEditor———
artifactAdminAdminEditor———
chat-messageAdminAdminEditor———
chat-sessionAdminAdminEditor———
dashboardViewerViewerViewerViewerViewerViewer
data-tableAdminAdminEditor—ViewerViewer
data-table-rowAdminAdminEditor—Editor—
event-filterAdminAdminEditor—ViewerViewer
event-registrationAdminAdminEditor—EditorViewer
log-stream-destinationAdminAdmin—Admin——
nodeAdminViewerViewerAdminViewerViewer
node-endpoint-configAdminViewerViewerAdminViewerViewer
node-installationAdminViewerViewerAdminViewerViewer
node-stateAdminAdminEditorViewerEditorViewer
operation-configAdminViewerViewerAdminViewerViewer
scheduled-jobAdminAdminEditor—EditorViewer
searchViewerViewerViewerViewerViewerViewer
secrets-provider-configAdminAdmin—Admin——
submissionAdminViewer—Admin—Viewer
system-configAdmin—————
tool-approval-requestAdminAdmin——Editor—
usageAdminViewer———Viewer
webhook-deliveryAdminAdminViewer—EditorViewer
workflowAdminAdminEditorViewerViewerViewer
workflow-runAdminAdminEditorViewerEditorViewer
workflow-static-dataAdminAdminEditor—Editor—
workflow-variableAdminAdmin—Admin——

What the resource types cover​

ResourceCovers
workflow, workflow-variable, workflow-static-dataWorkflow definitions and their versions, variables, and the data a workflow keeps between runs
workflow-run, node-stateRuns, and the state of each node in a run (retrying a node)
event-registration, event-filter, webhook-delivery, scheduled-jobTriggers: webhook registrations and their filters, webhook deliveries, and schedules
node, node-installation, node-endpoint-config, operation-config, submissionThe node catalog, installed store nodes, custom node endpoints, per-operation settings, and node packages submitted for review
ai-prompt, ai-workflow, chat-session, chat-message, tool-approval-requestThe FluidGrids AI assistant, its chats, and approvals for tools it wants to run
artifact, data-table, data-table-rowGenerated artifacts (code, data, documents, images), and data tables with their rows
log-stream-destination, secrets-provider-config, system-configWhere run logs are streamed, external secrets providers, and module-wide system configuration
dashboard, search, usageThe dashboard, search, and execution usage

Credentials (integration connections) and the vault are platform features with their own permissions; see Credentials.

Assigning roles​

  1. Open Permissions in the Workspace Modules group of the sidebar.
  2. Find the member and add one or more of the FluidGrids roles.
  3. The change applies to the member's next request. They may need to reload the app to see their new menu.

Workspace membership itself (inviting people, removing them, creating workspaces) is managed under Administration in the Global Modules group, and group membership under Groups.

Choosing roles​

If the person…Give them
Owns FluidGrids in the workspace, including the connector registry and settingsAutomation Owner
Decides which versions run, and arms triggers and schedulesAutomation Lead
Builds and tests workflowsWorkflow Designer
Curates connectors and custom nodesIntegration Engineer
Keeps runs healthy: retries, cancels, pauses schedulesRun Operator
Reviews designs and execution history without changing anythingAutomation Auditor

Start with the narrowest role that covers the job and add a second role when someone needs more.

When a member is denied​

  • A screen the member's roles cannot use at all is removed from their sidebar.
  • If one widget on a screen needs a permission the member lacks, that widget shows an access message or the toast You don't have permission to do that., and the rest of the screen keeps working.
  • API, CLI and SDK calls fail with a FORBIDDEN error.

To fix it, add the role that grants the level the action needs (see the table above). Do not give someone Automation Owner just to unblock one action.

Next steps​