PromptOps (Beta)
PromptOps (Prompt Operations) is the AI assistant in the console. Tell it what you need, in English or Arabic, and it does the work in the workspace you're in: it looks things up, creates and changes what you ask for, and shows every step as it goes.
It works as you. Every action runs the same route the console calls, with your role in that workspace, so it can never do more than you can, and it asks before it changes anything. It uses the same tools as an AI agent connected over MCP, with no client to set up.
PromptOps is in beta, and off until a workspace turns it on.
Turn it on
PromptOps is off in every workspace until one of its owners or admins switches it on in Settings → PromptOps. The same page holds the permission matrix. Switching it off there stops it at once, for every member of the workspace.
Open it
In a workspace that has PromptOps on, click PromptOps in the console's top bar, or press ⌘J on a Mac or Ctrl+J elsewhere. The chat opens beside the page you're on.
- A conversation belongs to one workspace, the one you started it in. To work in another workspace, switch to it and start a new conversation there.
- Your conversations are yours. Other members of the workspace don't see them. Earlier ones are listed in the chat's history: open one to carry on, or delete it. Deleting a conversation doesn't undo the changes PromptOps made.
- Replies stream in as they're written. Stop ends one early, and New chat starts over.
- Every step shows as it happens, such as List instances or Check quota usage. A change it makes is recorded like one you make yourself.
What to ask
Say what you want done, with the names you see in the console:
| Ask | What happens |
|---|---|
| "What's running in this workspace, and is anything failing?" | Lists your instances, apps and clusters with their status |
| "Why didn't orders-db start? Check its provisioning log." | Reads the log and explains the step that failed |
| "How much of our quota is left?" | Reads the workspace's quota and usage |
| "Create a PostgreSQL instance called orders-db." | Prepares it and asks you to approve |
| "Back up orders-db before I run the migration." | Asks, then takes a backup |
| "Restart cache-1." | Asks, then restarts it |
| "Let 203.0.113.0/24 reach orders-db on port 5432." | Asks, then adds the inbound rule |
| "Scale the workers pool of the prod cluster to 4 nodes." | Asks, then scales the pool |
| "Redeploy storefront." | Asks, then redeploys the app |
| "Show the 10 newest rows of the orders table." | Asks before it reads the table, then runs the query |
| "How do I connect to a private instance from my laptop?" | Answers from these docs, with links |
Arabic works the same way:
- «ما الذي يعمل في مساحة العمل هذه؟ وهل يتعثّر شيء منه؟»
- «أنشئ نسخة PostgreSQL باسم orders-db.»
- «خذ نسخة احتياطية من orders-db قبل أن أبدأ الترحيل.»
A few habits get better results:
- One task per message, or a short list of steps in order.
- Exact names, such as
orders-db, rather than "my database". - Check what happened. After a change, ask it to read the instance back: a create or a resize is accepted at once and finishes in the background, as in the console.
Think harder
For a complex request, such as a change across several resources, turn on Think harder beside the message box before you send it. PromptOps then plans more carefully and takes longer to answer, and the message counts as several requests.
The permission matrix
Each workspace decides what PromptOps may do in it. Rows are areas, columns are View, Create, Change and Delete, and each cell is one of:
- Run: it goes ahead and shows you that it did.
- Ask first: it stops and shows you a confirmation with exactly what it's about to do. Nothing happens until you approve.
- Off: it can't do that at all, and the action is hidden from it.
Every workspace starts with these defaults:
| Area | View | Create | Change | Delete |
|---|---|---|---|---|
| Workspace: overview, quota, usage, notifications, quota requests | Run | Ask first | — | — |
| Instances: databases, caches, message brokers, virtual machines, game servers | Run | Ask first | Ask first | Ask first |
| Database data: SQL queries | Ask first | — | Ask first | — |
| Backups: restoring one counts as Delete | Run | Ask first | — | Ask first |
| Networks | Run | — | — | — |
| SSH keys | Run | Ask first | — | Ask first |
| Certificates | Run | Ask first | Ask first | Ask first |
| Firewall: inbound rules and instance access | Run | Ask first | Ask first | Ask first |
| Load balancers | Run | Ask first | Ask first | Ask first |
| Web apps: how an app runs, redeploys | Run | — | Ask first | — |
| Kubernetes | Run | Ask first | Ask first | Ask first |
A dash means PromptOps has no such action in that area.
In short: looking runs, and every change asks first. Reading database data asks first too, because the rows it reads are sent to the AI provider to answer you (see Privacy).
Fixed safety rules
Some cells can never be set to Run, in any workspace:
- Delete always asks first, in every area, restoring a backup included.
- Firewall changes always ask first: adding, changing and removing inbound rules, and making an instance public or private.
- Database writes always ask first.
- Opening access always asks first: making a container registry public or private, and changing who may reach a Kubernetes cluster's API or a load balancer's listener.
Any of these can still be set to Off. The platform can also hold a cell below Run for every workspace; the settings page shows the choices you have.
Who can change it
Workspace owners and admins change the matrix in the workspace's Settings → PromptOps, with a dropdown per cell and Reset to defaults. Everyone else in the workspace sees it read-only.
A change applies to the next action, including one already waiting for approval: if its cell was set to Off in the meantime, approving it is refused.
Your role still applies
The matrix can narrow what PromptOps does, never widen your role. Whatever a cell says, it acts with your role in the workspace: a viewer's PromptOps only looks, and a developer's can't change what developers can't, such as load balancers or certificates. See Workspaces & roles.
Confirmations
When an action needs your approval, the chat shows a card:
- What it's about to do, such as Create an instance, and the values it will use: name, engine, size, port. Read them: approving runs exactly that.
- Approve runs it, and PromptOps carries on with your request. Decline cancels it, and PromptOps is told you said no.
- Deleting is shown in red.
- A card waits for a limited time. Once it has expired, been decided or been replaced by a newer request, it can't be approved any more: ask again.
What it can never do
These are out of its reach, whatever the matrix and your role say:
- Anything in another workspace, other workspaces you belong to included.
- Your account: your password, email address, two-step verification, passkeys and sessions.
- Billing: plans, payment methods and invoices.
- The workspace's people: members, invitations, roles and ownership, and who has access to a Kubernetes cluster.
- Keys: API tokens and connected apps.
- Secrets: instance passwords and connection details, kubeconfigs, and apps' environment variables. It can't read or set them, so they never reach the AI provider: you set a password or a certificate's private key on its console page.
- Turning off a cluster's deletion protection. It can turn it on, never off.
- The web. It reads your workspace and these docs, nothing else.
- Support sessions. When our support team works in your account, PromptOps isn't available to them.
These stay in the console, signed in as you.
Privacy
Nothing is sent to the AI provider from a workspace that hasn't turned PromptOps on. Once it's on, to answer you, PromptOps sends the AI provider:
- your messages and the conversation so far; a long conversation is summarised, so older messages are sent shorter;
- what it reads for you: names, statuses, settings, metrics and log lines, and rows from a database query, which by default it asks you about first;
- the passages of these docs it found.
It never sends passwords, connection details, kubeconfigs or environment variables, since it can't read them, and nothing from your other workspaces, your account or billing.
- We don't log what you write or what it answers. Our logs keep only counts and timings.
- Conversations are kept for 30 days, then deleted. Delete any conversation yourself at any time, from the chat's history.
- Our team never reads your conversations. We see usage only: how many messages and tokens, and what they cost.
Daily requests and buying more
- Each person has a daily number of requests. Every message you send uses one, and a message with Think harder on counts as several. The count starts again every day.
- Workspace owners and admins can buy more, in request packs, from the console: Settings → PromptOps → Buy more.
- Bought requests belong to the workspace. Everyone in it shares them, and they're used only once a person's daily requests have run out.
- Each purchase is confirmed by email. Until online payment is available, we confirm every purchase with you by email.
Limits
| Requests per person | 10 a minute and 200 a day (30 on the Free plan), then the workspace's bought requests |
| Per workspace | A daily and a monthly allowance, shared by its members |
| Message length | 4,000 characters |
| Steps per message | Up to 10 actions; then it stops, and you can ask it to carry on |
| Conversations | Kept for 30 days |
These are the platform's defaults; it may set others.
Troubleshooting
| What you see | What it means |
|---|---|
| PromptOps isn't available | It's off in your workspace until an owner or admin switches it on in Settings → PromptOps. It may also not be offered to your workspace yet, or your access to the workspace may not include it. It's never available in a support session. |
| Limit reached | You've used today's requests and the workspace has no bought ones left, or a workspace allowance is spent. Daily requests start again the next day, and owners or admins can buy more. |
| It asks to confirm every time | That's the matrix. An owner or admin can set the cell to Run, except for the fixed safety rules. |
| It says it can't do that | The cell is Off, your role doesn't allow it, or it's something it never does. Do it in the console. |
| The confirmation expired | It waited too long, or a newer request replaced it. Ask again. |
| PromptOps couldn't answer | Try again in a moment. |
| Your message is too long | Split it into shorter messages. |
| A reply is already being written | Wait for it to finish, or press Stop. |
Ask the docs
These docs have an assistant of their own. Ask the docs, in the corner of every docs page, answers questions from the documentation, with links to the pages it used. It needs no account and sees nothing in your workspace: it sends the AI provider only your question and the passages of these docs it found. It's shown only while it's switched on, and the number of questions is limited per address.
Next steps
- MCP for AI agents — the same tools, from your own AI agent
- Workspaces & roles — what each role can do
- Instance network — the inbound rules and access that PromptOps always asks about first