Skip to main content

Workflow Approvals

What it is

Workflow Approvals add human review checkpoints to automated workflows. When a workflow reaches an approval step, it pauses execution and notifies the designated approver or approvers. The workflow resumes only after the approver accepts or rejects the pending item. This creates a controlled gate within your automation where a real person must review the data, content, or action before the workflow proceeds.

Approval steps are essential for scenarios where full automation is too risky. For example, sending a promotional campaign to 100,000 contacts, publishing content that references legal terms, or assigning a high-value lead to a specific sales rep. In each case, a human checkpoint ensures accuracy and compliance before the automated process continues. The approval mechanism integrates with BotBat's notification system so approvers receive alerts via email, in-app notifications, or both.

Each approval step tracks a full audit trail: who requested the approval, when the request was created, who approved or rejected it, when the decision was made, and any comments the approver attached to their decision. This audit trail is visible in the workflow's execution history and can be exported for compliance reporting.

When to use

Approval steps are appropriate whenever the consequences of an automated action are significant enough to warrant human review. Below are the most common scenarios, though you can add approval steps to any workflow where a pause-and-review pattern is valuable.

  • Campaign send-off: Require manager approval before a workflow sends a high-value or large-audience campaign. The approver can review the message content, audience segment, and send time before authorizing the dispatch.
  • Compliance and legal review: Insert an approval step before publishing content to customers that may contain regulatory language, pricing information, or contractual terms. The compliance team reviews and either approves or sends the content back for revision.
  • Quality assurance for auto-assignment: Add an approval checkpoint before the workflow auto-assigns conversations to agents. A team lead reviews the assignment logic and confirms that the right agent is being matched to the right conversation.
  • Escalation gating: Use approval steps as escalation gates where a senior team member must authorize before the workflow performs a sensitive action such as issuing a refund, modifying a subscription, or deleting data.
  • Content approval for chatbot responses: When a workflow generates or selects chatbot responses dynamically (for example, from an AI model), require a human to review the generated response before it is sent to the customer.

Step 1: Navigate to workflows

Click "Workflows" in the main navigation sidebar to open the workflow management page. From here you can create a new workflow or open an existing one for editing. Approval steps can be added to any workflow regardless of its trigger type. If you already have a workflow that needs an approval gate, open it directly; otherwise, click "Create Workflow" to start fresh.

Step 2: Add an approval step to the canvas

In the Studio editor, open the node palette on the left side and find the "Human Approval" node under the Actions category. Drag it onto the canvas and position it at the point in your workflow where you want execution to pause for review. Connect the upstream node's output port to the approval node's input port.

Workflow editor open with an approval node added to the canvas

The approval node appears on the canvas with two output ports: "Approved" and "Rejected". You must connect both output ports to downstream nodes so the workflow knows what to do in each case. For example, the "Approved" port might connect to a Send Message node, while the "Rejected" port connects to a notification node that alerts the campaign owner about the rejection.

You can add multiple approval steps within a single workflow. For instance, a content creation workflow might have one approval step for the marketing team and a second approval step for the legal team, each with different approvers and timeout policies.

Step 3: Configure the approval step

Click the approval node on the canvas to open its configuration panel on the right side. The panel contains several sections that control who approves, how long they have, and what happens when the timeout expires.

Approval step selected with configuration panel open on the right showing approver, timeout, and notification settings

The following table describes each configuration field in the approval step.

FieldDescriptionRequired
Approver typeChoose who should approve: a specific user, a team, or a role. When you select a team or role, any member of that group can act on the approval.Yes
Approver selectionThe specific user, team, or role to assign as approver. Start typing to search, or browse the dropdown.Yes
Timeout durationHow long the approval request remains pending before the timeout action triggers. Enter a number and select the unit (minutes, hours, or days).No (defaults to no timeout)
Timeout actionWhat happens when the timeout expires without a decision. Options: Auto-approve (workflow continues as if approved), Auto-reject (workflow continues down the rejected path), Escalate (sends the approval to a fallback approver).Required if timeout is set
Escalation approverThe fallback user, team, or role that receives the approval if the primary approver times out. Only visible when timeout action is set to Escalate.Required if escalation is chosen
Notification messageA custom message sent to the approver explaining what they need to review. Supports workflow variables such as {{contact.name}} and {{trigger.message.text}}.No (a default message is used)
Require commentWhen enabled, the approver must enter a comment explaining their decision before they can approve or reject.No (defaults to off)

It is strongly recommended to always set a timeout duration. Without a timeout, the workflow will wait indefinitely for a response. If the designated approver is on leave, out of office, or simply does not notice the notification, the workflow (and the contact it is processing) will be stuck at the approval step with no way to proceed automatically.

Step 4: Define approval and rejection branches

Connect the "Approved" output port to the nodes that should execute when the approver accepts the request. Connect the "Rejected" output port to the nodes that should execute on rejection. Each branch can contain as many nodes as needed, including additional approval steps, conditions, messages, and API calls.

A common pattern for the rejection branch is to send a notification to the workflow owner or the content author explaining that the approval was denied, along with the approver's comment (if comments are required). The author can then revise the content and re-trigger the workflow. You can also use a Condition node after the rejection to check the rejection reason and route to different remediation paths.

For the approved branch, you typically proceed with the core action that needed authorization, such as sending the campaign, assigning the conversation, or updating the external system. You may also want to log the approval event by making an API call to your audit system.

Step 5: Review pending approvals

When a workflow execution reaches an approval step, the designated approver sees the pending item in their Approvals inbox. The Approvals inbox is accessible from the main sidebar under Workflows, or via the notification bell icon in the top navigation bar. Each pending item shows the workflow name, the requesting contact or context, the custom notification message, and action buttons for Approve and Reject.

Approvals inbox showing multiple pending items with approve and reject buttons

Approvers can click into a pending item to see the full context: the workflow execution trace up to the approval step, the data that has been collected so far, and any attachments or previews (for example, a preview of the message that will be sent upon approval). If the "Require comment" option is enabled, a text field appears where the approver must enter their rationale before submitting their decision.

Once an approver acts on a pending item, the workflow resumes immediately down the corresponding branch. The decision, the approver's identity, the timestamp, and any comments are recorded in the execution history for audit purposes.

Step 6: Activate the workflow

After configuring and testing your approval steps, toggle the workflow to "Active" using the button in the Studio toolbar. The workflow will now process trigger events and pause at approval steps as designed. Monitor the Approvals inbox and the Executions tab regularly to ensure approvals are being handled promptly and the workflow is completing as expected.

You can test approval workflows using the simulator before activating. The simulator will pause at the approval step and let you simulate an approve or reject decision, so you can verify that both branches execute correctly without involving real approvers.

Common pitfalls

Approval steps introduce a human dependency into an otherwise automated process. The following pitfalls are the most common issues teams encounter when using workflow approvals.

  • Missing approvers: If the designated approver is unavailable (on leave, account deactivated, or removed from the team), the approval waits indefinitely unless a timeout is configured. Always set a timeout with an escalation path to a backup approver or a fallback action.
  • Notification settings disabled: Approvers must have notifications enabled to receive approval requests. If an approver has turned off email and in-app notifications, they will not know an approval is waiting for them. Verify notification settings in Settings > Notifications, and remind your team to keep approval notifications active.
  • Circular approval loops: Avoid creating workflows where a rejected item re-triggers the same approval step without any change. This creates an infinite loop of approve/reject cycles. Use a counter variable to track how many times an item has been rejected, and exit the workflow or route to a manual review queue after a maximum number of attempts.
  • Too many approval steps in one workflow: While multiple approval steps are supported, each one adds latency and a potential stall point. Consolidate approvals where possible. For example, instead of separate approvals for marketing and legal, consider a single approval step assigned to a cross-functional review team.
  • Not using the require-comment option: Without required comments, approvers can reject items with no explanation, leaving the original author unsure what to fix. Enable the "Require comment" option on rejection-sensitive workflows to ensure every decision is documented.
tip

Set up a shared "Approvals" team in your workspace and assign it as the fallback escalation approver for all workflow approval steps. This ensures that even if the primary approver is unavailable, someone on the team will handle the pending item.

  • Add Approval Step
  • Configure Approver
  • Timeout Settings
  • Approval Branching
  • Pending Approvals Inbox
  • Approval Audit Trail