Action Confirmations
How Confirmations Differ by Channel
How an Action tool is confirmed and executed depends on the channel the agent runs on. The agent still decides which action to take the same way everywhere; what changes is whether a human clicks a card first.
| Channel | Behaviour |
|---|---|
| Internal (Salesforce UI) | Shows a confirmation card; the action runs only after the user clicks Confirm. This is the experience described throughout this article. |
| External Widget & Community | Auto-executes the action (no card), then the agent automatically takes a follow-up turn and reports the real outcome — e.g. “I’ve created Case #00001234.” If the action fails, it says so honestly rather than implying success. The number of automatic follow-up turns the agent can take in a row is capped by a platform setting to prevent runaway loops. |
| API / Flow | With autoExecuteActions=true the action executes silently — no card, no narration; the calling Flow handles the result. |
What is an Action Confirmation?
An Action Confirmation is a user interface card that appears before the AI executes any Action category tool (tools that modify or create Salesforce data). The confirmation card shows:
- Action Type — What operation will be performed (e.g., "Create Task", "Send Email", "Update Record")
- Key Details — The main field values that will be created or changed
- Confirmation Buttons — "Confirm" (proceed) or "Cancel" (abort)
This safety mechanism prevents users from accidentally having the AI create records, send emails, or modify data without explicit approval.
When Confirmations are Required
Confirmation cards appear for Action category tools:
| Tool | Confirmation? | What's Shown |
|---|---|---|
| create_record | Yes | Object type, main fields (Name, Stage, Amount, etc.) |
| update_record | Yes | Record name/ID, which fields will be changed and new values |
| delete_record | Yes | Record name/ID, confirmation that it will be deleted |
| send_email | Yes | Recipients, subject, preview of email body |
| create_task | Yes | Subject, due date, priority, assigned to |
| create_event | Yes | Event title, start/end time, attendees, location |
| send_custom_notification | Yes | Notification title, body, and who it goes to |
| link_file_to_record | No | N/A — attaches an existing file to a record without a card |
| continue_workflow | No | N/A — requests one more autonomous turn (API channel only); it changes no data itself |
| schedule_action | No (Exception) | N/A — executes silently |
Read-only tools (soql_query, get_record, describe_object) never require confirmation because they don't modify data.
The Confirmation Card User Experience
Here's what the user sees and experiences:
-
User Requests an Action
User types: "Create a task for me to follow up with John Smith next Tuesday, priority high."
-
AI Decides to Call Tool
The AI determines that create_task is the right tool for this request.
-
Confirmation Card Appears
Instead of immediately creating the task, a confirmation card displays in the chat window showing:
- Action: "Create Task"
- Subject: "Follow-up: John Smith"
- Due Date: [Next Tuesday's date]
- Priority: "High"
- Buttons: "Confirm" and "Cancel"
-
User Reviews and Approves
The user reads the confirmation, verifies the details, and clicks "Confirm" if correct.
-
Action Executes
REDA AI executes the create_task tool and returns a success message in the chat.
-
Alternative: User Cancels
If the user notices an error, they click "Cancel". The task is not created, and the AI may ask the user to clarify or try again.
Confirmation Card Design
Confirmation cards are rendered in the REDA AI chat UI and are designed for clarity:
- Clear Labeling — "Action Type:" and "Details:" sections
- Readable Layout — Fields and values are easy to scan
- Bold Confirmation Buttons — "Confirm" (usually green/positive) and "Cancel" (gray/neutral)
- No Auto-Confirm — The user must actively click to confirm; there's no timeout or automatic approval
Custom actions show their details too. A confirmation card built for one of your own Apex Class tools now lists the values the agent intends to use, in the same layout as a built-in action, instead of naming the action alone. This matters because a confirmation you cannot read is not a decision — approving “Create Work Order” without seeing which property, which vendor and which amount is just clicking Confirm. Nothing about when a confirmation is required has changed; only what the card shows you before you approve it.
schedule_action Exception
Of the three tools that skip the card, schedule_action is the one worth explaining — it is the one that most looks like it should need one. It executes without a card because:
- schedule_action schedules a future action (not immediate)
- The user can cancel or modify the scheduled action afterward
- It doesn't immediately modify production data
Example: "Schedule an email to be sent to the client tomorrow at 10 AM" — the schedule_action executes immediately (scheduling the future email), but no confirmation is required because the action hasn't yet happened.
Automated Execution Without Confirmation
When the agent is invoked from Salesforce Flow with the parameter autoExecuteActions=true, Action tools execute without confirmation cards. This is useful for:
- Automated Workflows — Flows that need to create records without user interaction
- Batch Operations — Processing multiple requests without manual approval
- Backend Integrations — API-based agent usage where no UI confirmation is possible
When autoExecuteActions=true, the AI assumes the request has already been validated and executes actions silently.
What Happens If User Cancels?
If the user clicks "Cancel" on a confirmation card:
- The Action tool is NOT called
- No data is created, updated, or deleted
- The AI receives a "cancelled" status
- The AI informs the user: "Action cancelled. Would you like me to try something different?"
The conversation continues normally. The user can ask the AI to retry with different parameters or request a different action.
Common Confirmation Scenarios
Confirmation shows: Object "Opportunity", Account Name "Acme Corp", Deal Stage "Qualification", Amount "$50,000", Close Date "March 31, 2026".
Confirmation shows: Recipients "john@example.com, jane@example.com", Subject "Project Update", Body preview (first 100 chars).
Confirmation shows: Record "Opportunity: Acme Deal", Changes: "StageName: Proposal → Negotiation/Review", "Probability: 50% → 75%".
Confirmation shows: Warning "Delete Case #001234", with confirmation required because deletion is destructive.
Best Practices for Confirmations
Educate users that confirmation cards are critical safety checkpoints. Train them to read the details carefully before clicking "Confirm".
Prompt the AI Appropriately — When asking the AI to create or modify data, be as specific as possible. Example: "Create a task with subject 'Follow-up', due date tomorrow, priority High" instead of "Create a task" (too vague).
Monitor for Cancellations — If users are frequently cancelling confirmations, the AI may not understand their requests correctly. Review the prompts and Schema instructions to improve accuracy.
Troubleshooting Confirmation Issues
If an Action tool is called but no confirmation appears, check that the tool is actually an Action category (not a Tool category). Verify the agent configuration is correct.
Confirmation Details are Incomplete or Wrong — The AI may not be interpreting user requests correctly. Use Custom Prompts to provide clearer Action instructions. Example: "When creating a task, always include the subject, due date, and priority."
Users Cancelling Too Often — The AI may be suggesting incorrect field values. Add Schema prompts to provide context on field picklist values, or refine Custom Prompts to guide the AI better.
Clearer email, record and scheduled actions
Email actions distinguish a Contact or Lead recipient from the related business record, support To/Cc lists, and check the supported recipient opt-out cases. Contact/Lead values supplied as related records are handled as recipients instead of invalid activity links. Record confirmations surface fields that were not applied, rather than silently implying success. Plan steps are reconciled one-to-one; relative scheduled times retain UTC correctly. Disabled agents and disallowed nested actions are checked before confirmed execution. File-link confirmation reuses the supported access-aware path. New Pending or rescheduled time-based actions require a runnable scheduled processor; email-reply tracking and ordinary history/status updates remain valid. Delayed jobs run as their scheduler owner, not by impersonating the requestor. Host guidance reduces duplicate use of another email/calendar connector; it cannot guarantee the host's behaviour.
Frequently Asked Questions
Not globally. Confirmation cards are a built-in safety feature of Action tools. However, you can disable confirmation programmatically when using the agent in Flows with autoExecuteActions=true. For interactive chat, confirmations are always shown.
The action executes. However, if the user realizes the mistake immediately, they can often undo it (depending on the action). For example, if they accidentally created a record, they can delete it right away. For sent emails, undo is not always possible.
Three of them: schedule_action, link_file_to_record and continue_workflow all have Requires Confirmation off. Every other Action tool - create_record, update_record, delete_record, create_task, create_event, send_email and send_custom_notification - requires it.
There's no time limit. The confirmation card remains on screen until the user clicks "Confirm" or "Cancel". The user can take as long as they need to review the details.
Next Steps
Explore context fields to provide more data context to your agent, or learn about data access and permissions to understand security controls.