# Approve paid actions and review results

> Apply current delegated authority, estimate before spending, use idempotency keys, and stop for review when intent or output is uncertain.

Canonical: https://entirefeed.com/docs/agents/paid-actions-and-review

Connecting an agent does not approve paid execution. Unless the current instruction explicitly delegates autonomous paid work for the relevant scope, the agent should present the estimate and obtain approval before creating a generation or running a workflow.

Approval is an operating instruction, not a separate token or server-side approval gate. Current organization membership, role, and capabilities still determine whether each tool call is allowed.

## Apply current delegated authority

An MCP credential delegates the current user in the organization where the credential was created. Membership, role, capabilities, and revocation are evaluated for every request; creating a credential does not grant additional access.

| Action | Required capability |
| --- | --- |
| Discover and inspect generation | `generations:read` |
| Estimate, create, or retry generation | `playground:run` |
| Prepare a local media upload | `workflows:run` |
| Cancel generation | `generations:cancel` |
| Read, edit, or run workflows | `workflows:read, workflows:manage, workflows:run` |
| Read or edit publishing drafts | `publishing:read, publishing:manage` |
| Schedule, reschedule, or cancel | `publishing:schedule` |
| Read publishing analytics | `publishing:analytics:read` |

## Estimate, then confirm paid work

1. Discover the current task, starter, or workflow contract.
2. Estimate the exact input that would run.
3. Present the estimated amount and intended output unless autonomous paid execution was explicitly delegated for this scope.
4. Create or run only after that decision. A read-only connection test never requires paid work.

Approval is an instruction between the user and agent. There is no separate approval token to pass to a tool, and connection alone is not approval.

## Give every paid write an intent key

- Generate one stable idempotency key for each intended generation create, generation retry, workflow run, or workflow retry.
- Reuse that key only when replaying the same tool call after an uncertain response.
- Use a new key for changed inputs, a new run, or a deliberate retry because each is new paid work.
- Publishing mutations do not accept idempotency keys. Re-read the post or scheduled action before repeating one.

## Stop at review boundaries

- Review generated assets, structured output, final usage, and errors before feeding output into another paid action.
- Review workflow output and the current workflow hash before edits, pins, unpins, or another run.
- Require explicit account, media, caption, time, and timezone confirmation before scheduling, rescheduling, or cancelling publication.
- Stop and ask when intent is ambiguous, the estimate changed, the requested capability is unavailable, or a resource requires manual review.
