Skip to content
Agents in Discord
Approvals2026-11-04

An open source Discord agent that asks before it acts

An approval over a Discord request is narrower than it sounds. It covers one exact action, a person decides, and the request expires if nobody answers. Kortix is an open-source CompanyOS, and its agents stop at the gates you set before a write reaches a real system, with every action recorded.

Where each option puts the decision

What each product's own pages say about a person's yes before an action, November 2026.

Kortix
Approval surface
The held call stays with the session, under Approvals and on Review
Scope of one approval
One exact action; a changed detail needs a new approval
Who decides
A project manager, or the person who started the session
Expiry
24 hours, unless the project sets another time
Open source
Yes
Price shape
Free $0, then credits from $50 a month
OoriData Discord-AI-Agent
Approval surface
None in the README
Scope of one approval
No approval step to scope
Who decides
Whoever runs the bot
Expiry
No stated limit
Open source
Yes
Price shape
Installed from source; you pay for hosting
AgentX
Approval surface
None in the deploy walkthrough
Scope of one approval
No approval step to scope
Who decides
Whoever holds the AgentX account
Expiry
No stated limit
Open source
No
Price shape
Free to start; paid plans listed
Beam.ai
Approval surface
An exception route in a Beam workflow
Scope of one approval
The workflow exception, not the tool call
Who decides
The person responsible for the outcome
Expiry
No stated limit
Open source
No
Price shape
No public price; request access
Mava
Approval surface
A human handover in the support inbox
Scope of one approval
One conversation reply
Who decides
A person in the support inbox
Expiry
No stated limit
Open source
No
Price shape
Free, then $39 to $599 a month

The approval card in a Slack or Teams thread

Kortix guide: approval card
When an agent asks for a decision, the card shows the title, a summary, a risk note and buttons, such as Approve and Deny.
Every card also has View in Kortix.
When an agent wants to use a connected tool that needs approval, the card shows what it will do.
A project manager, or the person who started the session, selects Approve or Deny.
https://kortix.com/markdown/docs/guide.md

The card as the Kortix Guide describes it, in the channels section for Slack and Teams threads.

An approval covers one action, once, with an end

A thread in a Discord server can ask an agent for real work. Refund the duplicate charge. Merge the fix. Close the three stale tickets. Each request ends in a call to a system that does not undo easily. Once the agent has done the thinking, the question is who says yes, and to what exactly.

Kortix treats that as an approval rather than a permission level. The connector rules give every action one of three settings, and a held action is a single call with its arguments attached. The Guide is worth reading closely here: "An approval covers one exact action. A changed detail needs a new approval." An agent that prepares a refund of 40.00 and then corrects it to 400.00 has not been approved for the second amount.

Two more properties keep the decision small. "An approval runs the action once. The agent does not send it again." And "A held action expires when nobody decides within 24 hours, unless your project sets another time." Silence is not consent; it is an expiry, and the call does not run.

There is no blanket yes either. The Guide states that there is no "approve everything for this session", so a call that must run unattended needs an Allow rule instead. That is the trade in one line: a standing rule for the routine call, a person for the call that matters.

The decision stays with the session

When the agent needs a decision on a Discord request, the held call stays with the session the thread started. It opens under Approvals in the session header, on Review → Needs you, or through the approval link, and it shows what the app will receive, with private values hidden.

The deciding set is narrow on purpose: a project manager, or the person who started the session. That is a shorter list than a support queue, and it is the right one for an action that came out of a conversation.

In a Slack or Teams thread the Guide goes further and puts an approval card in the thread itself: title, summary, a risk note, Approve and Deny, and View in Kortix on every card. A Discord thread has no such card in the Guide. What it keeps is the attachment, because the request never leaves the session the thread began.

That attachment is what a separate queue loses. The person who knows whether the refund is right is often the one who asked for it, and the session already holds the thread, the plan and the arguments. Keeping the decision on the action means the context travels with the yes.

Allow, Ask, Block: the rules you set decide

Every tool follows one of three rules. Allow runs the action at once. Ask holds it until a person approves or rejects it. Block never runs it. A connector can also be marked sensitive, which puts every action without its own rule behind an approval, reads included. A project can take a careful default instead: reads run, and writes or deletions wait.

"Approval gates you set. Off until you set them." A new project does not ask before a write. The gate exists once someone configures it, per agent and per connector, and the setting sits in the project's files where the next person can read it.

The second gate is a change request

Approvals cover calls to other systems. Changes to the project itself take a different route. An agent that edits a skill, its memory or another agent opens a change request, and a person reviews it on the Review page and selects Ship it.

"Session work reaches main through a change request. Merge is default-deny for agents." An admin can grant the merge capability, and the built-in agent's standing instructions tell it to stop after it opens one, so a person merges in normal use. To require a person every time, remove the merge permission from that agent. Default-deny is the setting; the grant is the deliberate exception.

What the record keeps

"Every action is recorded. Reading, exporting and streaming the audit log depend on the plan." Recording is not gated; access to the log is. The pricing page lists advanced RBAC and audit logs on Enterprise, so check the plan before a review depends on reading the log yourself.

The record is what makes the small gate worth having. A connector records every call it makes, and every action is recorded. Three weeks later, when someone asks why a refund went out, the held call, the decision and the result are still in the session. No one has to remember.

The other options put the decision elsewhere

OoriData's Discord-AI-Agent is a readable bot for chat over MCP servers, and its README covers installing and configuring it, not an approval layer. AgentX deploys an agent built in its builder and ends the walkthrough at /ask in a channel. Beam.ai routes an exception to the person responsible for the outcome inside a Beam workflow. Mava is a support inbox where a person takes over a conversation from the AI reply.

Beam and Mava put a person in the loop, at the workflow exception and at the support reply. Neither attaches the yes to the specific tool call that a Discord thread asked for, which is the unit an agent that refunds, merges or closes actually needs. OoriData and AgentX leave the question to whoever runs the bot.

Questions about the yes before the action

Does the agent keep asking?

No. An approval runs the action once, and the agent does not send it again; a changed detail needs a new approval. There is no approve-everything button, so a call that must run unattended needs an Allow rule.

What happens if nobody answers?

The held action expires after 24 hours, unless the project sets another time. Nothing runs on silence, and the session waits until a person decides.

Can I approve from Discord?

The request stays with the session the Discord thread started. It opens under Approvals in the session header, on Review → Needs you, or through the approval link. The Guide puts the approval card's buttons in Slack and Teams threads.

Set the gate before the first write

Add the Discord app, grant one connector to one agent, and choose the calls that need a person.

Open source · Self-host, VPC or on-prem · Discord, Slack, Teams and Telegram channels