Skip to content

AI assistants

Permissions and approvals

What an assistant may do on each level, which changes wait for a person, who approves them, and how to switch an assistant off.

Three things decide what an assistant can do in your workspace: the workspace's rules, the connection's level and your role, and the permissions you set in the assistant itself. Whatever they allow, changes that reach your end users, workspace settings and deletions always wait for a person to approve them in PlayStep.

Levels

You pick a level on the consent screen when you connect. Build drafts is the default.

LevelRuns at onceBecomes a request
Read onlyReading guides, analytics, anchors, clips, AI analyses, members, usage and billing; preview linksNothing: the assistant sees no tools that change things
Suggest changesThe same readsEvery change, drafts included
Build draftsThe same reads, and draft changes: creating and editing guide drafts, clip links and Generate with AIChanges that reach end users, workspace settings and deletions

Change a connection's level any time in Settings › AI assistants. On someone else's connection, owners and admins can only lower it: raising it is up to the person who connected. A level is never above the workspace's maximum: when an owner or admin lowers the maximum, every connection above it drops to it on its next call.

Kinds of change

Every change an assistant can ask for is one of 4 kinds. A request shows its kind as a badge, and waits a set time for someone to decide.

KindExamplesWaits
Draft changeCreate, edit or duplicate a guide draft; add a clip link; crawl a page, suggest tours, create a draft from a suggestion or dismiss one72 h
Reaches end usersPublish, roll back, pause, resume or unpublish a guide; turn the kill switch or the help launcher on or off72 h
Workspace settingRename the workspace; add or edit an app; rotate keys; invite someone, change a role or remove someone; set the spend cap24 h
Cannot be undoneDelete a guide, a clip or an app24 h

Draft changes are requests only on Suggest changes. The other 3 kinds are always requests.

A request nobody decides in time expires and changes nothing; the assistant can ask again. Asking for exactly the same change while the first request is waiting returns the first request, not a second one.

Who approves

RequestWho can approve or reject it
Draft changeOwners, admins, and the person whose assistant asked
Reaches end users, workspace setting, cannot be undoneOwners and admins
The spend capOwners

Everyone in the workspace can see requests under Settings › Approvals. A new request shows in the workspace inbox; for anything but a draft change, owners and admins get an email too (owners only for the spend cap). An assistant that asks for several changes in a row sends one email for them, and the rest are in the inbox. The assistant gives you the review link as well.

Approving a request

Open the request from the inbox, the email, the assistant's link or Settings › Approvals. It shows:

  • what the change does, in words PlayStep writes from the change itself, never in the assistant's own words,
  • which assistant asked, for whom, and in which app,
  • Open the guide, for changes to a guide,
  • Show exactly what runs: the tool and the values it is called with.

Approve applies the change right away, as you. For a deletion, you type the name of what is deleted to confirm. Reject changes nothing; you can give a reason, and the assistant sees it when it checks. If you asked for a draft change yourself, you can Withdraw it.

Before applying, PlayStep checks again that the target still exists and the change can go ahead. If it cannot, the request ends Failed with the reason.

StatusMeans
WaitingNobody has decided yet.
ApplyingApproved, and PlayStep is applying it. It ends Applied or Failed within moments.
AppliedApproved and done.
Rejected or CancelledNot done: rejected, withdrawn, or cancelled because the assistant was disconnected, assistants were turned off or no longer allowed for that person, or the person who asked left the workspace.
ExpiredNobody decided in time.
Changed sinceApproved, but the guide changed after the assistant asked (or its app was deleted and added again), so nothing was applied.
FailedApproved, but it could not be applied. The request says why.

When the guide changed first

When an assistant asks to edit or publish a guide, the request remembers the draft as it was. If anyone changes that draft before the request is approved, approving applies nothing and the request ends Changed since, so a publish never ships a draft the approver did not see. Ask the assistant to read the guide again and make a new request.

The same protection applies to edits that run at once: an assistant saves a draft only if nobody changed it since the assistant read it.

Roles

An assistant works with the role of the person who connected it.

RoleSees
MemberRead tools, draft changes, changes that reach end users, and deleting guides and clips, each as the level allows. Never the admin tools for apps, keys, members and the workspace name.
AdminEverything a member sees, and the admin tools.
OwnerEverything, including the spend cap.

When someone approves a request, the change runs as the person who approved it.

Workspace rules

Owners and admins set these in Settings › AI assistants › Workspace rules.

RuleChoicesTo start with
Allow AI assistantsOn or off. Off: nobody can connect one, and connected ones stop working at once.On
Which assistantsClaude (web, desktop and mobile), ChatGPT, and other MCP clients (Claude Code, VS Code, Codex and more)All 3
The most an assistant may doRead only, Suggest changes or Build draftsBuild drafts
Who may connect oneEveryone in the workspace, or owners and adminsEveryone

The rules apply on every call, not only when connecting: connected assistants follow a change from their next call. For example, switching Who may connect one to owners and admins also stops members' assistants that are already connected.

Secret keys

When an approved request adds an app or rotates keys, the person who approved it sees the new secret keys once, in PlayStep, right after approving. They are never stored with the request and never sent to the assistant, which gets the publishable keys only. Anything that looks like a secret, token or password is removed from what tools return. See Keys.

Disconnecting

Settings › AI assistants › Connected assistants lists every connection with its person, apps, level and when it was last used. Members see and manage their own; owners and admins see and manage everyone's.

Disconnect stops an assistant at once: its next call is refused, it cannot renew its sign-in, and its requests waiting for approval are cancelled. Connecting it again goes through the consent screen.

Activity log

Settings › AI assistants › Recent activity lists every tool call: when, which assistant and person, the tool, and the result (Done, Asked for approval or Failed). It keeps the ids and choices a tool was called with (app, guide, environment, version, the email of someone invited and the like), never the text the assistant sent. Members see their own calls; owners and admins see everyone's. The latest calls show first; Show older goes further back. We keep the log for 90 days.

Permissions in your assistant

Your assistant adds its own layer on top of PlayStep's:

  • Claude: per-tool permissions in the connector settings. In Claude Code, /permissions (for example mcp__playstep__guide_list).
  • ChatGPT: asks you to confirm before it uses a tool that changes something.
  • Other clients: most ask before each tool call, and many let you allow tools one by one.

PlayStep marks every tool for your assistant: read tools as read-only, and changes that reach end users, settings and deletions as destructive, so assistants know which ones need care. The tool reference has the details.

Allowing a tool in your assistant never skips PlayStep's approval: a publish allowed in Claude still waits under Settings › Approvals.

Text from tools is data

Everything tools return (guide text, names, page text found by a crawl) comes from your workspace or the web. PlayStep's instructions tell every assistant to treat it as data and never as instructions. Because request summaries are written by PlayStep from the change itself, a request cannot describe itself as something it is not.

Search the docs and guides.

PlayStep is coming soon

We're opening PlayStep to teams one at a time. Leave your name and email and we'll set up a demo.

We use your email only to arrange the demo. See the privacy policy.